Blender V4.3
DNA_ID_enums.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
10#pragma once
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
22
40#define IDP_NUMTYPES 11
41
43enum {
53};
54
56typedef enum eIDPropertySubType {
57 IDP_STRING_SUB_UTF8 = 0, /* default */
58 IDP_STRING_SUB_BYTE = 1, /* arbitrary byte array, _not_ null terminated */
60
93
101#ifdef __BIG_ENDIAN__
102/* big endian */
103# define MAKE_ID2(c, d) ((c) << 8 | (d))
104#else
105/* little endian */
106# define MAKE_ID2(c, d) ((d) << 8 | (c))
107#endif
108
117typedef enum ID_Type {
118 ID_SCE = MAKE_ID2('S', 'C'), /* Scene */
119 ID_LI = MAKE_ID2('L', 'I'), /* Library */
120 ID_OB = MAKE_ID2('O', 'B'), /* Object */
121 ID_ME = MAKE_ID2('M', 'E'), /* Mesh */
122 ID_CU_LEGACY = MAKE_ID2('C', 'U'), /* Curve. ID_CV should be used in the future (see #95355). */
123 ID_MB = MAKE_ID2('M', 'B'), /* MetaBall */
124 ID_MA = MAKE_ID2('M', 'A'), /* Material */
125 ID_TE = MAKE_ID2('T', 'E'), /* Tex (Texture) */
126 ID_IM = MAKE_ID2('I', 'M'), /* Image */
127 ID_LT = MAKE_ID2('L', 'T'), /* Lattice */
128 ID_LA = MAKE_ID2('L', 'A'), /* Light */
129 ID_CA = MAKE_ID2('C', 'A'), /* Camera */
130 ID_IP = MAKE_ID2('I', 'P'), /* Ipo (depreciated, replaced by FCurves) */
131 ID_KE = MAKE_ID2('K', 'E'), /* Key (shape key) */
132 ID_WO = MAKE_ID2('W', 'O'), /* World */
133 ID_SCR = MAKE_ID2('S', 'R'), /* Screen */
134 ID_VF = MAKE_ID2('V', 'F'), /* VFont (Vector Font) */
135 ID_TXT = MAKE_ID2('T', 'X'), /* Text */
136 ID_SPK = MAKE_ID2('S', 'K'), /* Speaker */
137 ID_SO = MAKE_ID2('S', 'O'), /* Sound */
138 ID_GR = MAKE_ID2('G', 'R'), /* Collection */
139 ID_AR = MAKE_ID2('A', 'R'), /* bArmature */
140 ID_AC = MAKE_ID2('A', 'C'), /* bAction */
141 ID_NT = MAKE_ID2('N', 'T'), /* bNodeTree */
142 ID_BR = MAKE_ID2('B', 'R'), /* Brush */
143 ID_PA = MAKE_ID2('P', 'A'), /* ParticleSettings */
144 ID_GD_LEGACY = MAKE_ID2('G', 'D'), /* bGPdata, (legacy Grease Pencil) */
145 ID_WM = MAKE_ID2('W', 'M'), /* WindowManager */
146 ID_MC = MAKE_ID2('M', 'C'), /* MovieClip */
147 ID_MSK = MAKE_ID2('M', 'S'), /* Mask */
148 ID_LS = MAKE_ID2('L', 'S'), /* FreestyleLineStyle */
149 ID_PAL = MAKE_ID2('P', 'L'), /* Palette */
150 ID_PC = MAKE_ID2('P', 'C'), /* PaintCurve */
151 ID_CF = MAKE_ID2('C', 'F'), /* CacheFile */
152 ID_WS = MAKE_ID2('W', 'S'), /* WorkSpace */
153 ID_LP = MAKE_ID2('L', 'P'), /* LightProbe */
154 ID_CV = MAKE_ID2('C', 'V'), /* Curves */
155 ID_PT = MAKE_ID2('P', 'T'), /* PointCloud */
156 ID_VO = MAKE_ID2('V', 'O'), /* Volume */
157 ID_GP = MAKE_ID2('G', 'P'), /* Grease Pencil */
159
160/* Only used as 'placeholder' in .blend files for directly linked data-blocks. */
161#define ID_LINK_PLACEHOLDER MAKE_ID2('I', 'D') /* (internal use only) */
162
163/* Deprecated. */
164#define ID_SCRN MAKE_ID2('S', 'N')
165
166/* NOTE: Fake IDs, needed for `g.sipo->blocktype` or outliner. */
167#define ID_SEQ MAKE_ID2('S', 'Q')
168/* constraint */
169#define ID_CO MAKE_ID2('C', 'O')
170/* pose (action channel, used to be ID_AC in code, so we keep code for backwards compatible). */
171#define ID_PO MAKE_ID2('A', 'C')
172/* used in outliner... */
173#define ID_NLA MAKE_ID2('N', 'L')
174/* fluidsim Ipo */
175#define ID_FLUIDSIM MAKE_ID2('F', 'S')
176
177#ifdef __cplusplus
178}
179#endif
eIconSizes
@ ICON_SIZE_PREVIEW
@ ICON_SIZE_ICON
@ NUM_ICON_SIZES
ID_Type
@ ID_WM
@ ID_CA
@ ID_AR
@ ID_MC
@ ID_CF
@ ID_LI
@ ID_TE
@ ID_IM
@ ID_VO
@ ID_WS
@ ID_NT
@ ID_LA
@ ID_KE
@ ID_TXT
@ ID_SO
@ ID_SCE
@ ID_LS
@ ID_MSK
@ ID_CV
@ ID_PAL
@ ID_BR
@ ID_LP
@ ID_WO
@ ID_MA
@ ID_AC
@ ID_SCR
@ ID_CU_LEGACY
@ ID_GD_LEGACY
@ ID_VF
@ ID_ME
@ ID_IP
@ ID_GR
@ ID_SPK
@ ID_MB
@ ID_LT
@ ID_OB
@ ID_GP
@ ID_PA
@ ID_PT
@ ID_PC
eIDPropertySubType
@ IDP_STRING_SUB_UTF8
@ IDP_STRING_SUB_BYTE
eIDPropertyType
@ IDP_DOUBLE
@ IDP_FLOAT
@ IDP_STRING
@ IDP_BOOLEAN
@ IDP_IDPARRAY
@ IDP_INT
@ IDP_GROUP
@ IDP_ARRAY
@ IDP_ID
#define MAKE_ID2(c, d)
eIDPropertyFlag
@ IDP_FLAG_GHOST
@ IDP_FLAG_STATIC_TYPE
@ IDP_FLAG_OVERRIDELIBRARY_LOCAL
@ IDP_FLAG_OVERRIDABLE_LIBRARY
@ IDP_TYPE_FILTER_STRING
@ IDP_TYPE_FILTER_ARRAY
@ IDP_TYPE_FILTER_DOUBLE
@ IDP_TYPE_FILTER_BOOLEAN
@ IDP_TYPE_FILTER_FLOAT
@ IDP_TYPE_FILTER_GROUP
@ IDP_TYPE_FILTER_ID
@ IDP_TYPE_FILTER_IDPARRAY
@ IDP_TYPE_FILTER_INT