*/}}
Browse Source

space move, mbutton, scale direction etc

YimingWu 1 year ago
parent
commit
82e1524801
3 changed files with 10 additions and 20 deletions
  1. 6 17
      la_kernel.c
  2. 2 2
      resources/la_operators.c
  3. 2 1
      resources/la_widgets_viewers.c

+ 6 - 17
la_kernel.c

@@ -6628,22 +6628,12 @@ LRESULT CALLBACK LA_WindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
         MAIN.IsPen = 0; MAIN.PointerIsEraser = 0;
         break;
 
-    case WM_LBUTTONDOWN:
-        la_SendMouseEvent(hwnd, LA_L_MOUSE_DOWN, PARAM_2_FROM(lparam));
-        break;
-
-    case WM_LBUTTONUP:
-        la_SendMouseEvent(hwnd, LA_L_MOUSE_UP, PARAM_2_FROM(lparam));
-        break;
-
-    case WM_RBUTTONDOWN:
-        la_SendMouseEvent(hwnd, LA_R_MOUSE_DOWN, PARAM_2_FROM(lparam));
-        break;
-
-    case WM_RBUTTONUP:
-        //PrintControllerStack();
-        la_SendMouseEvent(hwnd, LA_R_MOUSE_UP, PARAM_2_FROM(lparam));
-        break;
+    case WM_LBUTTONDOWN: la_SendMouseEvent(hwnd, LA_L_MOUSE_DOWN, PARAM_2_FROM(lparam)); break;
+    case WM_LBUTTONUP:   la_SendMouseEvent(hwnd, LA_L_MOUSE_UP, PARAM_2_FROM(lparam)); break;
+    case WM_RBUTTONDOWN: la_SendMouseEvent(hwnd, LA_R_MOUSE_DOWN, PARAM_2_FROM(lparam)); break;
+    case WM_RBUTTONUP:   la_SendMouseEvent(hwnd, LA_R_MOUSE_UP, PARAM_2_FROM(lparam)); break;
+    case WM_MBUTTONDOWN: la_SendMouseEvent(hwnd, LA_M_MOUSE_DOWN, PARAM_2_FROM(lparam)); break;
+    case WM_MBUTTONUP:   la_SendMouseEvent(hwnd, LA_M_MOUSE_UP, PARAM_2_FROM(lparam)); break;
 
     case WM_MOUSEWHEEL:
         if ((wheelmark = HIWORD(wparam)) > 0) WheelDir = LA_MOUSEUP;
@@ -6698,7 +6688,6 @@ LRESULT CALLBACK LA_WindowProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lp
         la_SendKeyboardEvent(hwnd, LA_KEY_DOWN, la_TranslateSpecialKey(wparam));
         break;
     case WM_KEYUP:
-        if (lparam & 0x40000000) break;
         la_SendKeyboardEvent(hwnd, LA_KEY_UP, la_TranslateSpecialKey(wparam));
         break;
     

+ 2 - 2
resources/la_operators.c

@@ -1676,8 +1676,8 @@ int la_ScrollPanel(laGeneralUiExtraData*ex, laPanel*p, laEvent* e){
     if(e->Type==LA_M_MOUSE_UP){ ex->TargetIndexVali=0; }
     if (e->Type & LA_KEY_MOUSE_SCROLL || e->Type==LA_M_MOUSE_DOWN){
         laUiItem *pui = 0; laListHandle levels={0}; int dir;
-        if (e->Type & LA_STATE_DOWN) dir=1;
-        elif (e->Type & LA_STATE_UP) dir=-1;
+        if (e->Type & LA_STATE_DOWN) dir=-1;
+        elif (e->Type & LA_STATE_UP) dir=1;
         laUiList *duil = la_DetectUiListRecursiveDeep(p->MenuRefer?p->MenuRefer:&p->UI, e->x, e->y, 10000, &pui, 0, 0, 0, 0, &levels);
         laUiListRecord* lip=levels.pLast; laUiList* uuil=lip->uil; laUiItem* upui=lip->Item.pPrev?((laUiListRecord*)lip->Item.pPrev)->pui:0; int ran=0;
         if(e->SpecialKeyBit == LA_KEY_CTRL){

+ 2 - 1
resources/la_widgets_viewers.c

@@ -883,7 +883,8 @@ int OPMOD_CanvasMove(laOperator *a, laEvent *e){
     laCanvasExtra *ex = a->This->EndInstance;
     laGeneralUiExtraData *uex = a->CustomData;
 
-    if (e->Type == LA_L_MOUSE_UP || e->Type == LA_R_MOUSE_DOWN || e->Type==LA_M_MOUSE_UP){
+    if (e->Type == LA_L_MOUSE_UP || e->Type == LA_R_MOUSE_DOWN || e->Type==LA_M_MOUSE_UP ||
+       (e->Type==LA_KEY_UP && e->key==' ')) {
         laSetWindowCursor(LA_ARROW);
         return LA_FINISHED;
     }