Blender V4.3
GHOST_Types.h File Reference
#include <stdint.h>

Go to the source code of this file.

Classes

struct  GHOST_CursorBitmapRef
 
struct  GHOST_TabletData
 
struct  GHOST_TEventCursorData
 
struct  GHOST_TEventButtonData
 
struct  GHOST_TEventWheelData
 
struct  GHOST_TEventTrackpadData
 
struct  GHOST_TEventDragnDropData
 
struct  GHOST_TEventImeData
 
struct  GHOST_TStringArray
 
struct  GHOST_TEventKeyData
 
struct  GHOST_DisplaySetting
 
struct  GHOST_GPUDevice
 
struct  GHOST_GPUSettings
 
struct  GHOST_Debug
 

Macros

#define GHOST_DECLARE_HANDLE(name)
 
#define GHOST_CAPABILITY_FLAG_ALL
 
#define GHOST_kButtonNum   (int(GHOST_kButtonMaskButton7) + 1)
 
#define GHOST_kNumEventTypes   (GHOST_kEventImeCompositionEnd + 1)
 
#define GHOST_kStandardCursorFirstCursor   int(GHOST_kStandardCursorDefault)
 
#define GHOST_kStandardCursorNumCursors   (int(GHOST_kStandardCursorCustom) + 1)
 
#define _GHOST_KEY_MODIFIER_MIN   GHOST_kKeyLeftShift
 
#define _GHOST_KEY_MODIFIER_MAX   GHOST_kKeyRightOS
 
#define GHOST_KEY_MODIFIER_NUM   ((_GHOST_KEY_MODIFIER_MAX - _GHOST_KEY_MODIFIER_MIN) + 1)
 
#define GHOST_KEY_MODIFIER_TO_INDEX(key)   ((unsigned int)(key)-_GHOST_KEY_MODIFIER_MIN)
 
#define GHOST_KEY_MODIFIER_FROM_INDEX(key)    (GHOST_TKey)(((unsigned int)(key) + _GHOST_KEY_MODIFIER_MIN))
 
#define GHOST_KEY_MODIFIER_CHECK(key)   (GHOST_KEY_MODIFIER_TO_INDEX(key) < GHOST_KEY_MODIFIER_NUM)
 
#define GHOST_GRAB_NEEDS_SOFTWARE_CURSOR_FOR_WARP(grab)   ((grab) == GHOST_kGrabWrap)
 

Typedefs

typedef unsigned int uint
 
typedef unsigned short ushort
 
typedef unsigned long ulong
 
typedef unsigned char uchar
 
typedef void(* GHOST_TBacktraceFn) (void *file_handle)
 
typedef enum GHOST_DialogOptions GHOST_DialogOptions
 
typedef void * GHOST_TUserDataPtr
 
typedef struct GHOST_TabletData GHOST_TabletData
 
typedef const void * GHOST_TEventDataPtr
 
typedef void * GHOST_TDragnDropDataPtr
 
typedef int GHOST_TEmbedderWindowID
 
typedef void(* GHOST_TimerProcPtr) (struct GHOST_TimerTaskHandle__ *task, uint64_t time)
 

Enumerations

enum  GHOST_GPUFlags { GHOST_gpuStereoVisual = (1 << 0) , GHOST_gpuDebugContext = (1 << 1) }
 
enum  GHOST_DialogOptions { GHOST_DialogWarning = (1 << 0) , GHOST_DialogError = (1 << 1) }
 
enum  GHOST_TSuccess { GHOST_kFailure = 0 , GHOST_kSuccess }
 
enum  GHOST_TCapabilityFlag {
  GHOST_kCapabilityCursorWarp = (1 << 0) , GHOST_kCapabilityWindowPosition = (1 << 1) , GHOST_kCapabilityPrimaryClipboard = (1 << 2) , GHOST_kCapabilityGPUReadFrontBuffer = (1 << 3) ,
  GHOST_kCapabilityClipboardImages = (1 << 4) , GHOST_kCapabilityDesktopSample = (1 << 5) , GHOST_kCapabilityInputIME = (1 << 6) , GHOST_kCapabilityTrackpadPhysicalDirection = (1 << 7)
}
 
enum  GHOST_TTabletMode { GHOST_kTabletModeNone = 0 , GHOST_kTabletModeStylus , GHOST_kTabletModeEraser }
 
enum  GHOST_TTabletAPI { GHOST_kTabletAutomatic = 0 , GHOST_kTabletWinPointer , GHOST_kTabletWintab }
 
enum  GHOST_TVisibility { GHOST_kNotVisible = 0 , GHOST_kPartiallyVisible , GHOST_kFullyVisible }
 
enum  GHOST_TFireTimeConstant { GHOST_kFireTimeNever = 0xFFFFFFFF }
 
enum  GHOST_TModifierKey {
  GHOST_kModifierKeyLeftShift = 0 , GHOST_kModifierKeyRightShift , GHOST_kModifierKeyLeftAlt , GHOST_kModifierKeyRightAlt ,
  GHOST_kModifierKeyLeftControl , GHOST_kModifierKeyRightControl , GHOST_kModifierKeyLeftOS , GHOST_kModifierKeyRightOS ,
  GHOST_kModifierKeyNum
}
 
enum  GHOST_TWindowState { GHOST_kWindowStateNormal = 0 , GHOST_kWindowStateMaximized = 1 , GHOST_kWindowStateMinimized = 2 , GHOST_kWindowStateFullScreen = 3 }
 
enum  GHOST_TConsoleWindowState { GHOST_kConsoleWindowStateHide = 0 , GHOST_kConsoleWindowStateShow , GHOST_kConsoleWindowStateToggle , GHOST_kConsoleWindowStateHideForNonConsoleLaunch }
 
enum  GHOST_TWindowOrder { GHOST_kWindowOrderTop = 0 , GHOST_kWindowOrderBottom }
 
