Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/src/ghostwinlay.c')
-rw-r--r--source/blender/src/ghostwinlay.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/source/blender/src/ghostwinlay.c b/source/blender/src/ghostwinlay.c
index b6a7c8ba354..0cb396d25cb 100644
--- a/source/blender/src/ghostwinlay.c
+++ b/source/blender/src/ghostwinlay.c
@@ -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;