Blender  V2.59
wm_cursors.h
Go to the documentation of this file.
00001 /*
00002  * $Id: wm_cursors.h 35388 2011-03-07 14:56:19Z ton $
00003  *
00004  * ***** BEGIN GPL LICENSE BLOCK *****
00005  *
00006  * This program is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU General Public License
00008  * as published by the Free Software Foundation; either version 2
00009  * of the License, or (at your option) any later version.
00010  *
00011  * This program is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014  * GNU General Public License for more details.
00015  *
00016  * You should have received a copy of the GNU General Public License
00017  * along with this program; if not, write to the Free Software Foundation,
00018  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00019  *
00020  * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
00021  * All rights reserved.
00022  *
00023  * The Original Code is: all of this file.
00024  *
00025  * Contributor(s): none yet.
00026  *
00027  * ***** END GPL LICENSE BLOCK *****
00028  */
00029 
00037 #ifndef WM_CURSORS_H
00038 #define WM_CURSORS_H
00039 
00040 void wm_init_cursor_data(void);
00041 
00042 #define BC_GHOST_CURSORS 1000
00043 
00044 /* old cursors */
00045 enum {
00046         CURSOR_FACESEL=BC_GHOST_CURSORS, 
00047         CURSOR_WAIT, 
00048         CURSOR_EDIT, 
00049         CURSOR_X_MOVE, 
00050         CURSOR_Y_MOVE, 
00051         CURSOR_HELP, 
00052         CURSOR_STD, 
00053         CURSOR_NONE,
00054         CURSOR_PENCIL,
00055         CURSOR_COPY
00056 };
00057 
00058 
00059 //typedef struct BCursor_s BCursor;
00060 typedef struct BCursor {
00061 
00062         char *small_bm;
00063         char *small_mask;
00064 
00065         char small_sizex; 
00066         char small_sizey; 
00067         char small_hotx; 
00068         char small_hoty; 
00069 
00070         char *big_bm; 
00071         char *big_mask;
00072 
00073         char big_sizex; 
00074         char big_sizey; 
00075         char big_hotx; 
00076         char big_hoty; 
00077 
00078         char fg_color; 
00079         char bg_color; 
00080 
00081 } BCursor;
00082 
00083 #define SYSCURSOR 1
00084 enum {
00085         BC_NW_ARROWCURSOR=2, 
00086         BC_NS_ARROWCURSOR,
00087         BC_EW_ARROWCURSOR,
00088         BC_WAITCURSOR,
00089         BC_CROSSCURSOR,
00090         BC_EDITCROSSCURSOR,
00091         BC_BOXSELCURSOR,
00092         BC_KNIFECURSOR,
00093         BC_VLOOPCURSOR,
00094         BC_TEXTEDITCURSOR,
00095         BC_PAINTBRUSHCURSOR,
00096         BC_HANDCURSOR,
00097         BC_NSEW_SCROLLCURSOR,
00098         BC_NS_SCROLLCURSOR,
00099         BC_EW_SCROLLCURSOR,
00100         BC_EYEDROPPER_CURSOR,
00101         BC_SWAPAREA_CURSOR,
00102 /* --- ALWAYS LAST ----- */
00103         BC_NUMCURSORS,
00104 };
00105 
00106 
00107 enum {
00108         BC_BLACK=0, 
00109         BC_WHITE, 
00110         BC_RED,
00111         BC_BLUE,
00112         BC_GREEN,
00113         BC_YELLOW
00114 };
00115 
00116 #define SMALL_CURSOR    0
00117 #define BIG_CURSOR              1
00118 
00119 struct wmWindow;
00120 struct wmEvent;
00121 
00122 int wm_cursor_arrow_move(struct wmWindow *win, struct wmEvent *event);
00123 
00124 
00125 #endif /* WM_CURSORS_H */
00126