enum  GHOST_TDrawingContextType { GHOST_kDrawingContextTypeNone = 0 }
 
enum  GHOST_TButton {
  GHOST_kButtonMaskNone , GHOST_kButtonMaskLeft , GHOST_kButtonMaskMiddle , GHOST_kButtonMaskRight ,
  GHOST_kButtonMaskButton4 , GHOST_kButtonMaskButton5 , GHOST_kButtonMaskButton6 , GHOST_kButtonMaskButton7
}
 
enum  GHOST_TEventType {
  GHOST_kEventUnknown = 0 , GHOST_kEventCursorMove , GHOST_kEventButtonDown , GHOST_kEventButtonUp ,
  GHOST_kEventWheel , GHOST_kEventTrackpad , GHOST_kEventKeyDown , GHOST_kEventKeyUp ,
  GHOST_kEventQuitRequest , GHOST_kEventWindowClose , GHOST_kEventWindowActivate , GHOST_kEventWindowDeactivate ,
  GHOST_kEventWindowUpdate , GHOST_kEventWindowUpdateDecor , GHOST_kEventWindowSize , GHOST_kEventWindowMove ,
  GHOST_kEventWindowDPIHintChanged , GHOST_kEventDraggingEntered , GHOST_kEventDraggingUpdated , GHOST_kEventDraggingExited ,
  GHOST_kEventDraggingDropDone , GHOST_kEventOpenMainFile , GHOST_kEventNativeResolutionChange , GHOST_kEventImeCompositionStart ,
  GHOST_kEventImeComposition , GHOST_kEventImeCompositionEnd
}
 
enum  GHOST_TStandardCursor {
  GHOST_kStandardCursorDefault = 0 , GHOST_kStandardCursorRightArrow , GHOST_kStandardCursorLeftArrow , GHOST_kStandardCursorInfo ,
  GHOST_kStandardCursorDestroy , GHOST_kStandardCursorHelp , GHOST_kStandardCursorWait , GHOST_kStandardCursorText ,
  GHOST_kStandardCursorCrosshair , GHOST_kStandardCursorCrosshairA , GHOST_kStandardCursorCrosshairB , GHOST_kStandardCursorCrosshairC ,
  GHOST_kStandardCursorPencil , GHOST_kStandardCursorUpArrow , GHOST_kStandardCursorDownArrow , GHOST_kStandardCursorVerticalSplit ,
  GHOST_kStandardCursorHorizontalSplit , GHOST_kStandardCursorEraser , GHOST_kStandardCursorKnife , GHOST_kStandardCursorEyedropper ,
  GHOST_kStandardCursorZoomIn , GHOST_kStandardCursorZoomOut , GHOST_kStandardCursorMove , GHOST_kStandardCursorNSEWScroll ,
  GHOST_kStandardCursorNSScroll , GHOST_kStandardCursorEWScroll , GHOST_kStandardCursorStop , GHOST_kStandardCursorUpDown ,
  GHOST_kStandardCursorLeftRight , GHOST_kStandardCursorTopSide , GHOST_kStandardCursorBottomSide , GHOST_kStandardCursorLeftSide ,
  GHOST_kStandardCursorRightSide , GHOST_kStandardCursorTopLeftCorner , GHOST_kStandardCursorTopRightCorner , GHOST_kStandardCursorBottomRightCorner ,
  GHOST_kStandardCursorBottomLeftCorner , GHOST_kStandardCursorCopy , GHOST_kStandardCursorLeftHandle , GHOST_kStandardCursorRightHandle ,
  GHOST_kStandardCursorBothHandles , GHOST_kStandardCursorHandOpen , GHOST_kStandardCursorHandClosed , GHOST_kStandardCursorHandPoint ,
  GHOST_kStandardCursorCustom
}
 
