Add stubs for all platforms

This commit is contained in:
ws909 2023-01-26 10:16:55 +01:00
parent b5363d87d2
commit 266f67c6db
11 changed files with 97 additions and 5 deletions

View File

@ -683,6 +683,7 @@ GLFWbool _glfwConnectCocoa(int platformID, _GLFWplatform* platform)
_glfwSetWindowMousePassthroughCocoa, _glfwSetWindowMousePassthroughCocoa,
_glfwGetThemeCocoa, _glfwGetThemeCocoa,
_glfwSetThemeCocoa, _glfwSetThemeCocoa,
// Events
_glfwPollEventsCocoa, _glfwPollEventsCocoa,
_glfwWaitEventsCocoa, _glfwWaitEventsCocoa,
_glfwWaitEventsTimeoutCocoa, _glfwWaitEventsTimeoutCocoa,

View File

@ -672,11 +672,11 @@ struct _GLFWmutex
struct _GLFWplatform struct _GLFWplatform
{ {
int platformID; int platformID;
// init // Init
GLFWbool (*init)(void); GLFWbool (*init)(void);
void (*terminate)(void); void (*terminate)(void);
GLFWtheme* (*getSystemDefaultTheme)(void); GLFWtheme* (*getSystemDefaultTheme)(void);
// input // Input
void (*getCursorPos)(_GLFWwindow*,double*,double*); void (*getCursorPos)(_GLFWwindow*,double*,double*);
void (*setCursorPos)(_GLFWwindow*,double,double); void (*setCursorPos)(_GLFWwindow*,double,double);
void (*setCursorMode)(_GLFWwindow*,int); void (*setCursorMode)(_GLFWwindow*,int);
@ -695,7 +695,7 @@ struct _GLFWplatform
GLFWbool (*pollJoystick)(_GLFWjoystick*,int); GLFWbool (*pollJoystick)(_GLFWjoystick*,int);
const char* (*getMappingName)(void); const char* (*getMappingName)(void);
void (*updateGamepadGUID)(char*); void (*updateGamepadGUID)(char*);
// monitor // Monitor
void (*freeMonitor)(_GLFWmonitor*); void (*freeMonitor)(_GLFWmonitor*);
void (*getMonitorPos)(_GLFWmonitor*,int*,int*); void (*getMonitorPos)(_GLFWmonitor*,int*,int*);
void (*getMonitorContentScale)(_GLFWmonitor*,float*,float*); void (*getMonitorContentScale)(_GLFWmonitor*,float*,float*);
@ -704,7 +704,7 @@ struct _GLFWplatform
void (*getVideoMode)(_GLFWmonitor*,GLFWvidmode*); void (*getVideoMode)(_GLFWmonitor*,GLFWvidmode*);
GLFWbool (*getGammaRamp)(_GLFWmonitor*,GLFWgammaramp*); GLFWbool (*getGammaRamp)(_GLFWmonitor*,GLFWgammaramp*);
void (*setGammaRamp)(_GLFWmonitor*,const GLFWgammaramp*); void (*setGammaRamp)(_GLFWmonitor*,const GLFWgammaramp*);
// window // Window
GLFWbool (*createWindow)(_GLFWwindow*,const _GLFWwndconfig*,const _GLFWctxconfig*,const _GLFWfbconfig*); GLFWbool (*createWindow)(_GLFWwindow*,const _GLFWwndconfig*,const _GLFWctxconfig*,const _GLFWfbconfig*);
void (*destroyWindow)(_GLFWwindow*); void (*destroyWindow)(_GLFWwindow*);
void (*setWindowTitle)(_GLFWwindow*,const char*); void (*setWindowTitle)(_GLFWwindow*,const char*);
@ -740,6 +740,7 @@ struct _GLFWplatform
void (*setWindowMousePassthrough)(_GLFWwindow*,GLFWbool); void (*setWindowMousePassthrough)(_GLFWwindow*,GLFWbool);
GLFWtheme* (*getTheme)(_GLFWwindow*); GLFWtheme* (*getTheme)(_GLFWwindow*);
void (*setTheme)(_GLFWwindow*,GLFWtheme*); void (*setTheme)(_GLFWwindow*,GLFWtheme*);
// Events
void (*pollEvents)(void); void (*pollEvents)(void);
void (*waitEvents)(void); void (*waitEvents)(void);
void (*waitEventsTimeout)(double); void (*waitEventsTimeout)(double);
@ -748,7 +749,7 @@ struct _GLFWplatform
EGLenum (*getEGLPlatform)(EGLint**); EGLenum (*getEGLPlatform)(EGLint**);
EGLNativeDisplayType (*getEGLNativeDisplay)(void); EGLNativeDisplayType (*getEGLNativeDisplay)(void);
EGLNativeWindowType (*getEGLNativeWindow)(_GLFWwindow*); EGLNativeWindowType (*getEGLNativeWindow)(_GLFWwindow*);
// vulkan // Vulkan
void (*getRequiredInstanceExtensions)(char**); void (*getRequiredInstanceExtensions)(char**);
GLFWbool (*getPhysicalDevicePresentationSupport)(VkInstance,VkPhysicalDevice,uint32_t); GLFWbool (*getPhysicalDevicePresentationSupport)(VkInstance,VkPhysicalDevice,uint32_t);
VkResult (*createWindowSurface)(VkInstance,_GLFWwindow*,const VkAllocationCallbacks*,VkSurfaceKHR*); VkResult (*createWindowSurface)(VkInstance,_GLFWwindow*,const VkAllocationCallbacks*,VkSurfaceKHR*);

View File

@ -606,8 +606,11 @@ GLFWbool _glfwConnectWin32(int platformID, _GLFWplatform* platform)
const _GLFWplatform win32 = const _GLFWplatform win32 =
{ {
GLFW_PLATFORM_WIN32, GLFW_PLATFORM_WIN32,
// Init
_glfwInitWin32, _glfwInitWin32,
_glfwTerminateWin32, _glfwTerminateWin32,
_glfwGetSystemDefaultThemeWin32
// Input
_glfwGetCursorPosWin32, _glfwGetCursorPosWin32,
_glfwSetCursorPosWin32, _glfwSetCursorPosWin32,
_glfwSetCursorModeWin32, _glfwSetCursorModeWin32,
@ -626,6 +629,7 @@ GLFWbool _glfwConnectWin32(int platformID, _GLFWplatform* platform)
_glfwPollJoystickWin32, _glfwPollJoystickWin32,
_glfwGetMappingNameWin32, _glfwGetMappingNameWin32,
_glfwUpdateGamepadGUIDWin32, _glfwUpdateGamepadGUIDWin32,
// Monitor
_glfwFreeMonitorWin32, _glfwFreeMonitorWin32,
_glfwGetMonitorPosWin32, _glfwGetMonitorPosWin32,
_glfwGetMonitorContentScaleWin32, _glfwGetMonitorContentScaleWin32,
@ -634,6 +638,7 @@ GLFWbool _glfwConnectWin32(int platformID, _GLFWplatform* platform)
_glfwGetVideoModeWin32, _glfwGetVideoModeWin32,
_glfwGetGammaRampWin32, _glfwGetGammaRampWin32,
_glfwSetGammaRampWin32, _glfwSetGammaRampWin32,
// Window
_glfwCreateWindowWin32, _glfwCreateWindowWin32,
_glfwDestroyWindowWin32, _glfwDestroyWindowWin32,
_glfwSetWindowTitleWin32, _glfwSetWindowTitleWin32,
@ -667,13 +672,18 @@ GLFWbool _glfwConnectWin32(int platformID, _GLFWplatform* platform)
_glfwSetWindowFloatingWin32, _glfwSetWindowFloatingWin32,
_glfwSetWindowOpacityWin32, _glfwSetWindowOpacityWin32,
_glfwSetWindowMousePassthroughWin32, _glfwSetWindowMousePassthroughWin32,
_glfwGetThemeWin32,
_glfwSetThemeWin32,
// Events
_glfwPollEventsWin32, _glfwPollEventsWin32,
_glfwWaitEventsWin32, _glfwWaitEventsWin32,
_glfwWaitEventsTimeoutWin32, _glfwWaitEventsTimeoutWin32,
_glfwPostEmptyEventWin32, _glfwPostEmptyEventWin32,
// EGL
_glfwGetEGLPlatformWin32, _glfwGetEGLPlatformWin32,
_glfwGetEGLNativeDisplayWin32, _glfwGetEGLNativeDisplayWin32,
_glfwGetEGLNativeWindowWin32, _glfwGetEGLNativeWindowWin32,
// Vulkan
_glfwGetRequiredInstanceExtensionsWin32, _glfwGetRequiredInstanceExtensionsWin32,
_glfwGetPhysicalDevicePresentationSupportWin32, _glfwGetPhysicalDevicePresentationSupportWin32,
_glfwCreateWindowSurfaceWin32, _glfwCreateWindowSurfaceWin32,
@ -727,5 +737,11 @@ void _glfwTerminateWin32(void)
freeLibraries(); freeLibraries();
} }
GLFWtheme* _glfwGetSystemDefaultThemeWin32(void)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
return NULL; // TODO: implement
}
#endif // _GLFW_WIN32 #endif // _GLFW_WIN32

View File

@ -622,3 +622,6 @@ GLFWbool _glfwCreateContextWGL(_GLFWwindow* window,
const _GLFWctxconfig* ctxconfig, const _GLFWctxconfig* ctxconfig,
const _GLFWfbconfig* fbconfig); const _GLFWfbconfig* fbconfig);
GLFWtheme* _glfwGetSystemDefaultThemeWin32(void);
void _glfwSetThemeWin32(_GLFWwindow* window, GLFWtheme* theme);
GLFWtheme* _glfwGetThemeWin32(_GLFWwindow* window);

