mirror of
https://github.com/gnif/LookingGlass.git
synced 2026-11-12 23:07:21 +00:00
[client] windows: add native display and input
This commit is contained in:
@@ -689,6 +689,11 @@ void app_handleGrabEvent(bool active)
|
||||
core_handleGrabEvent(active);
|
||||
}
|
||||
|
||||
void app_handleCaptureLost(void)
|
||||
{
|
||||
core_handleCaptureLost();
|
||||
}
|
||||
|
||||
void app_updateWindowPos(int x, int y)
|
||||
{
|
||||
g_state.windowPos.x = x;
|
||||
|
||||
@@ -306,6 +306,12 @@ void core_handleGrabEvent(bool active)
|
||||
core_handleMouseAbsolute();
|
||||
}
|
||||
|
||||
void core_handleCaptureLost(void)
|
||||
{
|
||||
if (g_cursor.grab)
|
||||
core_setGrabQuiet(false);
|
||||
}
|
||||
|
||||
void core_setGrab(bool enable)
|
||||
{
|
||||
core_setGrabQuiet(enable);
|
||||
|
||||
@@ -29,6 +29,7 @@ void core_updateKeyboardGrab(void);
|
||||
void core_invalidatePointer(bool detectInView);
|
||||
void core_setCursorInView(bool enable);
|
||||
void core_handleGrabEvent(bool active);
|
||||
void core_handleCaptureLost(void);
|
||||
void core_setGrab(bool enable);
|
||||
void core_setGrabQuiet(bool enable);
|
||||
bool core_warpPointer(int x, int y, bool exiting);
|
||||
|
||||
@@ -22,37 +22,49 @@
|
||||
|
||||
#include "egl_dynprocs.h"
|
||||
|
||||
struct EGLDynProcs g_egl_dynProcs = {0};
|
||||
struct EGLDynProcs g_egl_dynProcs = { 0 };
|
||||
|
||||
void egl_dynProcsInit(void)
|
||||
{
|
||||
g_egl_dynProcs.eglGetPlatformDisplay = (PFNEGLGETPLATFORMDISPLAYPROC)
|
||||
g_egl_dynProcs.eglGetPlatformDisplay =
|
||||
(PFNEGLGETPLATFORMDISPLAYPROC)
|
||||
eglGetProcAddress("eglGetPlatformDisplay");
|
||||
g_egl_dynProcs.eglGetPlatformDisplayEXT = (PFNEGLGETPLATFORMDISPLAYPROC)
|
||||
g_egl_dynProcs.eglGetPlatformDisplayEXT =
|
||||
(PFNEGLGETPLATFORMDISPLAYEXTPROC)
|
||||
eglGetProcAddress("eglGetPlatformDisplayEXT");
|
||||
g_egl_dynProcs.glEGLImageTargetTexture2DOES = (PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)
|
||||
g_egl_dynProcs.glEGLImageTargetTexture2DOES =
|
||||
(PFNGLEGLIMAGETARGETTEXTURE2DOESPROC)
|
||||
eglGetProcAddress("glEGLImageTargetTexture2DOES");
|
||||
g_egl_dynProcs.eglSwapBuffersWithDamageKHR = (PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)
|
||||
g_egl_dynProcs.eglSwapBuffersWithDamageKHR =
|
||||
(PFNEGLSWAPBUFFERSWITHDAMAGEKHRPROC)
|
||||
eglGetProcAddress("eglSwapBuffersWithDamageKHR");
|
||||
g_egl_dynProcs.eglSwapBuffersWithDamageEXT = (PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)
|
||||
g_egl_dynProcs.eglSwapBuffersWithDamageEXT =
|
||||
(PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC)
|
||||
eglGetProcAddress("eglSwapBuffersWithDamageEXT");
|
||||
g_egl_dynProcs.glDebugMessageCallback = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)
|
||||
g_egl_dynProcs.glDebugMessageCallback =
|
||||
(PFNGLDEBUGMESSAGECALLBACKKHRPROC)
|
||||
eglGetProcAddress("glDebugMessageCallback");
|
||||
g_egl_dynProcs.glDebugMessageCallbackKHR = (PFNGLDEBUGMESSAGECALLBACKKHRPROC)
|
||||
g_egl_dynProcs.glDebugMessageCallbackKHR =
|
||||
(PFNGLDEBUGMESSAGECALLBACKKHRPROC)
|
||||
eglGetProcAddress("glDebugMessageCallbackKHR");
|
||||
g_egl_dynProcs.glBufferStorageEXT = (PFNGLBUFFERSTORAGEEXTPROC)
|
||||
g_egl_dynProcs.glBufferStorageEXT =
|
||||
(PFNGLBUFFERSTORAGEEXTPROC)
|
||||
eglGetProcAddress("glBufferStorageEXT");
|
||||
g_egl_dynProcs.eglCreateImage = (PFNEGLCREATEIMAGEPROC)
|
||||
g_egl_dynProcs.eglCreateImage =
|
||||
(PFNEGLCREATEIMAGEPROC)
|
||||
eglGetProcAddress("eglCreateImage");
|
||||
g_egl_dynProcs.eglDestroyImage = (PFNEGLDESTROYIMAGEPROC)
|
||||
g_egl_dynProcs.eglDestroyImage =
|
||||
(PFNEGLDESTROYIMAGEPROC)
|
||||
eglGetProcAddress("eglDestroyImage");
|
||||
|
||||
if (!g_egl_dynProcs.eglCreateImage)
|
||||
g_egl_dynProcs.eglCreateImage = (PFNEGLCREATEIMAGEPROC)
|
||||
g_egl_dynProcs.eglCreateImage =
|
||||
(PFNEGLCREATEIMAGEPROC)
|
||||
eglGetProcAddress("eglCreateImageKHR");
|
||||
if (!g_egl_dynProcs.eglDestroyImage)
|
||||
g_egl_dynProcs.eglDestroyImage = (PFNEGLDESTROYIMAGEPROC)
|
||||
g_egl_dynProcs.eglDestroyImage =
|
||||
(PFNEGLDESTROYIMAGEPROC)
|
||||
eglGetProcAddress("eglDestroyImageKHR");
|
||||
};
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user