enum  GHOST_TKey {
  GHOST_kKeyUnknown = -1 , GHOST_kKeyBackSpace , GHOST_kKeyTab , GHOST_kKeyLinefeed ,
  GHOST_kKeyClear , GHOST_kKeyEnter = 0x0D , GHOST_kKeyEsc = 0x1B , GHOST_kKeySpace = ' ' ,
  GHOST_kKeyQuote = 0x27 , GHOST_kKeyComma = ',' , GHOST_kKeyMinus = '-' , GHOST_kKeyPlus = '+' ,
  GHOST_kKeyPeriod = '.' , GHOST_kKeySlash = '/' , GHOST_kKey0 = '0' , GHOST_kKey1 ,
  GHOST_kKey2 , GHOST_kKey3 , GHOST_kKey4 , GHOST_kKey5 ,
  GHOST_kKey6 , GHOST_kKey7 , GHOST_kKey8 , GHOST_kKey9 ,
  GHOST_kKeySemicolon = ';' , GHOST_kKeyEqual = '=' , GHOST_kKeyA = 'A' , GHOST_kKeyB ,
  GHOST_kKeyC , GHOST_kKeyD , GHOST_kKeyE , GHOST_kKeyF ,
  GHOST_kKeyG , GHOST_kKeyH , GHOST_kKeyI , GHOST_kKeyJ ,
  GHOST_kKeyK , GHOST_kKeyL , GHOST_kKeyM , GHOST_kKeyN ,
  GHOST_kKeyO , GHOST_kKeyP , GHOST_kKeyQ , GHOST_kKeyR ,
  GHOST_kKeyS , GHOST_kKeyT , GHOST_kKeyU , GHOST_kKeyV ,
  GHOST_kKeyW , GHOST_kKeyX , GHOST_kKeyY , GHOST_kKeyZ ,
  GHOST_kKeyLeftBracket = '[' , GHOST_kKeyRightBracket = ']' , GHOST_kKeyBackslash = 0x5C , GHOST_kKeyAccentGrave = '`' ,
  GHOST_kKeyLeftShift = 0x100 , GHOST_kKeyRightShift , GHOST_kKeyLeftControl , GHOST_kKeyRightControl ,
  GHOST_kKeyLeftAlt , GHOST_kKeyRightAlt , GHOST_kKeyLeftOS , GHOST_kKeyRightOS ,
  GHOST_kKeyGrLess , GHOST_kKeyApp , GHOST_kKeyCapsLock , GHOST_kKeyNumLock ,
  GHOST_kKeyScrollLock , GHOST_kKeyLeftArrow , GHOST_kKeyRightArrow , GHOST_kKeyUpArrow ,
  GHOST_kKeyDownArrow , GHOST_kKeyPrintScreen , GHOST_kKeyPause , GHOST_kKeyInsert ,
  GHOST_kKeyDelete , GHOST_kKeyHome , GHOST_kKeyEnd , GHOST_kKeyUpPage ,
  GHOST_kKeyDownPage , GHOST_kKeyNumpad0 , GHOST_kKeyNumpad1 , GHOST_kKeyNumpad2 ,
  GHOST_kKeyNumpad3 , GHOST_kKeyNumpad4 , GHOST_kKeyNumpad5 , GHOST_kKeyNumpad6 ,
  GHOST_kKeyNumpad7 , GHOST_kKeyNumpad8 , GHOST_kKeyNumpad9 , GHOST_kKeyNumpadPeriod ,
  GHOST_kKeyNumpadEnter , GHOST_kKeyNumpadPlus , GHOST_kKeyNumpadMinus , GHOST_kKeyNumpadAsterisk ,
  GHOST_kKeyNumpadSlash , GHOST_kKeyF1 , GHOST_kKeyF2 , GHOST_kKeyF3 ,
  GHOST_kKeyF4 , GHOST_kKeyF5 , GHOST_kKeyF6 , GHOST_kKeyF7 ,
  GHOST_kKeyF8 , GHOST_kKeyF9 , GHOST_kKeyF10 , GHOST_kKeyF11 ,
  GHOST_kKeyF12 , GHOST_kKeyF13 , GHOST_kKeyF14 , GHOST_kKeyF15 ,
  GHOST_kKeyF16 , GHOST_kKeyF17 , GHOST_kKeyF18 , GHOST_kKeyF19 ,
  GHOST_kKeyF20 , GHOST_kKeyF21 , GHOST_kKeyF22 , GHOST_kKeyF23 ,
  GHOST_kKeyF24 , GHOST_kKeyMediaPlay , GHOST_kKeyMediaStop , GHOST_kKeyMediaFirst ,
  GHOST_kKeyMediaLast
}
 
enum  GHOST_TGrabCursorMode { GHOST_kGrabDisable = 0 , GHOST_kGrabNormal , GHOST_kGrabWrap , GHOST_kGrabHide }
 
enum  GHOST_TAxisFlag { GHOST_kAxisNone = 0 , GHOST_kAxisX = (1 << 0) , GHOST_kAxisY = (1 << 1) }
 
enum  GHOST_TTrackpadEventSubTypes {
  GHOST_kTrackpadEventUnknown = 0 , GHOST_kTrackpadEventScroll , GHOST_kTrackpadEventRotate , GHOST_kTrackpadEventSwipe ,
  GHOST_kTrackpadEventMagnify , GHOST_kTrackpadEventSmartMagnify
}
 
enum  GHOST_TDragnDropTypes { GHOST_kDragnDropTypeUnknown = 0 , GHOST_kDragnDropTypeFilenames , GHOST_kDragnDropTypeString , GHOST_kDragnDropTypeBitmap }
 
enum  GHOST_TProgress {
  GHOST_kNotStarted = 0 , GHOST_kStarting , GHOST_kInProgress , GHOST_kFinishing ,
  GHOST_kFinished
}
 
enum  GHOST_TUserSpecialDirTypes {
  GHOST_kUserSpecialDirDesktop , GHOST_kUserSpecialDirDocuments , GHOST_kUserSpecialDirDownloads , GHOST_kUserSpecialDirMusic ,
  GHOST_kUserSpecialDirPictures , GHOST_kUserSpecialDirVideos , GHOST_kUserSpecialDirCaches
}
 
enum  GHOST_TDebugFlags { GHOST_kDebugDefault = (1 << 1) , GHOST_kDebugWintab = (1 << 2) }
 
