diff options
Diffstat (limited to 'intern/ghost/GHOST_C-api.h')
-rw-r--r-- | intern/ghost/GHOST_C-api.h | 56 |
1 files changed, 40 insertions, 16 deletions
diff --git a/intern/ghost/GHOST_C-api.h b/intern/ghost/GHOST_C-api.h index ec641938f1f..5ace0fcc9d2 100644 --- a/intern/ghost/GHOST_C-api.h +++ b/intern/ghost/GHOST_C-api.h @@ -20,7 +20,7 @@ extern "C" { * \param event: The event received. * \param userdata: The callback's user data, supplied to #GHOST_CreateSystem. */ -typedef int (*GHOST_EventCallbackProcPtr)(GHOST_EventHandle event, GHOST_TUserDataPtr userdata); +typedef bool (*GHOST_EventCallbackProcPtr)(GHOST_EventHandle event, GHOST_TUserDataPtr userdata); /** * Creates the one and only system. @@ -206,7 +206,7 @@ extern GHOST_TUserDataPtr GHOST_GetWindowUserData(GHOST_WindowHandle windowhandl */ extern void GHOST_SetWindowUserData(GHOST_WindowHandle windowhandle, GHOST_TUserDataPtr userdata); -extern int GHOST_IsDialogWindow(GHOST_WindowHandle windowhandle); +extern bool GHOST_IsDialogWindow(GHOST_WindowHandle windowhandle); /** * Dispose a window. @@ -223,7 +223,7 @@ extern GHOST_TSuccess GHOST_DisposeWindow(GHOST_SystemHandle systemhandle, * \param windowhandle: Handle to the window to be checked. * \return Indication of validity. */ -extern int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle); +extern bool GHOST_ValidWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle windowhandle); /** * Begins full screen mode. @@ -235,7 +235,7 @@ extern int GHOST_ValidWindow(GHOST_SystemHandle systemhandle, GHOST_WindowHandle */ extern GHOST_WindowHandle GHOST_BeginFullScreen(GHOST_SystemHandle systemhandle, GHOST_DisplaySetting *setting, - const int stereoVisual); + const bool stereoVisual); /** * Ends full screen mode. @@ -249,7 +249,7 @@ extern GHOST_TSuccess GHOST_EndFullScreen(GHOST_SystemHandle systemhandle); * \param systemhandle: The handle to the system. * \return The current status. */ -extern int GHOST_GetFullScreen(GHOST_SystemHandle systemhandle); +extern bool GHOST_GetFullScreen(GHOST_SystemHandle systemhandle); /** * Get the Window under the cursor. @@ -364,12 +364,15 @@ extern GHOST_TSuccess GHOST_SetCustomCursorShape(GHOST_WindowHandle windowhandle int hotY, bool canInvertColor); +extern GHOST_TSuccess GHOST_GetCursorBitmap(GHOST_WindowHandle windowhandle, + GHOST_CursorBitmapRef *bitmap); + /** * Returns the visibility state of the cursor. * \param windowhandle: The handle to the window. * \return The visibility state of the cursor. */ -extern int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle); +extern bool GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle); /** * Shows or hides the cursor. @@ -377,7 +380,7 @@ extern int GHOST_GetCursorVisibility(GHOST_WindowHandle windowhandle); * \param visible: The new visibility state of the cursor. * \return Indication of success. */ -extern GHOST_TSuccess GHOST_SetCursorVisibility(GHOST_WindowHandle windowhandle, int visible); +extern GHOST_TSuccess GHOST_SetCursorVisibility(GHOST_WindowHandle windowhandle, bool visible); /** * Returns the current location of the cursor (location in screen coordinates) @@ -402,6 +405,12 @@ extern GHOST_TSuccess GHOST_SetCursorPosition(GHOST_SystemHandle systemhandle, int32_t x, int32_t y); +void GHOST_GetCursorGrabState(GHOST_WindowHandle windowhandle, + GHOST_TGrabCursorMode *r_mode, + GHOST_TAxisFlag *r_axis_flag, + int r_bounds[4], + bool *r_use_software_cursor); + /** * Grabs the cursor for a modal operation, to keep receiving * events when the mouse is outside the window. X11 only, others @@ -414,7 +423,7 @@ extern GHOST_TSuccess GHOST_SetCursorPosition(GHOST_SystemHandle systemhandle, */ extern GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle, GHOST_TGrabCursorMode mode, - GHOST_TAxisFlag warp_axis, + GHOST_TAxisFlag wrap_axis, int bounds[4], const int mouse_ungrab_xy[2]); @@ -431,7 +440,7 @@ extern GHOST_TSuccess GHOST_SetCursorGrab(GHOST_WindowHandle windowhandle, */ extern GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, GHOST_TModifierKeyMask mask, - int *isDown); + bool *r_is_down); /** * Returns the state of a mouse button (outside the message queue). @@ -442,7 +451,7 @@ extern GHOST_TSuccess GHOST_GetModifierKeyState(GHOST_SystemHandle systemhandle, */ extern GHOST_TSuccess GHOST_GetButtonState(GHOST_SystemHandle systemhandle, GHOST_TButtonMask mask, - int *isDown); + bool *r_is_down); #ifdef WITH_INPUT_NDOF /*************************************************************************************** @@ -463,7 +472,7 @@ extern void GHOST_setNDOFDeadZone(float deadzone); /** * Tells if the ongoing drag'n'drop object can be accepted upon mouse drop */ -extern void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, bool canAccept); +extern void GHOST_setAcceptDragOperation(GHOST_WindowHandle windowhandle, bool can_accept); /** * Returns the event type. @@ -529,7 +538,7 @@ extern void GHOST_SetTimerTaskUserData(GHOST_TimerTaskHandle timertaskhandle, * \param windowhandle: The handle to the window. * \return The validity of the window. */ -extern int GHOST_GetValid(GHOST_WindowHandle windowhandle); +extern bool GHOST_GetValid(GHOST_WindowHandle windowhandle); /** * Returns the type of drawing context used in this window. @@ -727,7 +736,7 @@ extern unsigned int GHOST_GetContextDefaultOpenGLFramebuffer(GHOST_ContextHandle /** * Get the OpenGL frame-buffer handle that serves as a default frame-buffer. */ -extern unsigned int GHOST_GetDefaultOpenGLFramebuffer(GHOST_WindowHandle windwHandle); +extern unsigned int GHOST_GetDefaultOpenGLFramebuffer(GHOST_WindowHandle windowhandle); /** * Set which tablet API to use. Only affects Windows, other platforms have a single API. @@ -889,17 +898,32 @@ extern void GHOST_putClipboard(const char *buffer, bool selection); * \param action: console state * \return current status (1 -visible, 0 - hidden) */ -extern int setConsoleWindowState(GHOST_TConsoleWindowState action); +extern bool GHOST_setConsoleWindowState(GHOST_TConsoleWindowState action); /** * Use native pixel size (MacBook pro 'retina'), if supported. */ -extern int GHOST_UseNativePixels(void); +extern bool GHOST_UseNativePixels(void); + +/** + * Warp the cursor, if supported. + */ +extern bool GHOST_SupportsCursorWarp(void); + +/** + * Support positioning windows (when false `wmWindow.x,y` are meaningless). + */ +extern bool GHOST_SupportsWindowPosition(void); + +/** + * Assign the callback which generates a back-trace (may be NULL). + */ +extern void GHOST_SetBacktraceHandler(GHOST_TBacktraceFn backtrace_fn); /** * Focus window after opening, or put them in the background. */ -extern void GHOST_UseWindowFocus(int use_focus); +extern void GHOST_UseWindowFocus(bool use_focus); /** * If window was opened using native pixel size, it returns scaling factor. |