@@ -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);
@@ -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;
@@ -21,6 +21,7 @@ set(LAGUI_SHARED_LIBS
${GLEW_LIBRARIES}
${OPENGL_LIBRARY}
${FREETYPE_LIBRARIES}
+ ${X11_Xfixes_LIB}
#${PNG_LIBRARY}
m X11 Xi
lagui
@@ -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;