enum  GHOST_NDOF_ButtonT {
  GHOST_NDOF_BUTTON_NONE = -1 , GHOST_NDOF_BUTTON_INVALID = 0 , GHOST_NDOF_BUTTON_MENU = 1 , GHOST_NDOF_BUTTON_FIT = 2 ,
  GHOST_NDOF_BUTTON_TOP = 3 , GHOST_NDOF_BUTTON_LEFT = 4 , GHOST_NDOF_BUTTON_RIGHT = 5 , GHOST_NDOF_BUTTON_FRONT = 6 ,
  GHOST_NDOF_BUTTON_BOTTOM = 7 , GHOST_NDOF_BUTTON_BACK = 8 , GHOST_NDOF_BUTTON_ROLL_CW = 9 , GHOST_NDOF_BUTTON_ROLL_CCW = 10 ,
  GHOST_NDOF_BUTTON_ISO1 = 11 , GHOST_NDOF_BUTTON_ISO2 = 12 , GHOST_NDOF_BUTTON_1 = 13 , GHOST_NDOF_BUTTON_2 = 14 ,
  GHOST_NDOF_BUTTON_3 = 15 , GHOST_NDOF_BUTTON_4 = 16 , GHOST_NDOF_BUTTON_5 = 17 , GHOST_NDOF_BUTTON_6 = 18 ,
  GHOST_NDOF_BUTTON_7 = 19 , GHOST_NDOF_BUTTON_8 = 20 , GHOST_NDOF_BUTTON_9 = 21 , GHOST_NDOF_BUTTON_10 = 22 ,
  GHOST_NDOF_BUTTON_ESC = 23 , GHOST_NDOF_BUTTON_ALT = 24 , GHOST_NDOF_BUTTON_SHIFT = 25 , GHOST_NDOF_BUTTON_CTRL = 26 ,
  GHOST_NDOF_BUTTON_ROTATE = 27 , GHOST_NDOF_BUTTON_PANZOOM = 28 , GHOST_NDOF_BUTTON_DOMINANT = 29 , GHOST_NDOF_BUTTON_PLUS = 30 ,
  GHOST_NDOF_BUTTON_MINUS = 31 , GHOST_NDOF_BUTTON_SPIN_CW = 32 , GHOST_NDOF_BUTTON_SPIN_CCW = 33 , GHOST_NDOF_BUTTON_TILT_CW = 34 ,
  GHOST_NDOF_BUTTON_TILT_CCW = 35 , GHOST_NDOF_BUTTON_ENTER = 36 , GHOST_NDOF_BUTTON_DELETE = 37 , GHOST_NDOF_BUTTON_KBP_F1 = 41 ,
  GHOST_NDOF_BUTTON_KBP_F2 = 42 , GHOST_NDOF_BUTTON_KBP_F3 = 43 , GHOST_NDOF_BUTTON_KBP_F4 = 44 , GHOST_NDOF_BUTTON_KBP_F5 = 45 ,
  GHOST_NDOF_BUTTON_KBP_F6 = 46 , GHOST_NDOF_BUTTON_KBP_F7 = 47 , GHOST_NDOF_BUTTON_KBP_F8 = 48 , GHOST_NDOF_BUTTON_KBP_F9 = 49 ,
  GHOST_NDOF_BUTTON_KBP_F10 = 50 , GHOST_NDOF_BUTTON_KBP_F11 = 51 , GHOST_NDOF_BUTTON_KBP_F12 = 52 , GHOST_NDOF_BUTTON_11 = 77 ,
  GHOST_NDOF_BUTTON_12 = 78 , GHOST_NDOF_BUTTON_V1 = 103 , GHOST_NDOF_BUTTON_V2 = 104 , GHOST_NDOF_BUTTON_V3 = 105 ,
  GHOST_NDOF_BUTTON_SAVE_V1 = 139 , GHOST_NDOF_BUTTON_SAVE_V2 = 140 , GHOST_NDOF_BUTTON_SAVE_V3 = 141 , GHOST_NDOF_BUTTON_TAB = 175 ,
  GHOST_NDOF_BUTTON_SPACE = 176 , GHOST_NDOF_BUTTON_NP_F1 = 229 , GHOST_NDOF_BUTTON_NP_F2 = 230 , GHOST_NDOF_BUTTON_NP_F3 = 231 ,
  GHOST_NDOF_BUTTON_NP_F4 = 232 , GHOST_NDOF_BUTTON_USER = 0x10000
}
 

Functions

 GHOST_DECLARE_HANDLE (GHOST_SystemHandle)
 
 GHOST_DECLARE_HANDLE (GHOST_TimerTaskHandle)
 
 GHOST_DECLARE_HANDLE (GHOST_WindowHandle)
 
 GHOST_DECLARE_HANDLE (GHOST_EventHandle)
 
 GHOST_DECLARE_HANDLE (GHOST_RectangleHandle)
 
 GHOST_DECLARE_HANDLE (GHOST_EventConsumerHandle)
 
 GHOST_DECLARE_HANDLE (GHOST_ContextHandle)
 
 GHOST_DECLARE_HANDLE (GHOST_XrContextHandle)
 

Variables

static const GHOST_TabletData GHOST_TABLET_DATA_NONE
 

Macro Definition Documentation

◆ _GHOST_KEY_MODIFIER_MAX

#define _GHOST_KEY_MODIFIER_MAX   GHOST_kKeyRightOS

Definition at line 450 of file GHOST_Types.h.

◆ _GHOST_KEY_MODIFIER_MIN

#define _GHOST_KEY_MODIFIER_MIN   GHOST_kKeyLeftShift

Definition at line 440 of file GHOST_Types.h.

◆ GHOST_CAPABILITY_FLAG_ALL

#define GHOST_CAPABILITY_FLAG_ALL
Value:

Back-ends should use this, masking out features which are not supported with notes as to why those features cannot be supported.

Definition at line 136 of file GHOST_Types.h.

Referenced by GHOST_SystemCocoa::getCapabilities(), GHOST_SystemHeadless::getCapabilities(), GHOST_SystemSDL::getCapabilities(), GHOST_SystemWayland::getCapabilities(), GHOST_SystemWin32::getCapabilities(), and GHOST_SystemX11::getCapabilities().

◆ GHOST_DECLARE_HANDLE

#define GHOST_DECLARE_HANDLE ( name)
Value:
typedef struct name##__ { \
int unused; \
} *name

Definition at line 41 of file GHOST_Types.h.

◆ GHOST_GRAB_NEEDS_SOFTWARE_CURSOR_FOR_WARP

#define GHOST_GRAB_NEEDS_SOFTWARE_CURSOR_FOR_WARP ( grab)    ((grab) == GHOST_kGrabWrap)

Definition at line 545 of file GHOST_Types.h.

◆ GHOST_kButtonNum

#define GHOST_kButtonNum   (int(GHOST_kButtonMaskButton7) + 1)

Definition at line 243 of file GHOST_Types.h.

◆ GHOST_KEY_MODIFIER_CHECK

#define GHOST_KEY_MODIFIER_CHECK ( key)    (GHOST_KEY_MODIFIER_TO_INDEX(key) < GHOST_KEY_MODIFIER_NUM)

◆ GHOST_KEY_MODIFIER_FROM_INDEX

#define GHOST_KEY_MODIFIER_FROM_INDEX ( key)     (GHOST_TKey)(((unsigned int)(key) + _GHOST_KEY_MODIFIER_MIN))