View File

@ -2373,6 +2373,17 @@ const char* _glfwGetClipboardStringWin32(void)
return _glfw.win32.clipboardString; return _glfw.win32.clipboardString;
} }
void _glfwSetThemeWin32(_GLFWwindow* window, GLFWtheme* theme)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
}
GLFWtheme* _glfwGetThemeWin32(_GLFWwindow* window)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
return NULL; // TODO: implement
}
EGLenum _glfwGetEGLPlatformWin32(EGLint** attribs) EGLenum _glfwGetEGLPlatformWin32(EGLint** attribs)
{ {
if (_glfw.egl.ANGLE_platform_angle) if (_glfw.egl.ANGLE_platform_angle)

View File

@ -379,8 +379,11 @@ GLFWbool _glfwConnectWayland(int platformID, _GLFWplatform* platform)
const _GLFWplatform wayland = const _GLFWplatform wayland =
{ {
GLFW_PLATFORM_WAYLAND, GLFW_PLATFORM_WAYLAND,
// Init
_glfwInitWayland, _glfwInitWayland,
_glfwTerminateWayland, _glfwTerminateWayland,
_glfwGetSystemDefaultThemeWayland
// Input
_glfwGetCursorPosWayland, _glfwGetCursorPosWayland,
_glfwSetCursorPosWayland, _glfwSetCursorPosWayland,
_glfwSetCursorModeWayland, _glfwSetCursorModeWayland,
@ -407,6 +410,7 @@ GLFWbool _glfwConnectWayland(int platformID, _GLFWplatform* platform)
_glfwGetMappingNameNull, _glfwGetMappingNameNull,
_glfwUpdateGamepadGUIDNull, _glfwUpdateGamepadGUIDNull,
#endif #endif
// Monitor
_glfwFreeMonitorWayland, _glfwFreeMonitorWayland,
_glfwGetMonitorPosWayland, _glfwGetMonitorPosWayland,
_glfwGetMonitorContentScaleWayland, _glfwGetMonitorContentScaleWayland,
@ -415,6 +419,7 @@ GLFWbool _glfwConnectWayland(int platformID, _GLFWplatform* platform)
_glfwGetVideoModeWayland, _glfwGetVideoModeWayland,
_glfwGetGammaRampWayland, _glfwGetGammaRampWayland,
_glfwSetGammaRampWayland, _glfwSetGammaRampWayland,
// Window
_glfwCreateWindowWayland, _glfwCreateWindowWayland,
_glfwDestroyWindowWayland, _glfwDestroyWindowWayland,
_glfwSetWindowTitleWayland, _glfwSetWindowTitleWayland,
@ -448,13 +453,18 @@ GLFWbool _glfwConnectWayland(int platformID, _GLFWplatform* platform)
_glfwSetWindowFloatingWayland, _glfwSetWindowFloatingWayland,
_glfwSetWindowOpacityWayland, _glfwSetWindowOpacityWayland,
_glfwSetWindowMousePassthroughWayland, _glfwSetWindowMousePassthroughWayland,
_glfwGetThemeWayland,
_glfwSetThemeWayland,
// Events
_glfwPollEventsWayland, _glfwPollEventsWayland,
_glfwWaitEventsWayland, _glfwWaitEventsWayland,
_glfwWaitEventsTimeoutWayland, _glfwWaitEventsTimeoutWayland,
_glfwPostEmptyEventWayland, _glfwPostEmptyEventWayland,
// EGL
_glfwGetEGLPlatformWayland, _glfwGetEGLPlatformWayland,
_glfwGetEGLNativeDisplayWayland, _glfwGetEGLNativeDisplayWayland,
_glfwGetEGLNativeWindowWayland, _glfwGetEGLNativeWindowWayland,
// Vulkan
_glfwGetRequiredInstanceExtensionsWayland, _glfwGetRequiredInstanceExtensionsWayland,
_glfwGetPhysicalDevicePresentationSupportWayland, _glfwGetPhysicalDevicePresentationSupportWayland,
_glfwCreateWindowSurfaceWayland, _glfwCreateWindowSurfaceWayland,
@ -793,5 +803,11 @@ void _glfwTerminateWayland(void)
_glfw_free(_glfw.wl.clipboardString); _glfw_free(_glfw.wl.clipboardString);
} }
GLFWtheme* _glfwGetSystemDefaultThemeWayland(void)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
return NULL; // TODO: implement
}
#endif // _GLFW_WAYLAND #endif // _GLFW_WAYLAND

View File

@ -519,3 +519,6 @@ void _glfwUpdateContentScaleWayland(_GLFWwindow* window);
void _glfwAddSeatListenerWayland(struct wl_seat* seat); void _glfwAddSeatListenerWayland(struct wl_seat* seat);
void _glfwAddDataDeviceListenerWayland(struct wl_data_device* device); void _glfwAddDataDeviceListenerWayland(struct wl_data_device* device);
GLFWtheme* _glfwGetSystemDefaultThemeWayland(void);
void _glfwSetThemeWayland(_GLFWwindow* window, GLFWtheme* theme);
GLFWtheme* _glfwGetThemeWayland(_GLFWwindow* window);

View File

@ -2775,6 +2775,17 @@ const char* _glfwGetClipboardStringWayland(void)
return _glfw.wl.clipboardString; return _glfw.wl.clipboardString;
} }
void _glfwSetThemeWayland(_GLFWwindow* window, GLFWtheme* theme)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
}
GLFWtheme* _glfwGetThemeWayland(_GLFWwindow* window)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
return NULL; // TODO: implement
}
EGLenum _glfwGetEGLPlatformWayland(EGLint** attribs) EGLenum _glfwGetEGLPlatformWayland(EGLint** attribs)
{ {
if (_glfw.egl.EXT_platform_base && _glfw.egl.EXT_platform_wayland) if (_glfw.egl.EXT_platform_base && _glfw.egl.EXT_platform_wayland)

View File

@ -1169,8 +1169,11 @@ GLFWbool _glfwConnectX11(int platformID, _GLFWplatform* platform)
const _GLFWplatform x11 = const _GLFWplatform x11 =
{ {
GLFW_PLATFORM_X11, GLFW_PLATFORM_X11,
// Init
_glfwInitX11, _glfwInitX11,
_glfwTerminateX11, _glfwTerminateX11,
_glfwGetSystemDefaultThemeX11
// Input
_glfwGetCursorPosX11, _glfwGetCursorPosX11,
_glfwSetCursorPosX11, _glfwSetCursorPosX11,
_glfwSetCursorModeX11, _glfwSetCursorModeX11,
@ -1197,6 +1200,7 @@ GLFWbool _glfwConnectX11(int platformID, _GLFWplatform* platform)
_glfwGetMappingNameNull, _glfwGetMappingNameNull,
_glfwUpdateGamepadGUIDNull, _glfwUpdateGamepadGUIDNull,
#endif #endif
// Monitor
_glfwFreeMonitorX11, _glfwFreeMonitorX11,
_glfwGetMonitorPosX11, _glfwGetMonitorPosX11,
_glfwGetMonitorContentScaleX11, _glfwGetMonitorContentScaleX11,
@ -1205,6 +1209,7 @@ GLFWbool _glfwConnectX11(int platformID, _GLFWplatform* platform)
_glfwGetVideoModeX11, _glfwGetVideoModeX11,
_glfwGetGammaRampX11, _glfwGetGammaRampX11,
_glfwSetGammaRampX11, _glfwSetGammaRampX11,
// Window
_glfwCreateWindowX11, _glfwCreateWindowX11,
_glfwDestroyWindowX11, _glfwDestroyWindowX11,
_glfwSetWindowTitleX11, _glfwSetWindowTitleX11,
@ -1238,13 +1243,18 @@ GLFWbool _glfwConnectX11(int platformID, _GLFWplatform* platform)
_glfwSetWindowFloatingX11, _glfwSetWindowFloatingX11,
_glfwSetWindowOpacityX11, _glfwSetWindowOpacityX11,
_glfwSetWindowMousePassthroughX11, _glfwSetWindowMousePassthroughX11,
_glfwGetThemeX11,
_glfwSetThemeX11,
// Events
_glfwPollEventsX11, _glfwPollEventsX11,
_glfwWaitEventsX11, _glfwWaitEventsX11,
_glfwWaitEventsTimeoutX11, _glfwWaitEventsTimeoutX11,
_glfwPostEmptyEventX11, _glfwPostEmptyEventX11,
// EGL
_glfwGetEGLPlatformX11, _glfwGetEGLPlatformX11,
_glfwGetEGLNativeDisplayX11, _glfwGetEGLNativeDisplayX11,
_glfwGetEGLNativeWindowX11, _glfwGetEGLNativeWindowX11,
// Vulkan
_glfwGetRequiredInstanceExtensionsX11, _glfwGetRequiredInstanceExtensionsX11,
_glfwGetPhysicalDevicePresentationSupportX11, _glfwGetPhysicalDevicePresentationSupportX11,
_glfwCreateWindowSurfaceX11, _glfwCreateWindowSurfaceX11,
@ -1654,5 +1664,11 @@ void _glfwTerminateX11(void)
} }
} }
GLFWtheme* _glfwGetSystemDefaultThemeX11(void)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
return NULL; // TODO: implement
}
#endif // _GLFW_X11 #endif // _GLFW_X11

