Blender V5.0
UI_resources.hh
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
8
9#pragma once
10
11#include "BLI_assert.h"
12
13struct bTheme;
14
15/* Define icon enum. */
16#define DEF_ICON(name) ICON_##name,
17#define DEF_ICON_VECTOR(name) ICON_##name,
18#define DEF_ICON_COLOR(name) ICON_##name,
19#define DEF_ICON_BLANK(name) ICON_BLANK_##name,
20
26/* ui */
27#include "UI_icons.hh"
29};
30
32using BIFIconID = int;
34 "Expected all builtin icon IDs to fit into `BIFIconID`");
35
36#define BIFICONID_FIRST (ICON_NONE)
37
38/* use to denote intentionally unset theme color */
39#define TH_UNDEFINED -1
50
52 /* Common colors among spaces. */
53
60
61 /* Tabs. */
69
73
74 /* panels */
80
84
103 TH_EDGE_SELECT, /* Stands for edge selection, not edge select mode. */
106 TH_FACE_SELECT, /* Stands for face selection, not face select mode. */
127
128 /* this eight colors should be in one block */
139
149
154
157
160
163
164 TH_KEYTYPE_KEYFRAME, /* KEYTYPES */
176
179
184
203
209
216
233
235
239
243
247
249
254
257
271
278
280
281 TH_MATCH, /* highlight color for search matches */
282 TH_SELECT_HIGHLIGHT, /* highlight color for selected outliner item */
283 TH_SELECT_ACTIVE, /* highlight color for active outliner item */
284 TH_SELECTED_OBJECT, /* selected object color for outliner */
285 TH_ACTIVE_OBJECT, /* active object color for outliner */
286 TH_EDITED_OBJECT, /* edited object color for outliner */
287 TH_ROW_ALTERNATE, /* overlay on every other row */
288
290
291 TH_ANIM_ACTIVE, /* active action */
292 TH_ANIM_INACTIVE, /* no active action */
293 TH_ANIM_PREVIEW_RANGE, /* preview range overlay */
294 TH_ANIM_SCENE_STRIP_RANGE, /* scene strip range overlay */
295
305
307
308 TH_NLA_TWEAK, /* 'tweaking' track in NLA */
309 TH_NLA_TWEAK_DUPLI, /* error/warning flag for other strips referencing dupli strip */
310
318
326
330
331 TH_AXIS_X, /* X/Y/Z Axis */
334
335 TH_AXIS_W, /* W (quaternion and axis-angle rotations) */
336
343
345
358
360
363
369};
370
371/* Specific defines per space should have higher define values. */
372
377
378/* THE CODERS API FOR THEMES: */
379
383float UI_GetThemeValuef(int colorid);
387int UI_GetThemeValue(int colorid);
388
389/* Versions of #UI_GetThemeValue & #UI_GetThemeValuef, which take a space-type */
390
391float UI_GetThemeValueTypef(int colorid, int spacetype);
392int UI_GetThemeValueType(int colorid, int spacetype);
393
397void UI_GetThemeColor3fv(int colorid, float col[3]);
398void UI_GetThemeColorBlend3ubv(int colorid1, int colorid2, float fac, unsigned char col[3]);
399void UI_GetThemeColorBlend3f(int colorid1, int colorid2, float fac, float r_col[3]);
400void UI_GetThemeColorBlend4f(int colorid1, int colorid2, float fac, float r_col[4]);
404void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3]);
405void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3]);
406void UI_GetThemeColorShade4ubv(int colorid, int offset, unsigned char col[4]);
407
413 int colorid1, int colorid2, float fac, int offset, unsigned char col[3]);
414
418void UI_GetThemeColor4fv(int colorid, float col[4]);
419
423void UI_GetThemeColorType4fv(int colorid, int spacetype, float col[4]);
424
428void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4]);
429void UI_GetThemeColorShadeAlpha4fv(int colorid, int coloffset, int alphaoffset, float col[4]);
430
434void UI_GetThemeColorShadeAlpha4ubv(int colorid,
435 int coloffset,
436 int alphaoffset,
437 unsigned char col[4]);
438
444 int colorid1, int colorid2, float fac, int offset, float col[3]);
446 int colorid1, int colorid2, float fac, int offset, float col[4]);
447
451void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]);
455void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]);
456
460void UI_GetThemeColorType3fv(int colorid, int spacetype, float col[3]);
461void UI_GetThemeColorType3ubv(int colorid, int spacetype, unsigned char col[3]);
462void UI_GetThemeColorType4ubv(int colorid, int spacetype, unsigned char col[4]);
463
467bool UI_GetIconThemeColor4ubv(int colorid, unsigned char col[4]);
468
474 const float cp1[4], const float cp2[4], float fac, float alphaoffset, float r_col[4]);
475
479void UI_GetColorPtrShade3ubv(const unsigned char cp[3], int offset, unsigned char r_col[3]);
480
484void UI_GetColorPtrBlendShade3ubv(const unsigned char cp1[3],
485 const unsigned char cp2[3],
486 float fac,
487 int offset,
488 unsigned char r_col[3]);
489
494void UI_FontThemeColor(int fontid, int colorid);
495
499void UI_ThemeClearColor(int colorid);
500
504void UI_SetTheme(int spacetype, int regionid);
505
510
514void UI_Theme_Store(bThemeState *theme_state);
515void UI_Theme_Restore(const bThemeState *theme_state);
516
521
525const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid);
526
527void UI_make_axis_color(const unsigned char col[3], char axis, unsigned char r_col[3]);
#define BLI_STATIC_ASSERT(a, msg)
Definition BLI_assert.h:83
int BIFIconID
Definition ED_asset.hh:28
void UI_Theme_Store(bThemeState *theme_state)
void UI_Theme_Restore(const bThemeState *theme_state)
void UI_GetThemeColorType3fv(int colorid, int spacetype, float col[3])
void UI_GetThemeColorShadeAlpha4ubv(int colorid, int coloffset, int alphaoffset, unsigned char col[4])
void UI_GetThemeColor3fv(int colorid, float col[3])
void UI_GetThemeColorBlend3ubv(int colorid1, int colorid2, float fac, unsigned char col[3])
void UI_GetThemeColorType3ubv(int colorid, int spacetype, unsigned char col[3])
int UI_GetThemeValueType(int colorid, int spacetype)
ThemeColorID
@ TH_SELECT_ACTIVE
@ TH_BLACK
@ TH_ICON_MODIFIER
@ TH_SIMULATED_FRAMES
@ TH_BONE_SOLID
@ TH_TAB_OUTLINE
@ TH_GIZMO_HI
@ TH_ROW_ALTERNATE
@ TH_HANDLE_ALIGN
@ TH_INFO_PROPERTY_TEXT
@ TH_NORMAL
@ TH_PATH_BEFORE
@ TH_LIGHT
@ TH_PANEL_HEADER
@ TH_NODE_FRAME
@ TH_KEYTYPE_GENERATED
@ TH_KEYBORDER_SELECT
@ TH_NODE_INPUT
@ TH_FACE_BACK
@ TH_NODE
@ TH_BACK_GRAD
@ TH_ICON_AUTOKEY
@ TH_MARKER_OUTLINE
@ TH_TIME_SCRUB_BACKGROUND
@ TH_LNORMAL
@ TH_KEYTYPE_BREAKDOWN
@ TH_NODE_FILTER
@ TH_SELECT_HIGHLIGHT
@ TH_INFO_WARNING_TEXT
@ TH_NURB_SEL_VLINE
@ TH_FRAME_AFTER
@ TH_ICON_OBJECT
@ TH_BUNDLE_SOLID
@ TH_NODE_GROUP
@ TH_KEYTYPE_KEYFRAME
@ TH_SEAM
@ TH_TRANSPARENT_CHECKER_PRIMARY
@ TH_NODE_ZONE_REPEAT
@ TH_WIDGET_TEXT_HIGHLIGHT
@ TH_BONE_POSE_ACTIVE
@ TH_DRAWEXTRA_EDGEANG
@ TH_SYNTAX_B
@ TH_NLA_TRACK
@ TH_INFO_DEBUG
@ TH_DRAWEXTRA_FACEANG
@ TH_ACTIVE_OBJECT
@ TH_ANIM_SCENE_STRIP_RANGE
@ TH_ICON_FOLDER
@ TH_TAB_ACTIVE
@ TH_HEADER
@ TH_GRID
@ TH_VERTEX_ACTIVE
@ TH_WHITE
@ TH_NODE_SCRIPT
@ TH_HANDLE_VERTEX_SIZE
@ TH_NLA_TRANSITION_SEL
@ TH_WARNING
@ TH_SEQ_SELECTED
@ TH_BACK
@ TH_NODE_GEOMETRY
@ TH_TAB_TEXT
@ TH_LOCK_MARKER
@ TH_NODE_OUTPUT
@ TH_SEQ_TRANSITION
@ TH_NODE_COLOR
@ TH_GIZMO_B
@ TH_NLA_META
@ TH_DOPESHEET_IPOLINE
@ TH_TIME_MARKER_LINE
@ TH_KEYBORDER
@ TH_WIRE
@ TH_KEYTYPE_JITTER
@ TH_INFO_INFO_TEXT
@ TH_SYNTAX_C
@ TH_SYNTAX_R
@ TH_INFO_PROPERTY
@ TH_SYNTAX_S
@ TH_BONE_LOCKED_WEIGHT
@ TH_TIME_GP_KEYFRAME
@ TH_KEYTYPE_EXTREME
@ TH_FACEDOT_SIZE
@ TH_WIDGET_EMBOSS
@ TH_BONE_POSE
@ TH_PANEL_OUTLINE
@ TH_TIME_MARKER_LINE_SELECTED
@ TH_GROUP
@ TH_ICON_COLLECTION
@ TH_DOPESHEET_CHANNELSUBOB
@ TH_NLA_META_SEL
@ TH_HANDLE_SEL_AUTO
@ TH_INFO_DEBUG_TEXT
@ TH_SHARP
@ TH_SKIN_ROOT
@ TH_EDGE_SELECT
@ TH_TRANSPARENT_CHECKER_SECONDARY
@ TH_ICON_OBJECT_DATA
@ TH_HANDLE_SEL_AUTOCLAMP
@ TH_STITCH_PREVIEW_VERT
@ TH_EDITED_OBJECT
@ TH_CAMERA
@ TH_KEYTYPE_KEYFRAME_SELECT
@ TH_SELECTED_OBJECT
@ TH_PATH_AFTER
@ TH_ICON_SHADING
@ TH_STITCH_PREVIEW_UNSTITCHABLE
@ TH_TRANSFORM
@ TH_NODE_ATTRIBUTE
@ TH_TIME_SCRUB_TEXT
@ TH_OUTLINE_WIDTH
@ TH_HANDLE_AUTO
@ TH_PANEL_SUB_BACK
@ TH_NODE_DISTORT
@ TH_ICON_SCENE
@ TH_ANIM_ACTIVE
@ TH_NURB_VLINE
@ TH_SEQ_TEXT
@ TH_REDALERT
@ TH_SPEAKER
@ TH_INFO_ERROR_TEXT
@ TH_VERTEX
@ TH_METADATA_TEXT
@ TH_CAMERA_PASSEPARTOUT
@ TH_CHANNEL
@ TH_EDITOR_BORDER
@ TH_SEQ_MASK
@ TH_VERTEX_SIZE
@ TH_INFO
@ TH_INFO_OPERATOR
@ TH_HANDLE_SEL_ALIGN
@ TH_SEQ_MOVIE
@ TH_GP_VERTEX_SELECT
@ TH_OBCENTER_DIA
@ TH_SEQ_SELECTED_TEXT
@ TH_CONSOLE_SELECT
@ TH_KEYTYPE_MOVEHOLD
@ TH_PANEL_ACTIVE
@ TH_CHANNEL_SELECT
@ TH_GIZMO_VIEW_ALIGN
@ TH_SEQ_COLOR
@ TH_GIZMO_A
@ TH_SHADE2
@ TH_CONSOLE_ERROR
@ TH_KEYTYPE_BREAKDOWN_SELECT
@ TH_DIS_MARKER
@ TH_UV_SHADOW
@ TH_NODE_MATTE
@ TH_TAB_TEXT_HI
@ TH_SUCCESS
@ TH_FACE_RETOPOLOGY
@ TH_STITCH_PREVIEW_EDGE
@ TH_NLA_TWEAK
@ TH_NODE_GRID_LEVELS
@ TH_PREVIEW_BACK
@ TH_BEVEL
@ TH_HANDLE_SEL_FREE
@ TH_SEQ_META
@ TH_FACE_SELECT
@ TH_CFRAME
@ TH_HANDLE_VERTEX_SELECT
@ TH_HANDLE_VERTEX
@ TH_SCROLL_TEXT
@ TH_LINENUMBERS
@ TH_STITCH_PREVIEW_ACTIVE
@ TH_ANIM_PREVIEW_RANGE
@ TH_NURB_ULINE
@ TH_MARKER
@ TH_KEYTYPE_EXTREME_SELECT
@ TH_NODE_ZONE_FOREACH_GEOMETRY_ELEMENT
@ TH_ERROR
@ TH_AXIS_Y
@ TH_AXIS_X
@ TH_NODE_TEXTURE
@ TH_EDITOR_OUTLINE_ACTIVE
@ TH_NODE_VECTOR
@ TH_EDGE
@ TH_SHADE1
@ TH_INFO_SELECTED_TEXT
@ TH_HANDLE_SEL_VECT
@ TH_VERTEX_SELECT
@ TH_NODE_OUTLINE
@ TH_STRIP
@ TH_NODE_CONVERTER
@ TH_KEYTYPE_MOVEHOLD_SELECT
@ TH_THEMEUI
@ TH_TAB_OUTLINE_ACTIVE
@ TH_CONSOLE_CURSOR
@ TH_EMPTY
@ TH_ANIM_INACTIVE
@ TH_KEYTYPE_JITTER_SELECT
@ TH_ICON_FUND
@ TH_FACE_FRONT
@ TH_VERTEX_UNREFERENCED
@ TH_GIZMO_PRIMARY
@ TH_TRANSPARENT_CHECKER_SIZE
@ TH_AXIS_W
@ TH_STITCH_PREVIEW_STITCHABLE
@ TH_HEADER_TEXT
@ TH_V3D_CLIPPING_BORDER
@ TH_NLA_TWEAK_DUPLI
@ TH_AXIS_Z
@ TH_EDGE_WIDTH
@ TH_EDITMESH_ACTIVE
@ TH_SEQ_PREVIEW
@ TH_LONGKEY_SELECT
@ TH_NONE
@ TH_GP_VERTEX_SIZE
@ TH_NODE_ZONE_CLOSURE
@ TH_CONSOLE_INFO
@ TH_GP_VERTEX
@ TH_INFO_OPERATOR_TEXT
@ TH_SEQ_TEXT_CURSOR
@ TH_FRAME_BEFORE
@ TH_SYNTAX_D
@ TH_VIEW_OVERLAY
@ TH_HILITE
@ TH_GIZMO_SECONDARY
@ TH_ACT_MARKER
@ TH_TITLE
@ TH_CONSOLE_OUTPUT
@ TH_CONSOLE_INPUT
@ TH_NODE_ZONE_SIMULATION
@ TH_PATH_KEYFRAME_AFTER
@ TH_WIDGET_TEXT_SELECTION
@ TH_KEYTYPE_GENERATED_SELECT
@ TH_SYNTAX_V
@ TH_EDGE_MODE_SELECT
@ TH_INFO_SELECTED
@ TH_SEQ_AUDIO
@ TH_NODE_CURVING
@ TH_SEL_MARKER
@ TH_FACE_MODE_SELECT
@ TH_TAB_BACK
@ TH_CAMERA_PATH
@ TH_SELECT
@ TH_WIDGET_TEXT_CURSOR
@ TH_HANDLE_FREE
@ TH_NLA_SOUND
@ TH_SYNTAX_L
@ TH_SEQ_ACTIVE
@ TH_HANDLE_AUTOCLAMP
@ TH_EDITOR_OUTLINE
@ TH_GROUP_ACTIVE
@ TH_TAB_INACTIVE
@ TH_BACKGROUND_TYPE
@ TH_SYNTAX_N
@ TH_DRAWEXTRA_EDGELEN
@ TH_MATCH
@ TH_NLA_TRANSITION
@ TH_SEQ_EFFECT
@ TH_SEQ_SCENE
@ TH_PANEL_BACK
@ TH_HANDLE_VECT
@ TH_HEADER_TEXT_HI
@ TH_TEXT
@ TH_METADATA_BG
@ TH_NODE_SHADER
@ TH_WIRE_EDIT
@ TH_SEQ_MOVIECLIP
@ TH_WIRE_INNER
@ TH_DRAWEXTRA_FACEAREA
@ TH_FREESTYLE
@ TH_SEQ_IMAGE
@ TH_NODE_INTERFACE
@ TH_STITCH_PREVIEW_FACE
@ TH_LONGKEY
@ TH_DOPESHEET_CHANNELOB
@ TH_NURB_SEL_ULINE
@ TH_ACTIVE
@ TH_STRIP_SELECT
@ TH_NLA_SOUND_SEL
@ TH_PATH_KEYFRAME_BEFORE
@ TH_FACE
@ TH_VNORMAL
@ TH_CREASE
@ TH_TEXT_HI
void UI_GetThemeColorBlend4f(int colorid1, int colorid2, float fac, float r_col[4])
void UI_GetColorPtrBlendShade3ubv(const unsigned char cp1[3], const unsigned char cp2[3], float fac, int offset, unsigned char r_col[3])
void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3])
void UI_GetThemeColorBlendShade4fv(int colorid1, int colorid2, float fac, int offset, float col[4])
void UI_GetThemeColorType4ubv(int colorid, int spacetype, unsigned char col[4])
void UI_ThemeClearColor(int colorid)
float UI_GetThemeValueTypef(int colorid, int spacetype)
void UI_GetThemeColor3ubv(int colorid, unsigned char col[3])
void UI_GetThemeColorType4fv(int colorid, int spacetype, float col[4])
void UI_GetThemeColorBlendShade3fv(int colorid1, int colorid2, float fac, int offset, float col[3])
void UI_GetThemeColorShadeAlpha4fv(int colorid, int coloffset, int alphaoffset, float col[4])
void UI_GetThemeColor4fv(int colorid, float col[4])
void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4])
void UI_GetThemeColorShade4ubv(int colorid, int offset, unsigned char col[4])
bool UI_GetIconThemeColor4ubv(int colorid, unsigned char col[4])
BIFIconID_Static
@ BIFICONID_LAST_STATIC
void UI_GetThemeColorBlendShade3ubv(int colorid1, int colorid2, float fac, int offset, unsigned char col[3])
bTheme * UI_GetTheme()
int UI_GetThemeValue(int colorid)
void UI_GetThemeColorBlend3f(int colorid1, int colorid2, float fac, float r_col[3])
const unsigned char * UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid)
Definition resources.cc:65
void UI_FontThemeColor(int fontid, int colorid)
void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3])
void UI_make_axis_color(const unsigned char col[3], char axis, unsigned char r_col[3])
float UI_GetThemeValuef(int colorid)
void UI_SetTheme(int spacetype, int regionid)
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
void UI_GetColorPtrBlendAlpha4fv(const float cp1[4], const float cp2[4], float fac, float alphaoffset, float r_col[4])
void UI_GetColorPtrShade3ubv(const unsigned char cp[3], int offset, unsigned char r_col[3])
int UI_ThemeMenuShadowWidth()
uint col
bTheme * theme