#pragma once typedef enum { SHORTCUT_TYPE_STARTED, SHORTCUT_TYPE_REPEAT, SHORTCUT_TYPE_DOWN, SHORTCUT_TYPE_RELEASED, } shortcut_type_t; typedef enum { BORDER_SIDE_LEFT = 0, BORDER_SIDE_RIGHT = 1, BORDER_SIDE_TOP = 2, BORDER_SIDE_BOTTOm = 3, } border_side_t; typedef enum { BAKE_TYPE_INIT = -1, BAKE_TYPE_CURVATURE = 0, BAKE_TYPE_NORMAL = 1, BAKE_TYPE_NORMAL_OBJECT = 2, BAKE_TYPE_HEIGHT = 3, BAKE_TYPE_DERIVATIVE = 4, BAKE_TYPE_POSITION = 5, BAKE_TYPE_TEXCOORD = 6, BAKE_TYPE_MATERIALID = 7, BAKE_TYPE_OBJECTID = 8, BAKE_TYPE_VERTEX_COLOR = 9, BAKE_TYPE_OCCLUSION = 10, BAKE_TYPE_LIGHTMAP = 11, BAKE_TYPE_BENT_NORMAL = 12, BAKE_TYPE_THICKNESS = 13, } bake_type_t; typedef enum { SPLIT_TYPE_OBJECT = 0, SPLIT_TYPE_MATERIAL = 1, SPLIT_TYPE_UDIM = 2, } split_type_t; typedef enum { BAKE_AXIS_XYZ = 0, BAKE_AXIS_X = 1, BAKE_AXIS_Y = 2, BAKE_AXIS_Z = 3, BAKE_AXIS_MX = 4, BAKE_AXIS_MY = 5, BAKE_AXIS_MZ = 6, } bake_axis_t; typedef enum { BAKE_UP_AXIS_Z = 0, BAKE_UP_AXIS_Y = 1, BAKE_UP_AXIS_X = 2, } bake_up_axis_t; typedef enum { VIEWPORT_MODE_NONE = -1, VIEWPORT_MODE_LIT = 0, VIEWPORT_MODE_BASE_COLOR = 1, VIEWPORT_MODE_NORMAL_MAP = 2, VIEWPORT_MODE_OCCLUSION = 3, VIEWPORT_MODE_ROUGHNESS = 4, VIEWPORT_MODE_METALLIC = 5, VIEWPORT_MODE_OPACITY = 6, VIEWPORT_MODE_HEIGHT = 7, VIEWPORT_MODE_EMISSION = 8, VIEWPORT_MODE_SUBSURFACE = 9, VIEWPORT_MODE_TEXCOORD = 10, VIEWPORT_MODE_OBJECT_NORMAL = 11, VIEWPORT_MODE_MATERIAL_ID = 12, VIEWPORT_MODE_OBJECT_ID = 13, VIEWPORT_MODE_MASK = 14, VIEWPORT_MODE_PATH_TRACE = 15, } viewport_mode_t; typedef enum { WORKSPACE_PAINT_3D = 0, WORKSPACE_PAINT_2D = 1, WORKSPACE_NODES = 2, WORKSPACE_SCRIPT = 3, WORKSPACE_PLAYER = 4, } workspace_t; typedef enum { WORKFLOW_PBR = 0, WORKFLOW_BASE = 1, WORKFLOW_SCULPT = 2, } workflow_t; typedef enum { RENDER_MODE_DEFERRED = 0, RENDER_MODE_FORWARD = 1, RENDER_MODE_PATH_TRACE = 2, } render_mode_t; typedef enum { EXPORT_MODE_VISIBLE = 0, EXPORT_MODE_SELECTED = 1, EXPORT_MODE_PER_OBJECT = 2, EXPORT_MODE_PER_UDIM_TILE = 3, } export_mode_t; typedef enum { EXPORT_DESTINATION_DISK = 0, EXPORT_DESTINATION_PACK_INTO_PROJECT = 1, } export_destination_t; typedef enum { PATHTRACE_MODE_FAST = 0, PATHTRACE_MODE_QUALITY = 1, } pathtrace_mode_t; typedef enum { FILL_TYPE_OBJECT = 0, FILL_TYPE_FACE = 1, FILL_TYPE_ANGLE = 2, FILL_TYPE_UV_ISLAND = 3, } fill_type_t; typedef enum { UV_TYPE_UVMAP = 0, UV_TYPE_TRIPLANAR = 1, UV_TYPE_PROJECT = 2, } uv_type_t; typedef enum { PICKER_MASK_NONE = 0, PICKER_MASK_MATERIAL = 1, } picker_mask_t; typedef enum { BLEND_TYPE_MIX = 0, BLEND_TYPE_DARKEN = 1, BLEND_TYPE_MULTIPLY = 2, BLEND_TYPE_BURN = 3, BLEND_TYPE_LIGHTEN = 4, BLEND_TYPE_SCREEN = 5, BLEND_TYPE_DODGE = 6, BLEND_TYPE_ADD = 7, BLEND_TYPE_OVERLAY = 8, BLEND_TYPE_SOFT_LIGHT = 9, BLEND_TYPE_LINEAR_LIGHT = 10, BLEND_TYPE_DIFFERENCE = 11, BLEND_TYPE_SUBTRACT = 12, BLEND_TYPE_DIVIDE = 13, BLEND_TYPE_HUE = 14, BLEND_TYPE_SATURATION = 15, BLEND_TYPE_COLOR = 16, BLEND_TYPE_VALUE = 17, } blend_type_t; typedef enum { CAMERA_CONTROLS_NONE = -1, CAMERA_CONTROLS_ORBIT = 0, CAMERA_CONTROLS_ROTATE = 1, CAMERA_CONTROLS_FLY = 2, } camera_controls_t; typedef enum { CAMERA_PIVOT_CURSOR = 0, CAMERA_PIVOT_CENTER = 1, } camera_pivot_t; typedef enum { CAMERA_TYPE_PERSPECTIVE = 0, CAMERA_TYPE_ORTHOGRAPHIC = 1, } camera_type_t; typedef enum { TEXTURE_BITS_BITS8 = 0, TEXTURE_BITS_BITS16 = 1, TEXTURE_BITS_BITS32 = 2, } texture_bits_t; typedef enum { TEXTURE_LDR_FORMAT_PNG = 0, TEXTURE_LDR_FORMAT_JPG = 1, } texture_ldr_format_t; typedef enum { MESH_FORMAT_OBJ = 0, MESH_FORMAT_ARM = 1, MESH_FORMAT_GLB = 2, } mesh_format_t; typedef enum { CANVAS_TYPE_MATERIAL = 0, CANVAS_TYPE_BRUSH = 1, } canvas_type_t; typedef enum { VIEW_2D_TYPE_ASSET = 0, VIEW_2D_TYPE_NODE = 1, VIEW_2D_TYPE_FONT = 2, VIEW_2D_TYPE_LAYER = 3, VIEW_2D_TYPE_UVMAP = 4, } view_2d_type_t; typedef enum { VIEW_2D_LAYER_MODE_VISIBLE = 0, VIEW_2D_LAYER_MODE_SELECTED = 1, } view_2d_layer_mode_t; typedef enum { PAINT_TEX_BASE = 0, PAINT_TEX_OPACITY = 1, PAINT_TEX_NORMAL = 2, PAINT_TEX_OCCLUSION = 3, PAINT_TEX_ROUGHNESS = 4, PAINT_TEX_METALLIC = 5, PAINT_TEX_HEIGHT = 6, } paint_tex_t; typedef enum { ZOOM_DIRECTION_VERTICAL = 0, ZOOM_DIRECTION_VERTICAL_INVERTED = 1, ZOOM_DIRECTION_HORIZONTAL = 2, ZOOM_DIRECTION_HORIZONTAL_INVERTED = 3, ZOOM_DIRECTION_VERTICAL_HORIZONTAL = 4, ZOOM_DIRECTION_VERTICAL_HORIZONTAL_INVERTED = 5, } zoom_direction_t; typedef enum { LAYER_SLOT_TYPE_LAYER = 0, LAYER_SLOT_TYPE_MASK = 1, LAYER_SLOT_TYPE_GROUP = 2, } layer_slot_type_t; typedef enum { TOOL_TYPE_BRUSH = 0, TOOL_TYPE_ERASER = 1, TOOL_TYPE_FILL = 2, TOOL_TYPE_DECAL = 3, TOOL_TYPE_TEXT = 4, TOOL_TYPE_CLONE = 5, TOOL_TYPE_BLUR = 6, TOOL_TYPE_PARTICLE = 7, TOOL_TYPE_COLORID = 8, TOOL_TYPE_PICKER = 9, TOOL_TYPE_MATERIAL = 10, TOOL_TYPE_CURSOR = 11, TOOL_TYPE_SELECT = 12, TOOL_TYPE_BAKE = 13, // Hidden, used by Bake Texture node } tool_type_t; typedef enum { BLUR_TYPE_BLUR = 0, BLUR_TYPE_SMUDGE = 1, } blur_type_t; typedef enum { TAB_AREA_SIDEBAR0 = 0, TAB_AREA_SIDEBAR1 = 1, TAB_AREA_STATUS = 2, } tab_area_t; typedef enum { TEXTURE_RES_RES2048 = 0, TEXTURE_RES_RES4096 = 1, TEXTURE_RES_RES8192 = 2, TEXTURE_RES_RES16384 = 3, TEXTURE_RES_CUSTOM = 4, } texture_res_t; typedef enum { LAYOUT_SIZE_SIDEBAR_W = 0, LAYOUT_SIZE_SIDEBAR_H0 = 1, LAYOUT_SIZE_SIDEBAR_H1 = 2, LAYOUT_SIZE_NODES_W = 3, LAYOUT_SIZE_NODES_H = 4, LAYOUT_SIZE_STATUS_H = 5, LAYOUT_SIZE_HEADER = 6, // 0 - hidden, 1 - visible } layout_size_t; typedef enum { NEURAL_BACKEND_CPU = 0, NEURAL_BACKEND_VULKAN = 1, NEURAL_BACKEND_CUDA = 2, } neural_backend_t; typedef enum { PREFERENCES_TAB_INTERFACE = 0, PREFERENCES_TAB_THEME = 1, PREFERENCES_TAB_USAGE = 2, PREFERENCES_TAB_CAMERA = 3, PREFERENCES_TAB_PEN = 4, PREFERENCES_TAB_VIEWPORT = 5, PREFERENCES_TAB_KEYMAP = 6, PREFERENCES_TAB_NEURAL = 7, PREFERENCES_TAB_PLUGINS = 8, } preferences_tab_t; typedef enum { PHYSICS_SHAPE_BOX = 0, PHYSICS_SHAPE_SPHERE = 1, PHYSICS_SHAPE_HULL = 2, PHYSICS_SHAPE_TERRAIN = 3, PHYSICS_SHAPE_MESH = 4, } physics_shape_t; typedef enum { ICON18_EYE_ON = 0, ICON18_EYE_OFF = 1, } icon18_t; typedef enum { ICON_NONE = -1, ICON_BRUSH = 0, ICON_ERASER = 1, ICON_FILL = 2, ICON_DECAL = 3, ICON_TEXT = 4, ICON_CLONE = 5, ICON_BLUR = 6, ICON_PARTICLE = 7, ICON_COLOR_ID = 8, ICON_PICKER = 9, ICON_MATERIAL = 10, ICON_CURSOR = 11, ICON_DROP = 12, ICON_MATERIAL_PREVIEW = 13, ICON_FOLDER_FULL = 14, ICON_FILE = 15, ICON_CHECKER = 16, ICON_BRUSH_PREVIEW = 17, ICON_TEXT_PREVIEW = 18, ICON_PROPERTIES = 19, ICON_FOLDER_OPEN = 20, ICON_BAKE = 21, ICON_SMUDGE = 22, ICON_SELECT = 23, ICON_MENU = 24, ICON_FILE_NEW = 25, ICON_FOLDER = 26, ICON_SAVE = 27, ICON_IMPORT = 28, ICON_EXPORT = 29, ICON_UNDO = 30, ICON_REDO = 31, ICON_IMAGE = 32, ICON_SUN = 33, ICON_CAMERA = 34, ICON_HELP = 35, ICON_PROJECTS = 36, ICON_DELETE = 37, ICON_SEARCH = 38, ICON_HOME = 39, ICON_CLOSE = 40, ICON_COG = 41, ICON_HASH = 42, ICON_PLUS = 43, ICON_CHEVRON_LEFT = 44, ICON_CHEVRON_RIGHT = 45, ICON_ARROW_LEFT = 46, ICON_ARROW_RIGHT = 47, ICON_ARROW_UP = 48, ICON_ARROW_DOWN = 49, ICON_DOWN = 50, ICON_UP = 51, ICON_CHECK = 52, ICON_REFRESH = 53, ICON_MINUS = 54, ICON_NEW = 55, ICON_CLEAR = 56, ICON_RESIZE = 57, ICON_FULLSCREEN = 58, ICON_DUPLICATE = 59, ICON_CHEVRON_UP = 60, ICON_CHEVRON_DOWN = 61, ICON_LEFT = 62, ICON_RIGHT = 63, ICON_MOVE = 64, ICON_FILE_OPEN = 65, ICON_FOLDER_NEW = 66, ICON_DOWNLOADING = 67, ICON_PUBLISH = 68, ICON_ZOOM_OUT = 69, ICON_ZOOM_IN = 70, ICON_DRAFT = 71, ICON_STAR = 72, ICON_CUBE = 73, ICON_PAINT = 74, ICON_PALETTE = 75, ICON_LAYER = 76, ICON_LAYER_NEW = 77, ICON_WINDOW = 78, ICON_GESTURE = 79, ICON_NODES = 80, ICON_CURVE = 81, ICON_PATH = 82, ICON_ACCOUNT = 83, ICON_ARROW_UP_LEFT = 84, ICON_GIZMO = 85, ICON_BLOCK = 86, ICON_LANDSCAPE = 87, ICON_CHAT = 88, ICON_EGG = 89, ICON_CLOUD = 90, ICON_PICKER2 = 91, ICON_COPY = 92, ICON_CUT = 93, ICON_PASTE = 94, ICON_CROP = 95, ICON_EDIT = 96, ICON_EXIT = 97, ICON_FILTER = 98, ICON_PLUGIN = 99, ICON_ERASE = 100, ICON_FILE_SAVE = 101, ICON_FONT = 102, ICON_HISTORY = 103, ICON_SPHERE = 104, ICON_INFO = 105, ICON_SYNC = 106, ICON_INVERT = 107, ICON_LAYERS = 108, ICON_LINK = 109, ICON_LOCK = 110, ICON_STICKER = 111, ICON_MASK = 112, ICON_DISPLAY = 113, ICON_MOVIE = 114, ICON_MUSIC = 115, ICON_NEW2 = 116, ICON_OPACITY = 117, ICON_MASK_WHITE = 118, ICON_PAUSE = 119, ICON_PHOTO = 120, ICON_PLAY = 121, ICON_REPLAY = 122, ICON_SAVE_AS = 123, ICON_TIMER = 124, ICON_MASK_FILL = 125, ICON_RULER = 126, ICON_STOP = 127, ICON_STORAGE = 128, ICON_TERMINAL = 129, ICON_TRANSLATE = 130, ICON_UPLOAD = 131, } icon_t; typedef enum { COLOR_SPACE_AUTO, // sRGB for base color, otherwise linear COLOR_SPACE_LINEAR, COLOR_SPACE_SRGB, COLOR_SPACE_DIRECTX_NORMAL_MAP, } color_space_t; typedef enum { HISTORY_ACTION_PAINT, HISTORY_ACTION_EDIT_NODES, HISTORY_ACTION_NEW_LAYER, HISTORY_ACTION_NEW_BLACK_MASK, HISTORY_ACTION_NEW_WHITE_MASK, HISTORY_ACTION_NEW_FILL_MASK, HISTORY_ACTION_NEW_GROUP, HISTORY_ACTION_DELETE_LAYER, HISTORY_ACTION_CLEAR_LAYER, HISTORY_ACTION_DUPLICATE_LAYER, HISTORY_ACTION_ORDER_LAYERS, HISTORY_ACTION_MERGE_LAYERS, HISTORY_ACTION_APPLY_MASK, HISTORY_ACTION_INVERT_MASK, HISTORY_ACTION_APPLY_FILTER, HISTORY_ACTION_TO_FILL_LAYER, HISTORY_ACTION_TO_FILL_MASK, HISTORY_ACTION_TO_PAINT_LAYER, HISTORY_ACTION_TO_PAINT_MASK, HISTORY_ACTION_LAYER_OPACITY, HISTORY_ACTION_LAYER_BLENDING, HISTORY_ACTION_DELETE_NODE_GROUP, HISTORY_ACTION_NEW_MATERIAL, HISTORY_ACTION_DELETE_MATERIAL, HISTORY_ACTION_DUPLICATE_MATERIAL, } history_action_t; typedef enum { OPACITY_MODE_ALPHA, OPACITY_MODE_TRANSLUC, } opacity_mode_t;