Definition at line 527 of file GHOST_Types.h.

Referenced by keyboard_depressed_state_push_events_from_change().

◆ GHOST_KEY_MODIFIER_NUM

◆ GHOST_KEY_MODIFIER_TO_INDEX

#define GHOST_KEY_MODIFIER_TO_INDEX ( key)    ((unsigned int)(key)-_GHOST_KEY_MODIFIER_MIN)

◆ GHOST_kNumEventTypes

#define GHOST_kNumEventTypes   (GHOST_kEventImeCompositionEnd + 1)

Definition at line 321 of file GHOST_Types.h.

Referenced by wm_event_add_ghostevent().

◆ GHOST_kStandardCursorFirstCursor

#define GHOST_kStandardCursorFirstCursor   int(GHOST_kStandardCursorDefault)

Definition at line 325 of file GHOST_Types.h.

Referenced by Application::processEvent(), and processEvent().

◆ GHOST_kStandardCursorNumCursors

#define GHOST_kStandardCursorNumCursors   (int(GHOST_kStandardCursorCustom) + 1)

Definition at line 372 of file GHOST_Types.h.

Referenced by mainwindow_do_key(), Application::processEvent(), and processEvent().

Typedef Documentation

◆ GHOST_DialogOptions

◆ GHOST_TabletData

typedef struct GHOST_TabletData GHOST_TabletData

◆ GHOST_TBacktraceFn

typedef void(* GHOST_TBacktraceFn) (void *file_handle)

Definition at line 63 of file GHOST_Types.h.

◆ GHOST_TDragnDropDataPtr

typedef void* GHOST_TDragnDropDataPtr

Definition at line 608 of file GHOST_Types.h.

◆ GHOST_TEmbedderWindowID

Definition at line 761 of file GHOST_Types.h.

◆ GHOST_TEventDataPtr

typedef const void* GHOST_TEventDataPtr

Definition at line 554 of file GHOST_Types.h.

◆ GHOST_TimerProcPtr

typedef void(* GHOST_TimerProcPtr) (struct GHOST_TimerTaskHandle__ *task, uint64_t time)

Definition at line 774 of file GHOST_Types.h.

◆ GHOST_TUserDataPtr

typedef void* GHOST_TUserDataPtr

Definition at line 85 of file GHOST_Types.h.

◆ uchar

typedef unsigned char uchar

Definition at line 31 of file GHOST_Types.h.

◆ uint

typedef unsigned int uint

Definition at line 28 of file GHOST_Types.h.

◆ ulong

typedef unsigned long ulong

Definition at line 30 of file GHOST_Types.h.

◆ ushort

typedef unsigned short ushort

Definition at line 29 of file GHOST_Types.h.

Enumeration Type Documentation

◆ GHOST_DialogOptions

Enumerator
GHOST_DialogWarning 
GHOST_DialogError 

Definition at line 80 of file GHOST_Types.h.

◆ GHOST_GPUFlags

Enumerator
GHOST_gpuStereoVisual 
GHOST_gpuDebugContext 

Definition at line 75 of file GHOST_Types.h.

◆ GHOST_NDOF_ButtonT

NDOF device button event types.

SpaceMouse devices ship with an internal identifier number for each button. Deprecated versions of the 3DxWare SDK have a virtualkeys.h header file where some of these numbers are found but it is basically an arbitrary assignment made by the vendor (3Dconnexion) since the application has the freedom to override as necessary.

Enumerator
GHOST_NDOF_BUTTON_NONE 
GHOST_NDOF_BUTTON_INVALID 
GHOST_NDOF_BUTTON_MENU 
GHOST_NDOF_BUTTON_FIT 
GHOST_NDOF_BUTTON_TOP 
GHOST_NDOF_BUTTON_LEFT 
GHOST_NDOF_BUTTON_RIGHT 
GHOST_NDOF_BUTTON_FRONT 
GHOST_NDOF_BUTTON_BOTTOM 
GHOST_NDOF_BUTTON_BACK 
GHOST_NDOF_BUTTON_ROLL_CW 
GHOST_NDOF_BUTTON_ROLL_CCW 
GHOST_NDOF_BUTTON_ISO1 
GHOST_NDOF_BUTTON_ISO2 
GHOST_NDOF_BUTTON_1 
GHOST_NDOF_BUTTON_2 
GHOST_NDOF_BUTTON_3 
GHOST_NDOF_BUTTON_4 
GHOST_NDOF_BUTTON_5 
GHOST_NDOF_BUTTON_6 
GHOST_NDOF_BUTTON_7 
GHOST_NDOF_BUTTON_8 
GHOST_NDOF_BUTTON_9 
GHOST_NDOF_BUTTON_10 
GHOST_NDOF_BUTTON_ESC 
GHOST_NDOF_BUTTON_ALT 
GHOST_NDOF_BUTTON_SHIFT 
GHOST_NDOF_BUTTON_CTRL 
GHOST_NDOF_BUTTON_ROTATE 
GHOST_NDOF_BUTTON_PANZOOM 
GHOST_NDOF_BUTTON_DOMINANT 
GHOST_NDOF_BUTTON_PLUS 
GHOST_NDOF_BUTTON_MINUS 
GHOST_NDOF_BUTTON_SPIN_CW 
GHOST_NDOF_BUTTON_SPIN_CCW 
GHOST_NDOF_BUTTON_TILT_CW 
GHOST_NDOF_BUTTON_TILT_CCW 
GHOST_NDOF_BUTTON_ENTER 
GHOST_NDOF_BUTTON_DELETE 
GHOST_NDOF_BUTTON_KBP_F1 
GHOST_NDOF_BUTTON_KBP_F2 
GHOST_NDOF_BUTTON_KBP_F3 
GHOST_NDOF_BUTTON_KBP_F4 
GHOST_NDOF_BUTTON_KBP_F5 
GHOST_NDOF_BUTTON_KBP_F6 
GHOST_NDOF_BUTTON_KBP_F7 
GHOST_NDOF_BUTTON_KBP_F8 
GHOST_NDOF_BUTTON_KBP_F9 
GHOST_NDOF_BUTTON_KBP_F10 
GHOST_NDOF_BUTTON_KBP_F11 
GHOST_NDOF_BUTTON_KBP_F12 
GHOST_NDOF_BUTTON_11 
GHOST_NDOF_BUTTON_12 
GHOST_NDOF_BUTTON_V1 
GHOST_NDOF_BUTTON_V2 
GHOST_NDOF_BUTTON_V3 
GHOST_NDOF_BUTTON_SAVE_V1 
GHOST_NDOF_BUTTON_SAVE_V2 
GHOST_NDOF_BUTTON_SAVE_V3 
GHOST_NDOF_BUTTON_TAB 
GHOST_NDOF_BUTTON_SPACE 
GHOST_NDOF_BUTTON_NP_F1 
GHOST_NDOF_BUTTON_NP_F2 
GHOST_NDOF_BUTTON_NP_F3 
GHOST_NDOF_BUTTON_NP_F4 
GHOST_NDOF_BUTTON_USER 