View File

@ -1002,3 +1002,6 @@ GLFWbool _glfwChooseVisualGLX(const _GLFWwndconfig* wndconfig,
const _GLFWfbconfig* fbconfig, const _GLFWfbconfig* fbconfig,
Visual** visual, int* depth); Visual** visual, int* depth);
GLFWtheme* _glfwGetSystemDefaultThemeX11(void);
void _glfwSetThemeX11(_GLFWwindow* window, GLFWtheme* theme);
GLFWtheme* _glfwGetThemeX11(_GLFWwindow* window);

View File

@ -3082,6 +3082,17 @@ const char* _glfwGetClipboardStringX11(void)
return getSelectionString(_glfw.x11.CLIPBOARD); return getSelectionString(_glfw.x11.CLIPBOARD);
} }
void _glfwSetThemeX11(_GLFWwindow* window, GLFWtheme* theme)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
}
GLFWtheme* _glfwGetThemeX11(_GLFWwindow* window)
{
_glfwInputError(GLFW_FEATURE_UNIMPLEMENTED, NULL);
return NULL; // TODO: implement
}
EGLenum _glfwGetEGLPlatformX11(EGLint** attribs) EGLenum _glfwGetEGLPlatformX11(EGLint** attribs)
{ {
if (_glfw.egl.ANGLE_platform_angle) if (_glfw.egl.ANGLE_platform_angle)