Merging r39652 through r39842 from trunk into vgroup_modifiers.
[blender.git] / source / blender / windowmanager / wm_cursors.h
1 /*
2  * $Id$
3  *
4  * ***** BEGIN GPL LICENSE BLOCK *****
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software Foundation,
18  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19  *
20  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
21  * All rights reserved.
22  *
23  * The Original Code is: all of this file.
24  *
25  * Contributor(s): none yet.
26  *
27  * ***** END GPL LICENSE BLOCK *****
28  */
29
30 /** \file blender/windowmanager/wm_cursors.h
31  *  \ingroup wm
32  */
33
34
35
36
37 #ifndef WM_CURSORS_H
38 #define WM_CURSORS_H
39
40 void wm_init_cursor_data(void);
41
42 #define BC_GHOST_CURSORS 1000
43
44 /* old cursors */
45 enum {
46         CURSOR_FACESEL=BC_GHOST_CURSORS, 
47         CURSOR_WAIT, 
48         CURSOR_EDIT, 
49         CURSOR_X_MOVE, 
50         CURSOR_Y_MOVE, 
51         CURSOR_HELP, 
52         CURSOR_STD, 
53         CURSOR_NONE,
54         CURSOR_PENCIL,
55         CURSOR_COPY
56 };
57
58
59 //typedef struct BCursor_s BCursor;
60 typedef struct BCursor {
61
62         char *small_bm;
63         char *small_mask;
64
65         char small_sizex; 
66         char small_sizey; 
67         char small_hotx; 
68         char small_hoty; 
69
70         char *big_bm; 
71         char *big_mask;
72
73         char big_sizex; 
74         char big_sizey; 
75         char big_hotx; 
76         char big_hoty; 
77
78         char fg_color; 
79         char bg_color; 
80
81 } BCursor;
82
83 #define SYSCURSOR 1
84 enum {
85         BC_NW_ARROWCURSOR=2, 
86         BC_NS_ARROWCURSOR,
87         BC_EW_ARROWCURSOR,
88         BC_WAITCURSOR,
89         BC_CROSSCURSOR,
90         BC_EDITCROSSCURSOR,
91         BC_BOXSELCURSOR,
92         BC_KNIFECURSOR,
93         BC_VLOOPCURSOR,
94         BC_TEXTEDITCURSOR,
95         BC_PAINTBRUSHCURSOR,
96         BC_HANDCURSOR,
97         BC_NSEW_SCROLLCURSOR,
98         BC_NS_SCROLLCURSOR,
99         BC_EW_SCROLLCURSOR,
100         BC_EYEDROPPER_CURSOR,
101         BC_SWAPAREA_CURSOR,
102 /* --- ALWAYS LAST ----- */
103         BC_NUMCURSORS,
104 };
105
106
107 enum {
108         BC_BLACK=0, 
109         BC_WHITE, 
110         BC_RED,
111         BC_BLUE,
112         BC_GREEN,
113         BC_YELLOW
114 };
115
116 #define SMALL_CURSOR    0
117 #define BIG_CURSOR              1
118
119 struct wmWindow;
120 struct wmEvent;
121
122 int wm_cursor_arrow_move(struct wmWindow *win, struct wmEvent *event);
123
124
125 #endif /* WM_CURSORS_H */
126