Definition at line 966 of file GHOST_Types.h.

◆ GHOST_TAxisFlag

Enumerator
GHOST_kAxisNone 

Axis that cursor grab will wrap.

GHOST_kAxisX 
GHOST_kAxisY 

Definition at line 547 of file GHOST_Types.h.

◆ GHOST_TButton

Enumerator
GHOST_kButtonMaskNone 
GHOST_kButtonMaskLeft 
GHOST_kButtonMaskMiddle 
GHOST_kButtonMaskRight 
GHOST_kButtonMaskButton4 
GHOST_kButtonMaskButton5 
GHOST_kButtonMaskButton6 
GHOST_kButtonMaskButton7 

Definition at line 232 of file GHOST_Types.h.

◆ GHOST_TCapabilityFlag

Static flag (relating to the back-ends support for features).

Note
When adding new capabilities, add to GHOST_CAPABILITY_FLAG_ALL, then mask out of from the getCapabilities(..) callback with an explanation for why the feature is not supported.
Enumerator
GHOST_kCapabilityCursorWarp 

Set when warping the cursor is supported (re-positioning the users cursor).

GHOST_kCapabilityWindowPosition 

Set when getting/setting the window position is supported.

GHOST_kCapabilityPrimaryClipboard 

Set when a separate primary clipboard is supported. This is a convention for X11/WAYLAND, select text & MMB to paste (without an explicit copy).

GHOST_kCapabilityGPUReadFrontBuffer 

Support for reading the front-buffer.

GHOST_kCapabilityClipboardImages 

Set when there is support for system clipboard copy/paste.

GHOST_kCapabilityDesktopSample 

Support for sampling a color outside of the Blender windows.

GHOST_kCapabilityInputIME 

Supports IME text input methods (when WITH_INPUT_IME is defined).

GHOST_kCapabilityTrackpadPhysicalDirection 

Support detecting the physical trackpad direction.

Definition at line 96 of file GHOST_Types.h.

◆ GHOST_TConsoleWindowState

Enumerator
GHOST_kConsoleWindowStateHide 
GHOST_kConsoleWindowStateShow 
GHOST_kConsoleWindowStateToggle 
GHOST_kConsoleWindowStateHideForNonConsoleLaunch 

Definition at line 207 of file GHOST_Types.h.

◆ GHOST_TDebugFlags

Enumerator
GHOST_kDebugDefault 

Axis that cursor grab will wrap.

GHOST_kDebugWintab 

Definition at line 744 of file GHOST_Types.h.

◆ GHOST_TDragnDropTypes

Enumerator
GHOST_kDragnDropTypeUnknown 
GHOST_kDragnDropTypeFilenames 
GHOST_kDragnDropTypeString 
GHOST_kDragnDropTypeBitmap 

Definition at line 601 of file GHOST_Types.h.

◆ GHOST_TDrawingContextType

Enumerator
GHOST_kDrawingContextTypeNone 

Definition at line 216 of file GHOST_Types.h.

◆ GHOST_TEventType

Enumerator
GHOST_kEventUnknown 
GHOST_kEventCursorMove 

Mouse move event.

Note
GHOST_GetEventData returns GHOST_TEventCursorData.
GHOST_kEventButtonDown 

Mouse button down event.

GHOST_kEventButtonUp 

Mouse button up event.

GHOST_kEventWheel 

Mouse wheel event.

Note
GHOST_GetEventData returns GHOST_TEventWheelData.
GHOST_kEventTrackpad 

Trackpad event.

Note
GHOST_GetEventData returns GHOST_TEventTrackpadData.
GHOST_kEventKeyDown 

Keyboard up/down events.

Includes repeat events, check GHOST_TEventKeyData::is_repeat if detecting repeat events is needed.

Note
GHOST_GetEventData returns GHOST_TEventKeyData.
GHOST_kEventKeyUp 
GHOST_kEventQuitRequest 
GHOST_kEventWindowClose 
GHOST_kEventWindowActivate 
GHOST_kEventWindowDeactivate 
GHOST_kEventWindowUpdate 
GHOST_kEventWindowUpdateDecor 

Client side window decorations have changed and need to be redrawn.

GHOST_kEventWindowSize 
GHOST_kEventWindowMove 
GHOST_kEventWindowDPIHintChanged 
GHOST_kEventDraggingEntered 
GHOST_kEventDraggingUpdated 
GHOST_kEventDraggingExited 
GHOST_kEventDraggingDropDone 
GHOST_kEventOpenMainFile 
GHOST_kEventNativeResolutionChange 
GHOST_kEventImeCompositionStart 
GHOST_kEventImeComposition 
GHOST_kEventImeCompositionEnd 

Definition at line 246 of file GHOST_Types.h.

