*/}}
瀏覽代碼

improvements

Yiming Wu 1 年之前
父節點
當前提交
0fee9b25af
共有 4 個文件被更改,包括 14 次插入1 次删除
  1. 4 0
      la_interface.h
  2. 8 0
      la_kernel.c
  3. 1 0
      lagui-config.cmake
  4. 1 1
      resources/la_widgets_viewers.c

+ 4 - 0
la_interface.h

@@ -1894,6 +1894,10 @@ int la_GenericTopPanelProcessing(laOperator* a, laEvent* e);
 
 int OPMOD_FinishOnData(laOperator* a, laEvent* e);
 
+
+void laHideCursor();
+void laShowCursor();
+
 int la_UiOperatorExists(void *inst);
 int laOperatorExistsT(laOperatorType* at);
 int laOperatorExists(const char* ID);

+ 8 - 0
la_kernel.c

@@ -11,6 +11,7 @@
 #include <X11/keysymdef.h>
 #include <X11/XKBlib.h>
 #include <X11/extensions/XInput2.h>
+#include <X11/extensions/Xfixes.h>
 #include <GL/glx.h>
 //#include <GL/glext.h>
 //#include <GL/glu.h>
@@ -95,6 +96,13 @@ static void la_ScanWacomDevices(Display *display, int deviceid){
 	}
 }
 
+void laHideCursor(){
+    if(!MAIN.CurrentWindow) return; XFixesHideCursor(MAIN.dpy, MAIN.CurrentWindow->win);
+}
+void laShowCursor(){
+    if(!MAIN.CurrentWindow) return; XFixesShowCursor(MAIN.dpy, MAIN.CurrentWindow->win);
+}
+
 Window la_CreateWindowX11(int x, int y, int w, int h, char *title, int SyncToVBlank, GLXContext* r_glc){
     XSetWindowAttributes swa;
     XWindowAttributes wa;

+ 1 - 0
lagui-config.cmake

@@ -21,6 +21,7 @@ set(LAGUI_SHARED_LIBS
     ${GLEW_LIBRARIES}
     ${OPENGL_LIBRARY}
     ${FREETYPE_LIBRARIES}
+    ${X11_Xfixes_LIB}
     #${PNG_LIBRARY}
     m X11 Xi
     lagui

+ 1 - 1
resources/la_widgets_viewers.c

@@ -719,7 +719,7 @@ int OPMOD_Canvas(laOperator *a, laEvent *e){
         laRedrawCurrentPanel();
     }
 
-    if(ui->CanvasTemplate->ExtraModal){ if(ui->CanvasTemplate->ExtraModal(a,e)&LA_BLOCK) return LA_RUNNING; }
+    if(ui->CanvasTemplate->ExtraModal){ if(!(ui->CanvasTemplate->ExtraModal(a,e)&LA_PASS_ON)) return LA_RUNNING; }
 
     if (laKeyMapExecuteEventEx(a, &ui->ExtraPP, &ui->CanvasTemplate->KeyMapper, e)) return LA_RUNNING;
     if (laKeyMapExecuteEventEx(a, &ui->ExtraPP, &ui->Type->KeyMapper, e)) return LA_RUNNING;