Blender V4.3
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
9#pragma once
10
11#include "BLI_sys_types.h"
12#include "BLI_utildefines.h"
13
14struct bTheme;
15
16/* Define icon enum. */
17#define DEF_ICON(name) ICON_##name,
18#define DEF_ICON_VECTOR(name) ICON_##name,
19#define DEF_ICON_COLOR(name) ICON_##name,
20#define DEF_ICON_BLANK(name) ICON_BLANK_##name,
21
27/* ui */
28#include "UI_icons.hh"
30};
31
33using BIFIconID = int;
35 "Expected all builtin icon IDs to fit into `BIFIconID`");
36
37#define BIFICONID_FIRST (ICON_NONE)
38
39/* use to denote intentionally unset theme color */
40#define TH_UNDEFINED -1
41
44
46 /* Common colors among spaces. */
47
58
62
63 /* panels */
67
71
75
94 TH_EDGE_SELECT, /* Stands for edge selection, not edge select mode. */
99 TH_FACE_SELECT, /* Stands for face selection, not face select mode. */
121
122 /* this eight colors should be in one block */
133
135 TH_ACTIVE_VERT, /* equivalent of TH_EDITMESH_ACTIVE for splines */
136
146
151
154
155 TH_KEYTYPE_KEYFRAME, /* KEYTYPES */
167
170
175
195
200
207
222
225
229
233
237
239
241
246
249
263
270
273
275
278
279 TH_MATCH, /* highlight color for search matches */
280 TH_SELECT_HIGHLIGHT, /* highlight color for selected outliner item */
281 TH_SELECT_ACTIVE, /* highlight color for active outliner item */
282 TH_SELECTED_OBJECT, /* selected object color for outliner */
283 TH_ACTIVE_OBJECT, /* active object color for outliner */
284 TH_EDITED_OBJECT, /* edited object color for outliner */
285 TH_ROW_ALTERNATE, /* overlay on every other row */
286
288
289 TH_ANIM_ACTIVE, /* active action */
290 TH_ANIM_INACTIVE, /* no active action */
291 TH_ANIM_PREVIEW_RANGE, /* preview range overlay */
292
302
304
305 TH_NLA_TWEAK, /* 'tweaking' track in NLA */
306 TH_NLA_TWEAK_DUPLI, /* error/warning flag for other strips referencing dupli strip */
307
315
323
327
328 TH_AXIS_X, /* X/Y/Z Axis */
331
338
340
356
358
361
364};
365
366/* Specific defines per space should have higher define values. */
367
372
373/* THE CODERS API FOR THEMES: */
374
378float UI_GetThemeValuef(int colorid);
382int UI_GetThemeValue(int colorid);
383
384/* Versions of #UI_GetThemeValue & #UI_GetThemeValuef, which take a space-type */
385
386float UI_GetThemeValueTypef(int colorid, int spacetype);
387int UI_GetThemeValueType(int colorid, int spacetype);
388
392void UI_GetThemeColor3fv(int colorid, float col[3]);
393void UI_GetThemeColorBlend3ubv(int colorid1, int colorid2, float fac, unsigned char col[3]);
394void UI_GetThemeColorBlend3f(int colorid1, int colorid2, float fac, float r_col[3]);
395void UI_GetThemeColorBlend4f(int colorid1, int colorid2, float fac, float r_col[4]);
399void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3]);
400void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3]);
401void UI_GetThemeColorShade4ubv(int colorid, int offset, unsigned char col[4]);
402
408 int colorid1, int colorid2, float fac, int offset, unsigned char col[3]);
409
413void UI_GetThemeColor4fv(int colorid, float col[4]);
414
418void UI_GetThemeColorType4fv(int colorid, int spacetype, float col[4]);
419
423void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4]);
424void UI_GetThemeColorShadeAlpha4fv(int colorid, int coloffset, int alphaoffset, float col[4]);
425
429void UI_GetThemeColorShadeAlpha4ubv(int colorid,
430 int coloffset,
431 int alphaoffset,
432 unsigned char col[4]);
433
439 int colorid1, int colorid2, float fac, int offset, float col[3]);
441 int colorid1, int colorid2, float fac, int offset, float col[4]);
442
446void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]);
450void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]);
451
455void UI_GetThemeColorType3fv(int colorid, int spacetype, float col[3]);
456void UI_GetThemeColorType3ubv(int colorid, int spacetype, unsigned char col[3]);
457void UI_GetThemeColorType4ubv(int colorid, int spacetype, unsigned char col[4]);
458
462bool UI_GetIconThemeColor4ubv(int colorid, unsigned char col[4]);
463
467void UI_GetColorPtrShade3ubv(const unsigned char cp[3], int offset, unsigned char r_col[3]);
468
472void UI_GetColorPtrBlendShade3ubv(const unsigned char cp1[3],
473 const unsigned char cp2[3],
474 float fac,
475 int offset,
476 unsigned char r_col[3]);
477
482void UI_FontThemeColor(int fontid, int colorid);
483
487void UI_ThemeClearColor(int colorid);
488
492void UI_SetTheme(int spacetype, int regionid);
493
498
502void UI_Theme_Store(bThemeState *theme_state);
503void UI_Theme_Restore(const bThemeState *theme_state);
504
509
513const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid);
514
515void 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:87
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_EDGE_SHARP
@ 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_TIME_KEYFRAME
@ TH_KEYTYPE_BREAKDOWN
@ TH_EDGE_FACESEL
@ 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_TRANSPARENT_CHECKER_PRIMARY
@ TH_NODE_ZONE_REPEAT
@ TH_WIDGET_TEXT_HIGHLIGHT
@ TH_BONE_POSE_ACTIVE
@ TH_DRAWEXTRA_EDGEANG
@ TH_SYNTAX_B
@ TH_FREESTYLE_FACE_MARK
@ TH_NLA_TRACK
@ TH_INFO_DEBUG
@ TH_DRAWEXTRA_FACEANG
@ TH_ACTIVE_OBJECT
@ TH_ICON_FOLDER
@ TH_TAB_ACTIVE
@ TH_FREESTYLE_EDGE_MARK
@ TH_HEADER
@ TH_GRID
@ TH_VERTEX_ACTIVE
@ TH_NODE_SCRIPT
@ TH_HANDLE_VERTEX_SIZE
@ TH_NLA_TRANSITION_SEL
@ TH_SEQ_SELECTED
@ TH_BACK
@ TH_NODE_GEOMETRY
@ TH_LOCK_MARKER
@ TH_INFO_INFO
@ 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_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_SKIN_ROOT
@ TH_EDGE_SELECT
@ TH_TRANSPARENT_CHECKER_SECONDARY
@ TH_ICON_OBJECT_DATA
@ TH_ACTIVE_VERT
@ TH_HANDLE_SEL_AUTOCLAMP
@ TH_ACTIVE_SPLINE
@ TH_STITCH_PREVIEW_VERT
@ TH_EDITED_OBJECT
@ TH_CAMERA
@ TH_KEYTYPE_KEYFRAME_SELECT
@ TH_SELECTED_OBJECT
@ TH_PATH_AFTER
@ TH_ICON_SHADING
@ TH_NODE_PATTERN
@ TH_BUTBACK_TEXT
@ TH_STITCH_PREVIEW_UNSTITCHABLE
@ TH_TRANSFORM
@ TH_NODE_ATTRIBUTE
@ TH_EDGE_BEVEL
@ TH_OUTLINE_WIDTH
@ TH_BUTBACK
@ TH_HANDLE_AUTO
@ TH_PANEL_SUB_BACK
@ TH_NODE_DISTORT
@ TH_ICON_SCENE
@ TH_ANIM_ACTIVE
@ TH_INFO_ERROR
@ TH_NURB_VLINE
@ TH_SEQ_TEXT
@ TH_REDALERT
@ TH_SPEAKER
@ TH_INFO_ERROR_TEXT
@ TH_VERTEX
@ TH_METADATA_TEXT
@ TH_CAMERA_PASSEPARTOUT
@ TH_EDITOR_BORDER
@ TH_SEQ_MASK
@ TH_VERTEX_SIZE
@ TH_INFO_OPERATOR
@ TH_HANDLE_SEL_ALIGN
@ TH_SEQ_MOVIE
@ TH_GP_VERTEX_SELECT
@ TH_OBCENTER_DIA
@ TH_CONSOLE_SELECT
@ TH_KEYTYPE_MOVEHOLD
@ TH_INFO_WARNING
@ 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_PAINT_CURVE_HANDLE
@ TH_FACE_RETOPOLOGY
@ TH_STITCH_PREVIEW_EDGE
@ TH_NLA_TWEAK
@ TH_NODE_GRID_LEVELS
@ TH_PREVIEW_BACK
@ TH_HANDLE_SEL_FREE
@ TH_VERTEX_BEVEL
@ 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_EDGE_SEAM
@ 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_STRIP
@ TH_NODE_CONVERTER
@ TH_KEYTYPE_MOVEHOLD_SELECT
@ TH_THEMEUI
@ 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_STITCH_PREVIEW_STITCHABLE
@ TH_HEADER_TEXT
@ TH_PAINT_CURVE_PIVOT
@ TH_V3D_CLIPPING_BORDER
@ TH_NLA_TWEAK_DUPLI
@ TH_AXIS_Z
@ TH_EDGE_WIDTH
@ TH_EDITMESH_ACTIVE
@ TH_SEQ_PREVIEW
@ TH_GP_VERTEX_SIZE
@ TH_CONSOLE_INFO
@ TH_GP_VERTEX
@ TH_INFO_OPERATOR_TEXT
@ TH_FRAME_BEFORE
@ TH_SYNTAX_D
@ TH_VIEW_OVERLAY
@ TH_HILITE
@ TH_GIZMO_SECONDARY
@ TH_BUTBACK_TEXT_HI
@ TH_ACT_MARKER
@ TH_FACE_DOT
@ 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_NODE_LAYOUT
@ TH_EDGE_CREASE
@ 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_SEQ_IMAGE
@ TH_NODE_INTERFACE
@ TH_STITCH_PREVIEW_FACE
@ 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_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:61
void UI_FontThemeColor(int fontid, int colorid)
void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3])
int BIFIconID
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_GetColorPtrShade3ubv(const unsigned char cp[3], int offset, unsigned char r_col[3])
int UI_ThemeMenuShadowWidth()
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
uint col
bTheme * theme