◆ GHOST_TFireTimeConstant

Enumerator
GHOST_kFireTimeNever 

Definition at line 182 of file GHOST_Types.h.

◆ GHOST_TGrabCursorMode

Enumerator
GHOST_kGrabDisable 

Grab not set.

GHOST_kGrabNormal 

No cursor adjustments.

GHOST_kGrabWrap 

Wrap the mouse location to prevent limiting screen bounds.

GHOST_kGrabHide 

Hide the mouse while grabbing and restore the original location on release (used for number buttons and some other draggable UI elements).

Definition at line 531 of file GHOST_Types.h.

◆ GHOST_TKey

enum GHOST_TKey
Enumerator
GHOST_kKeyUnknown 
GHOST_kKeyBackSpace 
GHOST_kKeyTab 
GHOST_kKeyLinefeed 
GHOST_kKeyClear 
GHOST_kKeyEnter 
GHOST_kKeyEsc 
GHOST_kKeySpace 
GHOST_kKeyQuote 
GHOST_kKeyComma 
GHOST_kKeyMinus 
GHOST_kKeyPlus 
GHOST_kKeyPeriod 
GHOST_kKeySlash 
GHOST_kKey0 
GHOST_kKey1 
GHOST_kKey2 
GHOST_kKey3 
GHOST_kKey4 
GHOST_kKey5 
GHOST_kKey6 
GHOST_kKey7 
GHOST_kKey8 
GHOST_kKey9 
GHOST_kKeySemicolon 
GHOST_kKeyEqual 
GHOST_kKeyA 
GHOST_kKeyB 
GHOST_kKeyC 
GHOST_kKeyD 
GHOST_kKeyE 
GHOST_kKeyF 
GHOST_kKeyG 
GHOST_kKeyH 
GHOST_kKeyI 
GHOST_kKeyJ 
GHOST_kKeyK 
GHOST_kKeyL 
GHOST_kKeyM 
GHOST_kKeyN 
GHOST_kKeyO 
GHOST_kKeyP 
GHOST_kKeyQ 
GHOST_kKeyR 
GHOST_kKeyS 
GHOST_kKeyT 
GHOST_kKeyU 
GHOST_kKeyV 
GHOST_kKeyW 
GHOST_kKeyX 
GHOST_kKeyY 
GHOST_kKeyZ 
GHOST_kKeyLeftBracket 
GHOST_kKeyRightBracket 
GHOST_kKeyBackslash 
GHOST_kKeyAccentGrave 
GHOST_kKeyLeftShift 
GHOST_kKeyRightShift 
GHOST_kKeyLeftControl 
GHOST_kKeyRightControl 
GHOST_kKeyLeftAlt 
GHOST_kKeyRightAlt 
GHOST_kKeyLeftOS 
GHOST_kKeyRightOS 
GHOST_kKeyGrLess 
GHOST_kKeyApp 
GHOST_kKeyCapsLock 
GHOST_kKeyNumLock 
GHOST_kKeyScrollLock 
GHOST_kKeyLeftArrow 
GHOST_kKeyRightArrow 
GHOST_kKeyUpArrow 
GHOST_kKeyDownArrow 
GHOST_kKeyPrintScreen 
GHOST_kKeyPause 
GHOST_kKeyInsert 
GHOST_kKeyDelete 
GHOST_kKeyHome 
GHOST_kKeyEnd 
GHOST_kKeyUpPage 
GHOST_kKeyDownPage 
GHOST_kKeyNumpad0 
GHOST_kKeyNumpad1 
GHOST_kKeyNumpad2 
GHOST_kKeyNumpad3 
GHOST_kKeyNumpad4 
GHOST_kKeyNumpad5 
GHOST_kKeyNumpad6 
GHOST_kKeyNumpad7 
GHOST_kKeyNumpad8 
GHOST_kKeyNumpad9 
GHOST_kKeyNumpadPeriod 
GHOST_kKeyNumpadEnter 
GHOST_kKeyNumpadPlus 
GHOST_kKeyNumpadMinus 
GHOST_kKeyNumpadAsterisk 
GHOST_kKeyNumpadSlash 
GHOST_kKeyF1 
GHOST_kKeyF2 
GHOST_kKeyF3 
GHOST_kKeyF4 
GHOST_kKeyF5 
GHOST_kKeyF6 
GHOST_kKeyF7 
GHOST_kKeyF8 
GHOST_kKeyF9 
GHOST_kKeyF10 
GHOST_kKeyF11 
GHOST_kKeyF12 
GHOST_kKeyF13 
GHOST_kKeyF14 
GHOST_kKeyF15 
GHOST_kKeyF16 
GHOST_kKeyF17 
GHOST_kKeyF18 
GHOST_kKeyF19 
GHOST_kKeyF20 
GHOST_kKeyF21 
GHOST_kKeyF22 
GHOST_kKeyF23 
GHOST_kKeyF24 
GHOST_kKeyMediaPlay 
GHOST_kKeyMediaStop 
GHOST_kKeyMediaFirst 
GHOST_kKeyMediaLast 

Definition at line 375 of file GHOST_Types.h.

◆ GHOST_TModifierKey

Enumerator
GHOST_kModifierKeyLeftShift 
GHOST_kModifierKeyRightShift 
GHOST_kModifierKeyLeftAlt 
GHOST_kModifierKeyRightAlt 
GHOST_kModifierKeyLeftControl 
GHOST_kModifierKeyRightControl 
GHOST_kModifierKeyLeftOS 
GHOST_kModifierKeyRightOS 
GHOST_kModifierKeyNum 

Definition at line 184 of file GHOST_Types.h.

◆ GHOST_TProgress

Enumerator
GHOST_kNotStarted 
GHOST_kStarting 
GHOST_kInProgress 
GHOST_kFinishing 
GHOST_kFinished 

Definition at line 643 of file GHOST_Types.h.

