Blender V4.3
GHOST_Types.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2001-2002 NaN Holding BV. All rights reserved.
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include <stdint.h>
12
13#ifdef WITH_VULKAN_BACKEND
14# ifdef __APPLE__
15# include <MoltenVK/vk_mvk_moltenvk.h>
16# else
17# include <vulkan/vulkan.h>
18# endif
19#endif
20
21/* This is used by `GHOST_C-api.h` too, cannot use C++ conventions. */
22// NOLINTBEGIN: modernize-use-using
23
24#ifdef WITH_CXX_GUARDEDALLOC
25# include "MEM_guardedalloc.h"
26#else
27/* Convenience unsigned abbreviations (#WITH_CXX_GUARDEDALLOC defines these). */
28typedef unsigned int uint;
29typedef unsigned short ushort;
30typedef unsigned long ulong;
31typedef unsigned char uchar;
32#endif
33
34#if defined(WITH_CXX_GUARDEDALLOC) && defined(__cplusplus)
35# define GHOST_DECLARE_HANDLE(name) \
36 typedef struct name##__ { \
37 int unused; \
38 MEM_CXX_CLASS_ALLOC_FUNCS(#name) \
39 } *name
40#else
41# define GHOST_DECLARE_HANDLE(name) \
42 typedef struct name##__ { \
43 int unused; \
44 } *name
45#endif
46
54GHOST_DECLARE_HANDLE(GHOST_SystemHandle);
55GHOST_DECLARE_HANDLE(GHOST_TimerTaskHandle);
56GHOST_DECLARE_HANDLE(GHOST_WindowHandle);
57GHOST_DECLARE_HANDLE(GHOST_EventHandle);
58GHOST_DECLARE_HANDLE(GHOST_RectangleHandle);
59GHOST_DECLARE_HANDLE(GHOST_EventConsumerHandle);
60GHOST_DECLARE_HANDLE(GHOST_ContextHandle);
61GHOST_DECLARE_HANDLE(GHOST_XrContextHandle);
62
63typedef void (*GHOST_TBacktraceFn)(void *file_handle);
64
68typedef struct {
70 const uint8_t *data;
71 int data_size[2];
72 int hot_spot[2];
74
75typedef enum {
79
84
85typedef void *GHOST_TUserDataPtr;
86
88
131
136#define GHOST_CAPABILITY_FLAG_ALL \
137 (GHOST_kCapabilityCursorWarp | GHOST_kCapabilityWindowPosition | \
138 GHOST_kCapabilityPrimaryClipboard | GHOST_kCapabilityGPUReadFrontBuffer | \
139 GHOST_kCapabilityClipboardImages | GHOST_kCapabilityDesktopSample | \
140 GHOST_kCapabilityInputIME | GHOST_kCapabilityTrackpadPhysicalDirection)
141
142/* Xtilt and Ytilt represent how much the pen is tilted away from
143 * vertically upright in either the X or Y direction, with X and Y the
144 * axes of the tablet surface.
145 * In other words, Xtilt and Ytilt are components of a vector created by projecting
146 * the pen's angle in 3D space vertically downwards on to the XY plane
147 * --Matt
148 */
154
155typedef enum {
157 /* Show as Windows Ink to users to match "Use Windows Ink" in tablet utilities,
158 * but we use the dependent Windows Pointer API. */
162
163typedef struct GHOST_TabletData {
164 GHOST_TTabletMode Active; /* 0=None, 1=Stylus, 2=Eraser */
165 float Pressure; /* range 0.0 (not touching) to 1.0 (full pressure) */
166 float Xtilt; /* range 0.0 (upright) to 1.0 (tilted fully against the tablet surface) */
167 float Ytilt; /* as above */
169
171 GHOST_kTabletModeNone, /* No cursor in range */
172 1.0f, /* Pressure */
173 0.0f, /* Xtilt */
174 0.0f}; /* Ytilt */
175
181
182typedef enum { GHOST_kFireTimeNever = 0xFFFFFFFF } GHOST_TFireTimeConstant;
183
195
206
213
215
216typedef enum {
218#if defined(WITH_OPENGL_BACKEND)
219 GHOST_kDrawingContextTypeOpenGL,
220#endif
221#ifdef WIN32
222 GHOST_kDrawingContextTypeD3D,
223#endif
224#if defined(__APPLE__) && defined(WITH_METAL_BACKEND)
225 GHOST_kDrawingContextTypeMetal,
226#endif
227#ifdef WITH_VULKAN_BACKEND
228 GHOST_kDrawingContextTypeVulkan,
229#endif
231
245
323
324typedef enum {
325#define GHOST_kStandardCursorFirstCursor int(GHOST_kStandardCursorDefault)
371
372#define GHOST_kStandardCursorNumCursors (int(GHOST_kStandardCursorCustom) + 1)
374
375typedef enum {
382
391
392 /* Number keys. */
403
406
407 /* Character keys. */
434
439
440#define _GHOST_KEY_MODIFIER_MIN GHOST_kKeyLeftShift
441 /* Modifiers: See #GHOST_KEY_MODIFIER_CHECK. */
448 GHOST_kKeyLeftOS, /* Command key on Apple, Windows key(s) on Windows. */
450#define _GHOST_KEY_MODIFIER_MAX GHOST_kKeyRightOS
451
452 GHOST_kKeyGrLess, /* German PC only! */
453 GHOST_kKeyApp, /* Also known as menu key. */
454
458
463
466
473
474 /* Numpad keys. */
491
492 /* Function keys. */
517
518 /* Multimedia keypad buttons. */
524
525#define GHOST_KEY_MODIFIER_NUM ((_GHOST_KEY_MODIFIER_MAX - _GHOST_KEY_MODIFIER_MIN) + 1)
526#define GHOST_KEY_MODIFIER_TO_INDEX(key) ((unsigned int)(key)-_GHOST_KEY_MODIFIER_MIN)
527#define GHOST_KEY_MODIFIER_FROM_INDEX(key) \
528 (GHOST_TKey)(((unsigned int)(key) + _GHOST_KEY_MODIFIER_MIN))
529#define GHOST_KEY_MODIFIER_CHECK(key) (GHOST_KEY_MODIFIER_TO_INDEX(key) < GHOST_KEY_MODIFIER_NUM)
530
544
545#define GHOST_GRAB_NEEDS_SOFTWARE_CURSOR_FOR_WARP(grab) ((grab) == GHOST_kGrabWrap)
546
547typedef enum {
550 GHOST_kAxisX = (1 << 0),
551 GHOST_kAxisY = (1 << 1),
553
554typedef const void *GHOST_TEventDataPtr;
555
564
571
572typedef struct {
576
585
600
601typedef enum {
603 GHOST_kDragnDropTypeFilenames, /* Array of strings representing file names (full path). */
604 GHOST_kDragnDropTypeString, /* Unformatted text UTF-8 string. */
605 GHOST_kDragnDropTypeBitmap /* Bitmap image data. */
607
609
620
637
638typedef struct {
639 int count;
642
650
651#ifdef WITH_INPUT_NDOF
652typedef struct {
654 /* Each component normally ranges from -1 to +1, but can exceed that.
655 * These use blender standard view coordinates,
656 * with positive rotations being CCW about the axis. */
657 /* translation: */
658 float tx, ty, tz;
659 /* rotation:
660 * - `axis = (rx,ry,rz).normalized`
661 * - `amount = (rx,ry,rz).magnitude` [in revolutions, 1.0 = 360 deg]. */
662 float rx, ry, rz;
664 float dt;
666 GHOST_TProgress progress;
667} GHOST_TEventNDOFMotionData;
668
669typedef enum { GHOST_kPress, GHOST_kRelease } GHOST_TButtonAction;
670/* Good for mouse or other buttons too? */
671
672typedef struct {
673 GHOST_TButtonAction action;
674 short button;
675} GHOST_TEventNDOFButtonData;
676#endif // WITH_INPUT_NDOF
677
678typedef struct {
681
683 char utf8_buf[6];
684
693
704
715
724
730
731#ifdef WITH_VULKAN_BACKEND
732typedef struct {
734 uint32_t swap_chain_index;
736 VkImage image;
738 VkFormat format;
740 VkExtent2D extent;
741} GHOST_VulkanSwapChainData;
742#endif
743
744typedef enum {
749
750typedef struct {
751 int flags;
753
754#ifdef _WIN32
755typedef void *GHOST_TEmbedderWindowID;
756#endif // _WIN32
757
758#ifndef _WIN32
759/* I can't use "Window" from `X11/Xlib.h`
760 * because it conflicts with Window defined in `winlay.h`. */
762#endif // _WIN32
763
769#ifdef __cplusplus
770class GHOST_ITimerTask;
771typedef void (*GHOST_TimerProcPtr)(GHOST_ITimerTask *task, uint64_t time);
772#else
773struct GHOST_TimerTaskHandle__;
774typedef void (*GHOST_TimerProcPtr)(struct GHOST_TimerTaskHandle__ *task, uint64_t time);
775#endif
776
777#ifdef WITH_XR_OPENXR
778
779struct GHOST_XrDrawViewInfo;
780struct GHOST_XrError;
788typedef enum GHOST_TXrGraphicsBinding {
789 GHOST_kXrGraphicsUnknown = 0,
790 GHOST_kXrGraphicsOpenGL,
791# ifdef WIN32
792 GHOST_kXrGraphicsD3D11,
793# endif
794 /* For later */
795 // GHOST_kXrGraphicsVulkan,
796} GHOST_TXrGraphicsBinding;
797
798typedef void (*GHOST_XrErrorHandlerFn)(const struct GHOST_XrError *);
799
800typedef void (*GHOST_XrSessionCreateFn)(void);
801typedef void (*GHOST_XrSessionExitFn)(void *customdata);
802typedef void (*GHOST_XrCustomdataFreeFn)(void *customdata);
803
804typedef void *(*GHOST_XrGraphicsContextBindFn)(void);
805typedef void (*GHOST_XrGraphicsContextUnbindFn)(GHOST_ContextHandle graphics_context);
806typedef void (*GHOST_XrDrawViewFn)(const struct GHOST_XrDrawViewInfo *draw_view, void *customdata);
807typedef bool (*GHOST_XrPassthroughEnabledFn)(void *customdata);
808typedef void (*GHOST_XrDisablePassthroughFn)(void *customdata);
809
814typedef const GHOST_TXrGraphicsBinding *GHOST_XrGraphicsBindingCandidates;
815
816typedef struct {
817 bool is_active;
818 float position[3];
819 /* Blender convention (w, x, y, z) */
820 float orientation_quat[4];
821} GHOST_XrPose;
822
823enum {
824 GHOST_kXrContextDebug = (1 << 0),
825 GHOST_kXrContextDebugTime = (1 << 1),
826# ifdef WIN32
827 /* Needed to avoid issues with the SteamVR OpenGL graphics binding
828 * (use DirectX fallback instead). */
829 GHOST_kXrContextGpuNVIDIA = (1 << 2),
830# endif
831};
832
833typedef struct {
834 const GHOST_XrGraphicsBindingCandidates gpu_binding_candidates;
835 unsigned int gpu_binding_candidates_count;
836
837 unsigned int context_flag;
838} GHOST_XrContextCreateInfo;
839
840typedef struct {
841 GHOST_XrPose base_pose;
842
843 GHOST_XrSessionCreateFn create_fn;
844 GHOST_XrSessionExitFn exit_fn;
845 void *exit_customdata;
846} GHOST_XrSessionBeginInfo;
847
849typedef enum GHOST_TXrSwapchainFormat {
850 GHOST_kXrSwapchainFormatRGBA8,
851 GHOST_kXrSwapchainFormatRGBA16,
852 GHOST_kXrSwapchainFormatRGBA16F,
853 GHOST_kXrSwapchainFormatRGB10_A2,
854} GHOST_TXrSwapchainFormat;
855
856typedef struct GHOST_XrDrawViewInfo {
857 int ofsx, ofsy;
858 int width, height;
859
860 GHOST_XrPose eye_pose;
861 GHOST_XrPose local_pose;
862
863 struct {
864 float angle_left, angle_right;
865 float angle_up, angle_down;
866 } fov;
867
868 GHOST_TXrSwapchainFormat swapchain_format;
870 char expects_srgb_buffer;
871
874 char view_idx;
875} GHOST_XrDrawViewInfo;
876
877typedef struct GHOST_XrError {
878 const char *user_message;
879
880 void *customdata;
881} GHOST_XrError;
882
883typedef struct GHOST_XrActionSetInfo {
884 const char *name;
885
886 GHOST_XrCustomdataFreeFn customdata_free_fn;
887 void *customdata; /* wmXrActionSet */
888} GHOST_XrActionSetInfo;
889
892typedef enum GHOST_XrActionType {
893 GHOST_kXrActionTypeBooleanInput = 1,
894 GHOST_kXrActionTypeFloatInput = 2,
895 GHOST_kXrActionTypeVector2fInput = 3,
896 GHOST_kXrActionTypePoseInput = 4,
897 GHOST_kXrActionTypeVibrationOutput = 100,
898} GHOST_XrActionType;
899
900typedef struct GHOST_XrActionInfo {
901 const char *name;
902 GHOST_XrActionType type;
903 uint32_t count_subaction_paths;
904 const char **subaction_paths;
906 void *states;
908 float *float_thresholds;
909 int16_t *axis_flags;
910
911 GHOST_XrCustomdataFreeFn customdata_free_fn;
912 void *customdata; /* wmXrAction */
913} GHOST_XrActionInfo;
914
915typedef struct GHOST_XrActionBindingInfo {
916 const char *component_path;
917 float float_threshold;
918 int16_t axis_flag;
919 GHOST_XrPose pose;
920} GHOST_XrActionBindingInfo;
921
922typedef struct GHOST_XrActionProfileInfo {
923 const char *action_name;
924 const char *profile_path;
925 uint32_t count_subaction_paths;
926 const char **subaction_paths;
928 const GHOST_XrActionBindingInfo *bindings;
929} GHOST_XrActionProfileInfo;
930
931typedef struct GHOST_XrControllerModelVertex {
932 float position[3];
933 float normal[3];
934} GHOST_XrControllerModelVertex;
935
936typedef struct GHOST_XrControllerModelComponent {
938 float transform[4][4];
939 uint32_t vertex_offset;
940 uint32_t vertex_count;
941 uint32_t index_offset;
942 uint32_t index_count;
943} GHOST_XrControllerModelComponent;
944
945typedef struct GHOST_XrControllerModelData {
946 uint32_t count_vertices;
947 const GHOST_XrControllerModelVertex *vertices;
949 const uint32_t *indices;
950 uint32_t count_components;
951 const GHOST_XrControllerModelComponent *components;
952} GHOST_XrControllerModelData;
953
954#endif /* WITH_XR_OPENXR */
955
956// NOLINTEND: modernize-use-using
957
966typedef enum {
967
969 /* Used internally, never sent or used as an index. */
971
972 /* These two are available from any 3Dconnexion device. */
975
976 /* Standard views. */
983
984 /* 90 degrees rotations. */
987
988 /* More views. */
991
992 /* General-purpose buttons.
993 * Users can assign functions via keymap editor. */
1004
1005 /* Keyboard keys. */
1010
1011 /* Device control. */
1017
1018 /* New spin buttons. */
1023
1024 /* Keyboard keys. */
1027
1028 /* Keyboard Pro special buttons. */
1041
1042 /* General-purpose buttons.
1043 * Users can assign functions via keymap editor. */
1046
1047 /* Store views. */
1054
1055 /* Keyboard keys. */
1058
1059 /* Numpad Pro special buttons. */
1064
1065 GHOST_NDOF_BUTTON_USER = 0x10000
1066
GHOST_TTrackpadEventSubTypes
@ GHOST_kTrackpadEventSwipe
@ GHOST_kTrackpadEventMagnify
@ GHOST_kTrackpadEventSmartMagnify
@ GHOST_kTrackpadEventUnknown
@ GHOST_kTrackpadEventRotate
@ GHOST_kTrackpadEventScroll
GHOST_TWindowState
@ GHOST_kWindowStateMinimized
@ GHOST_kWindowStateMaximized
@ GHOST_kWindowStateNormal
@ GHOST_kWindowStateFullScreen
void * GHOST_TUserDataPtr
Definition GHOST_Types.h:85
GHOST_TStandardCursor
@ GHOST_kStandardCursorLeftHandle
@ GHOST_kStandardCursorHandClosed
@ GHOST_kStandardCursorHandOpen
@ GHOST_kStandardCursorBottomLeftCorner
@ GHOST_kStandardCursorZoomIn
@ GHOST_kStandardCursorVerticalSplit
@ GHOST_kStandardCursorHelp
@ GHOST_kStandardCursorCopy
@ GHOST_kStandardCursorWait
@ GHOST_kStandardCursorRightHandle
@ GHOST_kStandardCursorHorizontalSplit
@ GHOST_kStandardCursorTopSide
@ GHOST_kStandardCursorStop
@ GHOST_kStandardCursorCrosshair
@ GHOST_kStandardCursorCustom
@ GHOST_kStandardCursorNSEWScroll
@ GHOST_kStandardCursorLeftRight
@ GHOST_kStandardCursorPencil
@ GHOST_kStandardCursorNSScroll
@ GHOST_kStandardCursorCrosshairA
@ GHOST_kStandardCursorUpDown
@ GHOST_kStandardCursorUpArrow
@ GHOST_kStandardCursorHandPoint
@ GHOST_kStandardCursorBottomSide
@ GHOST_kStandardCursorBothHandles
@ GHOST_kStandardCursorInfo
@ GHOST_kStandardCursorTopLeftCorner
@ GHOST_kStandardCursorEyedropper
@ GHOST_kStandardCursorKnife
@ GHOST_kStandardCursorMove
@ GHOST_kStandardCursorCrosshairB
@ GHOST_kStandardCursorBottomRightCorner
@ GHOST_kStandardCursorDownArrow
@ GHOST_kStandardCursorEraser
@ GHOST_kStandardCursorDefault
@ GHOST_kStandardCursorEWScroll
@ GHOST_kStandardCursorRightSide
@ GHOST_kStandardCursorRightArrow
@ GHOST_kStandardCursorTopRightCorner
@ GHOST_kStandardCursorDestroy
@ GHOST_kStandardCursorCrosshairC
@ GHOST_kStandardCursorZoomOut
@ GHOST_kStandardCursorLeftSide
@ GHOST_kStandardCursorText
@ GHOST_kStandardCursorLeftArrow
GHOST_NDOF_ButtonT
@ GHOST_NDOF_BUTTON_KBP_F11
@ GHOST_NDOF_BUTTON_TILT_CCW
@ GHOST_NDOF_BUTTON_FRONT
@ GHOST_NDOF_BUTTON_CTRL
@ GHOST_NDOF_BUTTON_NONE
@ GHOST_NDOF_BUTTON_KBP_F7
@ GHOST_NDOF_BUTTON_FIT
@ GHOST_NDOF_BUTTON_DOMINANT
@ GHOST_NDOF_BUTTON_SPIN_CW
@ GHOST_NDOF_BUTTON_SPACE
@ GHOST_NDOF_BUTTON_DELETE
@ GHOST_NDOF_BUTTON_1
@ GHOST_NDOF_BUTTON_NP_F2
@ GHOST_NDOF_BUTTON_RIGHT
@ GHOST_NDOF_BUTTON_INVALID
@ GHOST_NDOF_BUTTON_KBP_F9
@ GHOST_NDOF_BUTTON_MINUS
@ GHOST_NDOF_BUTTON_ISO1
@ GHOST_NDOF_BUTTON_SAVE_V1
@ GHOST_NDOF_BUTTON_9
@ GHOST_NDOF_BUTTON_PANZOOM
@ GHOST_NDOF_BUTTON_MENU
@ GHOST_NDOF_BUTTON_ROLL_CW
@ GHOST_NDOF_BUTTON_KBP_F1
@ GHOST_NDOF_BUTTON_ROLL_CCW
@ GHOST_NDOF_BUTTON_V1
@ GHOST_NDOF_BUTTON_BACK
@ GHOST_NDOF_BUTTON_ISO2
@ GHOST_NDOF_BUTTON_KBP_F12
@ GHOST_NDOF_BUTTON_V2
@ GHOST_NDOF_BUTTON_3
@ GHOST_NDOF_BUTTON_SPIN_CCW
@ GHOST_NDOF_BUTTON_TOP
@ GHOST_NDOF_BUTTON_PLUS
@ GHOST_NDOF_BUTTON_2
@ GHOST_NDOF_BUTTON_TILT_CW
@ GHOST_NDOF_BUTTON_SAVE_V3
@ GHOST_NDOF_BUTTON_8
@ GHOST_NDOF_BUTTON_SAVE_V2
@ GHOST_NDOF_BUTTON_TAB
@ GHOST_NDOF_BUTTON_10
@ GHOST_NDOF_BUTTON_ALT
@ GHOST_NDOF_BUTTON_USER
@ GHOST_NDOF_BUTTON_KBP_F8
@ GHOST_NDOF_BUTTON_KBP_F5
@ GHOST_NDOF_BUTTON_KBP_F6
@ GHOST_NDOF_BUTTON_NP_F1
@ GHOST_NDOF_BUTTON_KBP_F2
@ GHOST_NDOF_BUTTON_4
@ GHOST_NDOF_BUTTON_V3
@ GHOST_NDOF_BUTTON_7
@ GHOST_NDOF_BUTTON_ESC
@ GHOST_NDOF_BUTTON_NP_F4
@ GHOST_NDOF_BUTTON_NP_F3
@ GHOST_NDOF_BUTTON_KBP_F3
@ GHOST_NDOF_BUTTON_12
@ GHOST_NDOF_BUTTON_11
@ GHOST_NDOF_BUTTON_5
@ GHOST_NDOF_BUTTON_BOTTOM
@ GHOST_NDOF_BUTTON_ROTATE
@ GHOST_NDOF_BUTTON_KBP_F10
@ GHOST_NDOF_BUTTON_ENTER
@ GHOST_NDOF_BUTTON_KBP_F4
@ GHOST_NDOF_BUTTON_6
@ GHOST_NDOF_BUTTON_SHIFT
@ GHOST_NDOF_BUTTON_LEFT
GHOST_TEventType
@ GHOST_kEventWindowClose
@ GHOST_kEventWheel
@ GHOST_kEventWindowMove
@ GHOST_kEventWindowSize
@ GHOST_kEventDraggingDropDone
@ GHOST_kEventDraggingExited
@ GHOST_kEventNativeResolutionChange
@ GHOST_kEventImeComposition
@ GHOST_kEventCursorMove
@ GHOST_kEventDraggingUpdated
@ GHOST_kEventOpenMainFile
@ GHOST_kEventDraggingEntered
@ GHOST_kEventButtonUp
@ GHOST_kEventWindowActivate
@ GHOST_kEventWindowUpdateDecor
@ GHOST_kEventTrackpad
@ GHOST_kEventWindowUpdate
@ GHOST_kEventWindowDeactivate
@ GHOST_kEventButtonDown
@ GHOST_kEventKeyDown
@ GHOST_kEventImeCompositionStart
@ GHOST_kEventImeCompositionEnd
@ GHOST_kEventWindowDPIHintChanged
@ GHOST_kEventUnknown
@ GHOST_kEventKeyUp
@ GHOST_kEventQuitRequest
static const GHOST_TabletData GHOST_TABLET_DATA_NONE
GHOST_TDebugFlags
@ GHOST_kDebugDefault
@ GHOST_kDebugWintab
GHOST_TTabletMode
@ GHOST_kTabletModeEraser
@ GHOST_kTabletModeStylus
@ GHOST_kTabletModeNone
GHOST_TCapabilityFlag
Definition GHOST_Types.h:96
@ GHOST_kCapabilityWindowPosition
@ GHOST_kCapabilityGPUReadFrontBuffer
@ GHOST_kCapabilityCursorWarp
@ GHOST_kCapabilityInputIME
@ GHOST_kCapabilityTrackpadPhysicalDirection
@ GHOST_kCapabilityClipboardImages
@ GHOST_kCapabilityPrimaryClipboard
@ GHOST_kCapabilityDesktopSample
GHOST_TVisibility
@ GHOST_kFullyVisible
@ GHOST_kPartiallyVisible
@ GHOST_kNotVisible
GHOST_TAxisFlag
@ GHOST_kAxisX
@ GHOST_kAxisY
@ GHOST_kAxisNone
unsigned char uchar
Definition GHOST_Types.h:31
void * GHOST_TDragnDropDataPtr
unsigned long ulong
Definition GHOST_Types.h:30
void(* GHOST_TimerProcPtr)(struct GHOST_TimerTaskHandle__ *task, uint64_t time)
#define GHOST_DECLARE_HANDLE(name)
Definition GHOST_Types.h:41
GHOST_TKey
@ GHOST_kKeyLeftOS
@ GHOST_kKeyInsert
@ GHOST_kKeySemicolon
@ GHOST_kKey5
@ GHOST_kKeyMediaPlay
@ GHOST_kKeyZ
@ GHOST_kKeyQuote
@ GHOST_kKey4
@ GHOST_kKeyT
@ GHOST_kKeyNumpad3
@ GHOST_kKeyAccentGrave
@ GHOST_kKeyNumpad1
@ GHOST_kKeyW
@ GHOST_kKeyLeftAlt
@ GHOST_kKey3
@ GHOST_kKeyG
@ GHOST_kKeyF23
@ GHOST_kKeyF9
@ GHOST_kKeyC
@ GHOST_kKeyRightShift
@ GHOST_kKeyNumLock
@ GHOST_kKeyI
@ GHOST_kKeyEnter
@ GHOST_kKeyF20
@ GHOST_kKeyP
@ GHOST_kKeyJ
@ GHOST_kKeyNumpadSlash
@ GHOST_kKeyRightArrow
@ GHOST_kKeyF13
@ GHOST_kKeyF6
@ GHOST_kKeyNumpad4
@ GHOST_kKeyF11
@ GHOST_kKeyR
@ GHOST_kKeyF24
@ GHOST_kKeyN
@ GHOST_kKeyPause
@ GHOST_kKeyCapsLock
@ GHOST_kKeyApp
@ GHOST_kKeyMinus
@ GHOST_kKeyO
@ GHOST_kKey6
@ GHOST_kKeyMediaStop
@ GHOST_kKeyBackSpace
@ GHOST_kKey0
@ GHOST_kKeyF5
@ GHOST_kKeyF19
@ GHOST_kKeyDownPage
@ GHOST_kKeyGrLess
@ GHOST_kKeyDownArrow
@ GHOST_kKeyRightOS
@ GHOST_kKeyQ
@ GHOST_kKeyClear
@ GHOST_kKeyNumpadPeriod
@ GHOST_kKeyF12
@ GHOST_kKeyF1
@ GHOST_kKeyF
@ GHOST_kKeyU
@ GHOST_kKeyNumpadAsterisk
@ GHOST_kKeyF22
@ GHOST_kKeyB
@ GHOST_kKeyPrintScreen
@ GHOST_kKeyLeftControl
@ GHOST_kKeyLeftBracket
@ GHOST_kKey1
@ GHOST_kKeyM
@ GHOST_kKeyTab
@ GHOST_kKey8
@ GHOST_kKeyComma
@ GHOST_kKeyRightBracket
@ GHOST_kKeyBackslash
@ GHOST_kKeyLinefeed
@ GHOST_kKeyNumpad2
@ GHOST_kKeyX
@ GHOST_kKeyL
@ GHOST_kKeyRightAlt
@ GHOST_kKeyY
@ GHOST_kKeyPeriod
@ GHOST_kKeyNumpadPlus
@ GHOST_kKeyUpPage
@ GHOST_kKey9
@ GHOST_kKeyNumpad5
@ GHOST_kKeyLeftArrow
@ GHOST_kKeyF17
@ GHOST_kKeyD
@ GHOST_kKeyEqual
@ GHOST_kKey7
@ GHOST_kKeyS
@ GHOST_kKeyF8
@ GHOST_kKeyF18
@ GHOST_kKeyHome
@ GHOST_kKeyNumpad6
@ GHOST_kKeyF14
@ GHOST_kKeyNumpad8
@ GHOST_kKeyNumpad9
@ GHOST_kKeyF15
@ GHOST_kKeyEnd
@ GHOST_kKeyUpArrow
@ GHOST_kKeyH
@ GHOST_kKeyDelete
@ GHOST_kKeyF16
@ GHOST_kKeyNumpad0
@ GHOST_kKeyA
@ GHOST_kKey2
@ GHOST_kKeyMediaFirst
@ GHOST_kKeyK
@ GHOST_kKeyNumpad7
@ GHOST_kKeyRightControl
@ GHOST_kKeyEsc
@ GHOST_kKeyPlus
@ GHOST_kKeyUnknown
@ GHOST_kKeyScrollLock
@ GHOST_kKeySlash
@ GHOST_kKeyV
@ GHOST_kKeyF7
@ GHOST_kKeyNumpadEnter
@ GHOST_kKeyNumpadMinus
@ GHOST_kKeyF10
@ GHOST_kKeyLeftShift
@ GHOST_kKeyF3
@ GHOST_kKeyF2
@ GHOST_kKeyMediaLast
@ GHOST_kKeyF4
@ GHOST_kKeyE
@ GHOST_kKeySpace
@ GHOST_kKeyF21
const void * GHOST_TEventDataPtr
int GHOST_TEmbedderWindowID
GHOST_TDrawingContextType
@ GHOST_kDrawingContextTypeNone
struct GHOST_TabletData GHOST_TabletData
unsigned int uint
Definition GHOST_Types.h:28
GHOST_TWindowOrder
@ GHOST_kWindowOrderTop
@ GHOST_kWindowOrderBottom
GHOST_TModifierKey
@ GHOST_kModifierKeyNum
@ GHOST_kModifierKeyRightControl
@ GHOST_kModifierKeyLeftControl
@ GHOST_kModifierKeyRightAlt
@ GHOST_kModifierKeyRightShift
@ GHOST_kModifierKeyLeftAlt
@ GHOST_kModifierKeyLeftShift
@ GHOST_kModifierKeyLeftOS
@ GHOST_kModifierKeyRightOS
GHOST_TSuccess
Definition GHOST_Types.h:87
@ GHOST_kFailure
Definition GHOST_Types.h:87
@ GHOST_kSuccess
Definition GHOST_Types.h:87
GHOST_TFireTimeConstant
@ GHOST_kFireTimeNever
GHOST_GPUFlags
Definition GHOST_Types.h:75
@ GHOST_gpuStereoVisual
Definition GHOST_Types.h:76
@ GHOST_gpuDebugContext
Definition GHOST_Types.h:77
void(* GHOST_TBacktraceFn)(void *file_handle)
Definition GHOST_Types.h:63
GHOST_TUserSpecialDirTypes
@ GHOST_kUserSpecialDirDesktop
@ GHOST_kUserSpecialDirMusic
@ GHOST_kUserSpecialDirPictures
@ GHOST_kUserSpecialDirVideos
@ GHOST_kUserSpecialDirDownloads
@ GHOST_kUserSpecialDirCaches
@ GHOST_kUserSpecialDirDocuments
GHOST_TGrabCursorMode
@ GHOST_kGrabWrap
@ GHOST_kGrabDisable
@ GHOST_kGrabHide
@ GHOST_kGrabNormal
unsigned short ushort
Definition GHOST_Types.h:29
GHOST_TDragnDropTypes
@ GHOST_kDragnDropTypeUnknown
@ GHOST_kDragnDropTypeFilenames
@ GHOST_kDragnDropTypeBitmap
@ GHOST_kDragnDropTypeString
GHOST_TButton
@ GHOST_kButtonMaskRight
@ GHOST_kButtonMaskButton4
@ GHOST_kButtonMaskNone
@ GHOST_kButtonMaskLeft
@ GHOST_kButtonMaskButton7
@ GHOST_kButtonMaskButton6
@ GHOST_kButtonMaskButton5
@ GHOST_kButtonMaskMiddle
GHOST_TProgress
@ GHOST_kStarting
@ GHOST_kNotStarted
@ GHOST_kFinishing
@ GHOST_kFinished
@ GHOST_kInProgress
GHOST_TConsoleWindowState
@ GHOST_kConsoleWindowStateShow
@ GHOST_kConsoleWindowStateHideForNonConsoleLaunch
@ GHOST_kConsoleWindowStateHide
@ GHOST_kConsoleWindowStateToggle
GHOST_TTabletAPI
@ GHOST_kTabletAutomatic
@ GHOST_kTabletWinPointer
@ GHOST_kTabletWintab
GHOST_DialogOptions
Definition GHOST_Types.h:80
@ GHOST_DialogError
Definition GHOST_Types.h:82
@ GHOST_DialogWarning
Definition GHOST_Types.h:81
Read Guarded memory(de)allocation.
input_tx image(0, GPU_RGBA16F, Qualifier::WRITE, ImageType::FLOAT_2D, "preview_img") .compute_source("compositor_compute_preview.glsl") .do_static_compilation(true)
double time
direct_radiance_1_tx direct_radiance_3_tx indirect_radiance_2_tx radiance_feedback_img draw_fullscreen fragment_source("eevee_deferred_combine_frag.glsl") .specialization_constant(Type out_radiance draw_view
static ushort indices[]
format
void count_indices(Span< int > indices, MutableSpan< int > counts)
signed short int16_t
Definition stdint.h:76
unsigned int uint32_t
Definition stdint.h:80
signed int int32_t
Definition stdint.h:77
unsigned char uint8_t
Definition stdint.h:78
unsigned __int64 uint64_t
Definition stdint.h:90
const uint8_t * data
Definition GHOST_Types.h:70
GHOST_TDrawingContextType context_type
GHOST_GPUDevice preferred_device
GHOST_TabletData tablet
GHOST_TabletData tablet
GHOST_TDragnDropTypes dataType
GHOST_TDragnDropDataPtr data
GHOST_TUserDataPtr composite_len
GHOST_TUserDataPtr composite
GHOST_TTrackpadEventSubTypes subtype
GHOST_TTabletMode Active