Blender V4.5
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
68
69 /* panels */
73
77
81
100 TH_EDGE_SELECT, /* Stands for edge selection, not edge select mode. */
105 TH_FACE_SELECT, /* Stands for face selection, not face select mode. */
127
128 /* this eight colors should be in one block */
139
141 TH_ACTIVE_VERT, /* equivalent of TH_EDITMESH_ACTIVE for splines */
142
152
157
160
161 TH_KEYTYPE_KEYFRAME, /* KEYTYPES */
173
176
181
201
207
214
231
234
238
242
246
248
250
255
258
272
279
282
284
287
288 TH_MATCH, /* highlight color for search matches */
289 TH_SELECT_HIGHLIGHT, /* highlight color for selected outliner item */
290 TH_SELECT_ACTIVE, /* highlight color for active outliner item */
291 TH_SELECTED_OBJECT, /* selected object color for outliner */
292 TH_ACTIVE_OBJECT, /* active object color for outliner */
293 TH_EDITED_OBJECT, /* edited object color for outliner */
294 TH_ROW_ALTERNATE, /* overlay on every other row */
295
297
298 TH_ANIM_ACTIVE, /* active action */
299 TH_ANIM_INACTIVE, /* no active action */
300 TH_ANIM_PREVIEW_RANGE, /* preview range overlay */
301
311
313
314 TH_NLA_TWEAK, /* 'tweaking' track in NLA */
315 TH_NLA_TWEAK_DUPLI, /* error/warning flag for other strips referencing dupli strip */
316
324
332
336
337 TH_AXIS_X, /* X/Y/Z Axis */
340
347
349
362
364
367
370};
371
372/* Specific defines per space should have higher define values. */
373
378
379/* THE CODERS API FOR THEMES: */
380
384float UI_GetThemeValuef(int colorid);
388int UI_GetThemeValue(int colorid);
389
390/* Versions of #UI_GetThemeValue & #UI_GetThemeValuef, which take a space-type */
391
392float UI_GetThemeValueTypef(int colorid, int spacetype);
393int UI_GetThemeValueType(int colorid, int spacetype);
394
398void UI_GetThemeColor3fv(int colorid, float col[3]);
399void UI_GetThemeColorBlend3ubv(int colorid1, int colorid2, float fac, unsigned char col[3]);
400void UI_GetThemeColorBlend3f(int colorid1, int colorid2, float fac, float r_col[3]);
401void UI_GetThemeColorBlend4f(int colorid1, int colorid2, float fac, float r_col[4]);
405void UI_GetThemeColorShade3fv(int colorid, int offset, float col[3]);
406void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3]);
407void UI_GetThemeColorShade4ubv(int colorid, int offset, unsigned char col[4]);
408
414 int colorid1, int colorid2, float fac, int offset, unsigned char col[3]);
415
419void UI_GetThemeColor4fv(int colorid, float col[4]);
420
424void UI_GetThemeColorType4fv(int colorid, int spacetype, float col[4]);
425
429void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4]);
430void UI_GetThemeColorShadeAlpha4fv(int colorid, int coloffset, int alphaoffset, float col[4]);
431
435void UI_GetThemeColorShadeAlpha4ubv(int colorid,
436 int coloffset,
437 int alphaoffset,
438 unsigned char col[4]);
439
445 int colorid1, int colorid2, float fac, int offset, float col[3]);
447 int colorid1, int colorid2, float fac, int offset, float col[4]);
448
452void UI_GetThemeColor3ubv(int colorid, unsigned char col[3]);
456void UI_GetThemeColor4ubv(int colorid, unsigned char col[4]);
457
461void UI_GetThemeColorType3fv(int colorid, int spacetype, float col[3]);
462void UI_GetThemeColorType3ubv(int colorid, int spacetype, unsigned char col[3]);
463void UI_GetThemeColorType4ubv(int colorid, int spacetype, unsigned char col[4]);
464
468bool UI_GetIconThemeColor4ubv(int colorid, unsigned char col[4]);
469
473void UI_GetColorPtrShade3ubv(const unsigned char cp[3], int offset, unsigned char r_col[3]);
474
478void UI_GetColorPtrBlendShade3ubv(const unsigned char cp1[3],
479 const unsigned char cp2[3],
480 float fac,
481 int offset,
482 unsigned char r_col[3]);
483
488void UI_FontThemeColor(int fontid, int colorid);
489
493void UI_ThemeClearColor(int colorid);
494
498void UI_SetTheme(int spacetype, int regionid);
499
504
508void UI_Theme_Store(bThemeState *theme_state);
509void UI_Theme_Restore(const bThemeState *theme_state);
510
515
519const unsigned char *UI_ThemeGetColorPtr(bTheme *btheme, int spacetype, int colorid);
520
521void 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:29
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_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_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_WHITE
@ TH_NODE_SCRIPT
@ TH_HANDLE_VERTEX_SIZE
@ TH_NLA_TRANSITION_SEL
@ TH_WARNING
@ TH_SEQ_SELECTED
@ TH_BACK
@ TH_NODE_GEOMETRY
@ 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_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_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
@ 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_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_SUCCESS
@ 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_ERROR
@ 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_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_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:60
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_GetColorPtrShade3ubv(const unsigned char cp[3], int offset, unsigned char r_col[3])
int UI_ThemeMenuShadowWidth()
uint col
bTheme * theme