◆ GHOST_TStandardCursor

Enumerator
GHOST_kStandardCursorDefault 
GHOST_kStandardCursorRightArrow 
GHOST_kStandardCursorLeftArrow 
GHOST_kStandardCursorInfo 
GHOST_kStandardCursorDestroy 
GHOST_kStandardCursorHelp 
GHOST_kStandardCursorWait 
GHOST_kStandardCursorText 
GHOST_kStandardCursorCrosshair 
GHOST_kStandardCursorCrosshairA 
GHOST_kStandardCursorCrosshairB 
GHOST_kStandardCursorCrosshairC 
GHOST_kStandardCursorPencil 
GHOST_kStandardCursorUpArrow 
GHOST_kStandardCursorDownArrow 
GHOST_kStandardCursorVerticalSplit 
GHOST_kStandardCursorHorizontalSplit 
GHOST_kStandardCursorEraser 
GHOST_kStandardCursorKnife 
GHOST_kStandardCursorEyedropper 
GHOST_kStandardCursorZoomIn 
GHOST_kStandardCursorZoomOut 
GHOST_kStandardCursorMove 
GHOST_kStandardCursorNSEWScroll 
GHOST_kStandardCursorNSScroll 
GHOST_kStandardCursorEWScroll 
GHOST_kStandardCursorStop 
GHOST_kStandardCursorUpDown 
GHOST_kStandardCursorLeftRight 
GHOST_kStandardCursorTopSide 
GHOST_kStandardCursorBottomSide 
GHOST_kStandardCursorLeftSide 
GHOST_kStandardCursorRightSide 
GHOST_kStandardCursorTopLeftCorner 
GHOST_kStandardCursorTopRightCorner 
GHOST_kStandardCursorBottomRightCorner 
GHOST_kStandardCursorBottomLeftCorner 
GHOST_kStandardCursorCopy 
GHOST_kStandardCursorLeftHandle 
GHOST_kStandardCursorRightHandle 
GHOST_kStandardCursorBothHandles 
GHOST_kStandardCursorHandOpen 
GHOST_kStandardCursorHandClosed 
GHOST_kStandardCursorHandPoint 
GHOST_kStandardCursorCustom 

Definition at line 324 of file GHOST_Types.h.

◆ GHOST_TSuccess

Enumerator
GHOST_kFailure 
GHOST_kSuccess 

Definition at line 87 of file GHOST_Types.h.

◆ GHOST_TTabletAPI

Enumerator
GHOST_kTabletAutomatic 
GHOST_kTabletWinPointer 
GHOST_kTabletWintab 

Definition at line 155 of file GHOST_Types.h.

◆ GHOST_TTabletMode

Enumerator
GHOST_kTabletModeNone 
GHOST_kTabletModeStylus 
GHOST_kTabletModeEraser 

Definition at line 149 of file GHOST_Types.h.

◆ GHOST_TTrackpadEventSubTypes

Enumerator
GHOST_kTrackpadEventUnknown 
GHOST_kTrackpadEventScroll 
GHOST_kTrackpadEventRotate 
GHOST_kTrackpadEventSwipe 
GHOST_kTrackpadEventMagnify 
GHOST_kTrackpadEventSmartMagnify 

Definition at line 577 of file GHOST_Types.h.

◆ GHOST_TUserSpecialDirTypes

Enumerator
GHOST_kUserSpecialDirDesktop 
GHOST_kUserSpecialDirDocuments 
GHOST_kUserSpecialDirDownloads 
GHOST_kUserSpecialDirMusic 
GHOST_kUserSpecialDirPictures 
GHOST_kUserSpecialDirVideos 
GHOST_kUserSpecialDirCaches 

Definition at line 694 of file GHOST_Types.h.

◆ GHOST_TVisibility

Enumerator
GHOST_kNotVisible 
GHOST_kPartiallyVisible 
GHOST_kFullyVisible 

Definition at line 176 of file GHOST_Types.h.

◆ GHOST_TWindowOrder

Enumerator
GHOST_kWindowOrderTop 
GHOST_kWindowOrderBottom 

Definition at line 214 of file GHOST_Types.h.

◆ GHOST_TWindowState

Note
these values are stored in wmWindow::windowstate, don't change, only add new values.
Enumerator
GHOST_kWindowStateNormal 
GHOST_kWindowStateMaximized 
GHOST_kWindowStateMinimized 
GHOST_kWindowStateFullScreen 

Definition at line 200 of file GHOST_Types.h.

Function Documentation

◆ GHOST_DECLARE_HANDLE() [1/8]

GHOST_DECLARE_HANDLE ( GHOST_ContextHandle )

◆ GHOST_DECLARE_HANDLE() [2/8]

GHOST_DECLARE_HANDLE ( GHOST_EventConsumerHandle )

◆ GHOST_DECLARE_HANDLE() [3/8]

GHOST_DECLARE_HANDLE ( GHOST_EventHandle )

◆ GHOST_DECLARE_HANDLE() [4/8]

GHOST_DECLARE_HANDLE ( GHOST_RectangleHandle )

◆ GHOST_DECLARE_HANDLE() [5/8]

GHOST_DECLARE_HANDLE ( GHOST_SystemHandle )

Creates a "handle" for a C++ GHOST object. A handle is just an opaque pointer to an empty struct. In the API the pointer is cast to the actual C++ class. The 'name' argument to the macro is the name of the handle to create.

◆ GHOST_DECLARE_HANDLE() [6/8]

GHOST_DECLARE_HANDLE ( GHOST_TimerTaskHandle )

◆ GHOST_DECLARE_HANDLE() [7/8]

GHOST_DECLARE_HANDLE ( GHOST_WindowHandle )

◆ GHOST_DECLARE_HANDLE() [8/8]

GHOST_DECLARE_HANDLE ( GHOST_XrContextHandle )

Variable Documentation

◆ GHOST_TABLET_DATA_NONE