- ugh, do not break open an abstract data type just to add one single
function, especially when you are introducing extra dependencies
(GHOST) on files that should not have them.
This commit is contained in:
@@ -57,12 +57,43 @@
|
||||
#include "BIF_mywindow.h"
|
||||
#include "BIF_screen.h"
|
||||
#include "BIF_usiblender.h"
|
||||
#include "BIF_cursors.h"
|
||||
|
||||
#include "mydevice.h"
|
||||
#include "blendef.h"
|
||||
|
||||
#include "winlay.h"
|
||||
|
||||
///
|
||||
|
||||
struct _Window {
|
||||
GHOST_WindowHandle ghostwin;
|
||||
|
||||
/* Handler and private data for handler */
|
||||
WindowHandlerFP handler;
|
||||
void *user_data;
|
||||
|
||||
/* Window state */
|
||||
int size[2], position[2];
|
||||
int active, visible;
|
||||
|
||||
/* Last known mouse/button/qualifier state */
|
||||
int lmouse[2];
|
||||
int lqual; /* (LR_SHFTKEY, LR_CTRLKEY, LR_ALTKEY) */
|
||||
int lmbut; /* (L_MOUSE, M_MOUSE, R_MOUSE) */
|
||||
int commandqual;
|
||||
|
||||
/* Tracks the faked mouse button, if non-zero it is
|
||||
* the event number of the last faked button.
|
||||
*/
|
||||
int faked_mbut;
|
||||
|
||||
GHOST_TimerTaskHandle timer;
|
||||
int timer_event;
|
||||
};
|
||||
|
||||
///
|
||||
|
||||
static GHOST_SystemHandle g_system= 0;
|
||||
|
||||
/* Some simple ghost <-> blender conversions */
|
||||
@@ -306,6 +337,22 @@ void window_set_custom_cursor(Window *win, unsigned char mask[16][2],
|
||||
GHOST_SetCustomCursorShape(win->ghostwin, bitmap, mask, hotx, hoty);
|
||||
}
|
||||
|
||||
void window_set_custom_cursor_ex(Window *win, BCursor *cursor, int useBig) {
|
||||
if (useBig) {
|
||||
GHOST_SetCustomCursorShapeEx(win->ghostwin,
|
||||
cursor->big_bm, cursor->big_mask,
|
||||
cursor->big_sizex,cursor->big_sizey,
|
||||
cursor->big_hotx,cursor->big_hoty,
|
||||
cursor->fg_color, cursor->bg_color);
|
||||
} else {
|
||||
GHOST_SetCustomCursorShapeEx(win->ghostwin,
|
||||
cursor->small_bm, cursor->small_mask,
|
||||
cursor->small_sizex,cursor->small_sizey,
|
||||
cursor->small_hotx,cursor->small_hoty,
|
||||
cursor->fg_color, cursor->bg_color);
|
||||
}
|
||||
}
|
||||
|
||||
void window_make_active(Window *win) {
|
||||
if (win != active_gl_window) {
|
||||
active_gl_window= win;
|
||||
|
||||
Reference in New Issue
Block a user