*/}}
1
0
Kaynağa Gözat

Windows cursor thingy

ChengduLittleA 1 yıl önce
ebeveyn
işleme
b4d20e588a
2 değiştirilmiş dosya ile 13 ekleme ve 8 silme
  1. 8 8
      la_interface.h
  2. 5 0
      la_kernel.c

+ 8 - 8
la_interface.h

@@ -54,14 +54,13 @@
 #define LA_NODE_MAIN_MODULE_NAME "LA_NODE_MAIN_MODULE"
 
 #define LA_GUI_WNDCLASS_NAME "LA_WINDOW_CLASS"
-#define LA_ARROW 1
-#define LA_CROSS 2
-#define LA_CROSS 2
-#define LA_LEFT_AND_RIGHT 3
-#define LA_UP_AND_DOWN 4
-#define LA_HAND 5
-#define LA_MOVE 6
-#define LA_CORNER 7
+#define LA_ARROW 0
+#define LA_CROSS 1
+#define LA_LEFT_AND_RIGHT 2
+#define LA_UP_AND_DOWN 3
+#define LA_HAND 4
+#define LA_MOVE 5
+#define LA_CORNER 6
 
 #define EVT_WND_MOVE -1
 #define EVT_WND_SIZE_BEGIN -2
@@ -375,6 +374,7 @@ STRUCTURE(LA){
     int GLDebugLevel;
     int GLDebugNeedsUpdate;
 
+    int CurrentCursor;
     laWindow *CurrentWindow;
     laPanel *CurrentPanel;
 

+ 5 - 0
la_kernel.c

@@ -2461,6 +2461,7 @@ laWindow *laDesignWindow(int X, int Y, int W, int H){
     return n;
 }
 void laSetWindowCursor(int id){
+    MAIN.CurrentCursor = id;
 #ifdef __linux__
     Cursor c = XcursorLibraryLoadCursor(MAIN.dpy, la_ConvertCursorID(id));
     XDefineCursor(MAIN.dpy, MAIN.CurrentWindow->win, c);
@@ -6925,6 +6926,9 @@ LRESULT CALLBACK LA_WindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
     case WM_MOVE: /* And size */
         la_CommandResizeWindow(hwnd, 0, 0, LOWORD(lparam), HIWORD(lparam));
         break;
+    case WM_SETCURSOR:
+        if(MAIN.CurrentCursor) return 1;
+        break;
     case WM_POINTERUPDATE:
         if (MAIN.InkOrWinTab) { break;/* Use WinTab. */ }
         pointerId = GET_POINTERID_WPARAM(wparam);
@@ -7326,6 +7330,7 @@ void laMainLoop(){
 
     if(!laFinalize()) return;
 
+    laSetWindowCursor(LA_ARROW);
     MAIN.DelayTriggered=1;
 
     while (1){