Blender V5.0
rna_main.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#include <cstdlib>
10#include <cstring>
11
12#include "BLI_path_utils.hh"
13
14#include "BLI_string_ref.hh"
15#include "RNA_define.hh"
16#include "RNA_enum_types.hh"
17
18#include "rna_internal.hh"
19
20#ifdef RNA_RUNTIME
21
22# include "IMB_colormanagement.hh"
23
25
26# include "BKE_global.hh"
27# include "BKE_main.hh"
28# include "BKE_mesh.hh"
29
30/* all the list begin functions are added manually here, Main is not in SDNA */
31
32static bool rna_Main_use_autopack_get(PointerRNA * /*ptr*/)
33{
34 if (G.fileflags & G_FILE_AUTOPACK) {
35 return 1;
36 }
37
38 return 0;
39}
40
41static void rna_Main_use_autopack_set(PointerRNA * /*ptr*/, bool value)
42{
43 if (value) {
44 G.fileflags |= G_FILE_AUTOPACK;
45 }
46 else {
47 G.fileflags &= ~G_FILE_AUTOPACK;
48 }
49}
50
51static bool rna_Main_is_saved_get(PointerRNA *ptr)
52{
53 const Main *bmain = (Main *)ptr->data;
54 return (bmain->filepath[0] != '\0');
55}
56
57static bool rna_Main_is_dirty_get(PointerRNA *ptr)
58{
59 /* XXX, not totally nice to do it this way, should store in main ? */
60 Main *bmain = (Main *)ptr->data;
62 if ((wm = static_cast<wmWindowManager *>(bmain->wm.first))) {
63 return !wm->file_saved;
64 }
65
66 return true;
67}
68
69static void rna_Main_filepath_get(PointerRNA *ptr, char *value)
70{
71 Main *bmain = (Main *)ptr->data;
72 strcpy(value, bmain->filepath);
73}
74
75static int rna_Main_filepath_length(PointerRNA *ptr)
76{
77 Main *bmain = (Main *)ptr->data;
78 return strlen(bmain->filepath);
79}
80
81# if 0
82static void rna_Main_filepath_set(PointerRNA *ptr, const char *value)
83{
84 Main *bmain = (Main *)ptr->data;
85 STRNCPY(bmain->filepath, value);
86}
87# endif
88
89static PointerRNA rna_Main_colorspace_get(PointerRNA *ptr)
90{
91 Main *bmain = (Main *)ptr->data;
92 return PointerRNA(nullptr, &RNA_BlendFileColorspace, &bmain->colorspace);
93}
94
95static int rna_MainColorspace_working_space_get(PointerRNA *ptr)
96{
97 MainColorspace *colorspace = ptr->data_as<MainColorspace>();
99}
100
101static const EnumPropertyItem *rna_MainColorspace_working_space_itemf(bContext * /*C*/,
102 PointerRNA * /*ptr*/,
103 PropertyRNA * /*prop*/,
104 bool *r_free)
105{
106 EnumPropertyItem *items = nullptr;
107 int totitem = 0;
108
110 RNA_enum_item_end(&items, &totitem);
111
112 *r_free = true;
113
114 return items;
115}
116
117static void rna_MainColorspace_working_space_interop_id_get(PointerRNA *ptr, char *value)
118{
119 MainColorspace *main_colorspace = ptr->data_as<MainColorspace>();
121 main_colorspace->scene_linear_name);
122 const auto interop_id = (colorspace) ? IMB_colormanagement_space_get_interop_id(colorspace) : "";
123 strcpy(value, interop_id.c_str());
124}
125
126static int rna_MainColorspace_working_space_interop_id_length(PointerRNA *ptr)
127{
128 MainColorspace *main_colorspace = ptr->data_as<MainColorspace>();
130 main_colorspace->scene_linear_name);
131 const auto interop_id = (colorspace) ? IMB_colormanagement_space_get_interop_id(colorspace) : "";
132 return interop_id.size();
133}
134
135static bool rna_MainColorspace_is_missing_opencolorio_config_get(PointerRNA *ptr)
136{
137 MainColorspace *colorspace = ptr->data_as<MainColorspace>();
138 return colorspace->is_missing_opencolorio_config;
139}
140
141# define RNA_MAIN_LISTBASE_FUNCS_DEF(_listbase_name) \
142 static void rna_Main_##_listbase_name##_begin(CollectionPropertyIterator *iter, \
143 PointerRNA *ptr) \
144 { \
145 rna_iterator_listbase_begin(iter, ptr, &((Main *)ptr->data)->_listbase_name, nullptr); \
146 }
147
148RNA_MAIN_LISTBASE_FUNCS_DEF(actions)
149RNA_MAIN_LISTBASE_FUNCS_DEF(armatures)
150RNA_MAIN_LISTBASE_FUNCS_DEF(brushes)
151RNA_MAIN_LISTBASE_FUNCS_DEF(cachefiles)
152RNA_MAIN_LISTBASE_FUNCS_DEF(cameras)
153RNA_MAIN_LISTBASE_FUNCS_DEF(collections)
154RNA_MAIN_LISTBASE_FUNCS_DEF(curves)
155RNA_MAIN_LISTBASE_FUNCS_DEF(fonts)
156RNA_MAIN_LISTBASE_FUNCS_DEF(gpencils)
157RNA_MAIN_LISTBASE_FUNCS_DEF(grease_pencils)
158RNA_MAIN_LISTBASE_FUNCS_DEF(hair_curves)
159RNA_MAIN_LISTBASE_FUNCS_DEF(images)
160RNA_MAIN_LISTBASE_FUNCS_DEF(lattices)
161RNA_MAIN_LISTBASE_FUNCS_DEF(libraries)
162RNA_MAIN_LISTBASE_FUNCS_DEF(lightprobes)
163RNA_MAIN_LISTBASE_FUNCS_DEF(lights)
164RNA_MAIN_LISTBASE_FUNCS_DEF(linestyles)
165RNA_MAIN_LISTBASE_FUNCS_DEF(masks)
166RNA_MAIN_LISTBASE_FUNCS_DEF(materials)
167RNA_MAIN_LISTBASE_FUNCS_DEF(meshes)
168RNA_MAIN_LISTBASE_FUNCS_DEF(metaballs)
169RNA_MAIN_LISTBASE_FUNCS_DEF(movieclips)
170RNA_MAIN_LISTBASE_FUNCS_DEF(nodetrees)
171RNA_MAIN_LISTBASE_FUNCS_DEF(objects)
172RNA_MAIN_LISTBASE_FUNCS_DEF(paintcurves)
173RNA_MAIN_LISTBASE_FUNCS_DEF(palettes)
174RNA_MAIN_LISTBASE_FUNCS_DEF(particles)
175RNA_MAIN_LISTBASE_FUNCS_DEF(pointclouds)
176RNA_MAIN_LISTBASE_FUNCS_DEF(scenes)
177RNA_MAIN_LISTBASE_FUNCS_DEF(screens)
178RNA_MAIN_LISTBASE_FUNCS_DEF(shapekeys)
179RNA_MAIN_LISTBASE_FUNCS_DEF(sounds)
180RNA_MAIN_LISTBASE_FUNCS_DEF(speakers)
181RNA_MAIN_LISTBASE_FUNCS_DEF(texts)
182RNA_MAIN_LISTBASE_FUNCS_DEF(textures)
183RNA_MAIN_LISTBASE_FUNCS_DEF(volumes)
184RNA_MAIN_LISTBASE_FUNCS_DEF(wm)
185RNA_MAIN_LISTBASE_FUNCS_DEF(workspaces)
186RNA_MAIN_LISTBASE_FUNCS_DEF(worlds)
187
188# undef RNA_MAIN_LISTBASE_FUNCS_DEF
189
190static void rna_Main_version_get(PointerRNA *ptr, int *value)
191{
192 Main *bmain = (Main *)ptr->data;
193 value[0] = bmain->versionfile / 100;
194 value[1] = bmain->versionfile % 100;
195 value[2] = bmain->subversionfile;
196}
197
198# ifdef UNIT_TEST
199
200static PointerRNA rna_Test_test_get(PointerRNA *ptr)
201{
202 PointerRNA ret = *ptr;
203 ret.type = &RNA_Test;
204
205 return ret;
206}
207
208# endif
209
210#else
211
212/* local convenience types */
213using CollectionDefFunc = void(BlenderRNA *brna, PropertyRNA *cprop);
214
216 const char *identifier;
217 const char *type;
218 const char *iter_begin;
219 const char *name;
220 const char *description;
222};
223
225{
226 StructRNA *srna;
227 PropertyRNA *prop;
228
229 srna = RNA_def_struct(brna, "BlendFileColorspace", nullptr);
231 "Blend-File Color Space",
232 "Information about the color space used for data-blocks in a blend file");
233
234 prop = RNA_def_property(srna, "working_space", PROP_ENUM, PROP_NONE);
239 "Working Space",
240 "Color space used for all scene linear colors in this file, and "
241 "for compositing, shader and geometry nodes processing");
243 "rna_MainColorspace_working_space_get",
244 nullptr,
245 "rna_MainColorspace_working_space_itemf");
246
247 prop = RNA_def_property(srna, "working_space_interop_id", PROP_STRING, PROP_NONE);
250 prop,
251 "Working Space Interop ID",
252 "Unique identifier for common color spaces, as defined by the Color Interop Forum. May be "
253 "empty if there is no interop ID for the working space. Common values are lin_rec709_scene, "
254 "lin_rec2020_scene and lin_ap1_scene (for ACEScg)");
256 "rna_MainColorspace_working_space_interop_id_get",
257 "rna_MainColorspace_working_space_interop_id_length",
258 nullptr);
259 prop = RNA_def_property(srna, "is_missing_opencolorio_config", PROP_BOOLEAN, PROP_NONE);
262 prop, "rna_MainColorspace_is_missing_opencolorio_config_get", nullptr);
264 "Missing OpenColorIO Configuration",
265 "A color space, view or display was not found, which likely means the "
266 "OpenColorIO config used to create this blend file is missing");
267}
268
270{
271 StructRNA *srna;
272 PropertyRNA *prop;
273
274 /* Plural must match ID-types in `readblenentry.cc`. */
275 MainCollectionDef lists[] = {
276 {"cameras",
277 "Camera",
278 "rna_Main_cameras_begin",
279 "Cameras",
280 "Camera data-blocks",
282 {"scenes",
283 "Scene",
284 "rna_Main_scenes_begin",
285 "Scenes",
286 "Scene data-blocks",
288 {"objects",
289 "Object",
290 "rna_Main_objects_begin",
291 "Objects",
292 "Object data-blocks",
294 {"materials",
295 "Material",
296 "rna_Main_materials_begin",
297 "Materials",
298 "Material data-blocks",
300 {"node_groups",
301 "NodeTree",
302 "rna_Main_nodetrees_begin",
303 "Node Groups",
304 "Node group data-blocks",
306 {"meshes",
307 "Mesh",
308 "rna_Main_meshes_begin",
309 "Meshes",
310 "Mesh data-blocks",
312 {"lights",
313 "Light",
314 "rna_Main_lights_begin",
315 "Lights",
316 "Light data-blocks",
318 {"libraries",
319 "Library",
320 "rna_Main_libraries_begin",
321 "Libraries",
322 "Library data-blocks",
324 {"screens",
325 "Screen",
326 "rna_Main_screens_begin",
327 "Screens",
328 "Screen data-blocks",
330 {"window_managers",
331 "WindowManager",
332 "rna_Main_wm_begin",
333 "Window Managers",
334 "Window manager data-blocks",
336 {"images",
337 "Image",
338 "rna_Main_images_begin",
339 "Images",
340 "Image data-blocks",
342 {"lattices",
343 "Lattice",
344 "rna_Main_lattices_begin",
345 "Lattices",
346 "Lattice data-blocks",
348 {"curves",
349 "Curve",
350 "rna_Main_curves_begin",
351 "Curves",
352 "Curve data-blocks",
354 {"metaballs",
355 "MetaBall",
356 "rna_Main_metaballs_begin",
357 "Metaballs",
358 "Metaball data-blocks",
360 {"fonts",
361 "VectorFont",
362 "rna_Main_fonts_begin",
363 "Vector Fonts",
364 "Vector font data-blocks",
366 {"textures",
367 "Texture",
368 "rna_Main_textures_begin",
369 "Textures",
370 "Texture data-blocks",
372 {"brushes",
373 "Brush",
374 "rna_Main_brushes_begin",
375 "Brushes",
376 "Brush data-blocks",
378 {"worlds",
379 "World",
380 "rna_Main_worlds_begin",
381 "Worlds",
382 "World data-blocks",
384 {"collections",
385 "Collection",
386 "rna_Main_collections_begin",
387 "Collections",
388 "Collection data-blocks",
390 {"shape_keys",
391 "Key",
392 "rna_Main_shapekeys_begin",
393 "Shape Keys",
394 "Shape Key data-blocks",
395 nullptr},
396 {"texts", "Text", "rna_Main_texts_begin", "Texts", "Text data-blocks", RNA_def_main_texts},
397 {"speakers",
398 "Speaker",
399 "rna_Main_speakers_begin",
400 "Speakers",
401 "Speaker data-blocks",
403 {"sounds",
404 "Sound",
405 "rna_Main_sounds_begin",
406 "Sounds",
407 "Sound data-blocks",
409 {"armatures",
410 "Armature",
411 "rna_Main_armatures_begin",
412 "Armatures",
413 "Armature data-blocks",
415 {"actions",
416 "Action",
417 "rna_Main_actions_begin",
418 "Actions",
419 "Action data-blocks",
421 {"particles",
422 "ParticleSettings",
423 "rna_Main_particles_begin",
424 "Particles",
425 "Particle data-blocks",
427 {"palettes",
428 "Palette",
429 "rna_Main_palettes_begin",
430 "Palettes",
431 "Palette data-blocks",
433 {"annotations",
434 "Annotation",
435 "rna_Main_gpencils_begin",
436 "Annotation",
437 "Annotation data-blocks (legacy Grease Pencil)",
439 {"grease_pencils",
440 "GreasePencil",
441 "rna_Main_grease_pencils_begin",
442 "Grease Pencil",
443 "Grease Pencil data-blocks",
445 {"movieclips",
446 "MovieClip",
447 "rna_Main_movieclips_begin",
448 "Movie Clips",
449 "Movie Clip data-blocks",
451 {"masks", "Mask", "rna_Main_masks_begin", "Masks", "Masks data-blocks", RNA_def_main_masks},
452 {"linestyles",
453 "FreestyleLineStyle",
454 "rna_Main_linestyles_begin",
455 "Line Styles",
456 "Line Style data-blocks",
458 {"cache_files",
459 "CacheFile",
460 "rna_Main_cachefiles_begin",
461 "Cache Files",
462 "Cache Files data-blocks",
464 {"paint_curves",
465 "PaintCurve",
466 "rna_Main_paintcurves_begin",
467 "Paint Curves",
468 "Paint Curves data-blocks",
470 {"workspaces",
471 "WorkSpace",
472 "rna_Main_workspaces_begin",
473 "Workspaces",
474 "Workspace data-blocks",
476 {"lightprobes",
477 "LightProbe",
478 "rna_Main_lightprobes_begin",
479 "Light Probes",
480 "Light Probe data-blocks",
486 {"hair_curves",
487 "Curves",
488 "rna_Main_hair_curves_begin",
489 "Hair Curves",
490 "Hair curve data-blocks",
492 {"pointclouds",
493 "PointCloud",
494 "rna_Main_pointclouds_begin",
495 "Point Clouds",
496 "Point cloud data-blocks",
498 {"volumes",
499 "Volume",
500 "rna_Main_volumes_begin",
501 "Volumes",
502 "Volume data-blocks",
504 {nullptr, nullptr, nullptr, nullptr, nullptr, nullptr},
505 };
506
507 int i;
508
509 srna = RNA_def_struct(brna, "BlendData", nullptr);
511 "Blend-File Data",
512 "Main data structure representing a .blend file and all its data-blocks");
513 RNA_def_struct_ui_icon(srna, ICON_BLENDER);
514
515 prop = RNA_def_property(srna, "filepath", PROP_STRING, PROP_FILEPATH);
518 prop, "rna_Main_filepath_get", "rna_Main_filepath_length", nullptr);
520 RNA_def_property_ui_text(prop, "Filename", "Path to the .blend file");
521
522 prop = RNA_def_property(srna, "is_dirty", PROP_BOOLEAN, PROP_NONE);
524 RNA_def_property_boolean_funcs(prop, "rna_Main_is_dirty_get", nullptr);
526 prop, "File Has Unsaved Changes", "Have recent edits been saved to disk");
527
528 prop = RNA_def_property(srna, "is_saved", PROP_BOOLEAN, PROP_NONE);
530 RNA_def_property_boolean_funcs(prop, "rna_Main_is_saved_get", nullptr);
532 prop, "File is Saved", "Has the current session been saved to disk as a .blend file");
533
534 prop = RNA_def_property(srna, "use_autopack", PROP_BOOLEAN, PROP_NONE);
535 RNA_def_property_boolean_funcs(prop, "rna_Main_use_autopack_get", "rna_Main_use_autopack_set");
537 prop, "Use Auto-Pack", "Automatically pack all external data into .blend file");
538
539 prop = RNA_def_int_vector(srna,
540 "version",
541 3,
542 nullptr,
543 0,
544 INT_MAX,
545 "Version",
546 "File format version the .blend file was saved with",
547 0,
548 INT_MAX);
549 RNA_def_property_int_funcs(prop, "rna_Main_version_get", nullptr, nullptr);
552
553 for (i = 0; lists[i].name; i++) {
554 prop = RNA_def_property(srna, lists[i].identifier, PROP_COLLECTION, PROP_NONE);
555 RNA_def_property_struct_type(prop, lists[i].type);
557 lists[i].iter_begin,
558 "rna_iterator_listbase_next",
559 "rna_iterator_listbase_end",
560 "rna_iterator_listbase_get",
561 nullptr,
562 nullptr,
563 nullptr,
564 nullptr);
565 RNA_def_property_ui_text(prop, lists[i].name, lists[i].description);
566
567 /* collection functions */
568 CollectionDefFunc *func = lists[i].func;
569 if (func) {
570 func(brna, prop);
571 }
572 }
573
575
576 prop = RNA_def_property(srna, "colorspace", PROP_POINTER, PROP_NONE);
578 RNA_def_property_struct_type(prop, "BlendFileColorspace");
579 RNA_def_property_pointer_funcs(prop, "rna_Main_colorspace_get", nullptr, nullptr, nullptr);
581 prop,
582 "Color Space",
583 "Information about the color space used for data-blocks in a blend file");
584
585 RNA_api_main(srna);
586
587# ifdef UNIT_TEST
588
590
591 prop = RNA_def_property(srna, "test", PROP_POINTER, PROP_NONE);
592 RNA_def_property_struct_type(prop, "Test");
593 RNA_def_property_pointer_funcs(prop, "rna_Test_test_get", nullptr, nullptr, nullptr);
594
596
597# endif
598}
599
600#endif
@ G_FILE_AUTOPACK
blender::ocio::ColorSpace ColorSpace
Definition BLF_api.hh:38
#define FILE_MAX
char * STRNCPY(char(&dst)[N], const char *src)
Definition BLI_string.h:693
blender::StringRefNull IMB_colormanagement_space_get_interop_id(const ColorSpace *colorspace)
const ColorSpace * IMB_colormanagement_space_get_named(const char *name)
int IMB_colormanagement_working_space_get_named_index(const char *name)
void IMB_colormanagement_working_space_items_add(EnumPropertyItem **items, int *totitem)
@ PROP_BOOLEAN
Definition RNA_types.hh:162
@ PROP_ENUM
Definition RNA_types.hh:166
@ PROP_STRING
Definition RNA_types.hh:165
@ PROP_POINTER
Definition RNA_types.hh:167
@ PROP_COLLECTION
Definition RNA_types.hh:168
@ PROP_THICK_WRAP
Definition RNA_types.hh:423
@ PROP_EDITABLE
Definition RNA_types.hh:306
@ PROP_ENUM_NO_CONTEXT
Definition RNA_types.hh:430
@ PROP_NEVER_NULL
Definition RNA_types.hh:377
@ PROP_NONE
Definition RNA_types.hh:233
@ PROP_FILEPATH
Definition RNA_types.hh:236
constexpr int64_t size() const
#define G(x, y, z)
const char * name
return ret
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_define_verify_sdna(bool verify)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_collection_funcs(PropertyRNA *prop, const char *begin, const char *next, const char *end, const char *get, const char *length, const char *lookupint, const char *lookupstring, const char *assignint)
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
PropertyRNA * RNA_def_int_vector(StructOrFunctionRNA *cont_, const char *identifier, const int len, const int *default_value, const int hardmin, const int hardmax, const char *ui_name, const char *ui_description, const int softmin, const int softmax)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_property_enum_funcs(PropertyRNA *prop, const char *get, const char *set, const char *item)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_enum_item_end(EnumPropertyItem **items, int *totitem)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_property_pointer_funcs(PropertyRNA *prop, const char *get, const char *set, const char *type_fn, const char *poll)
void RNA_def_property_int_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
void RNA_def_struct_ui_icon(StructRNA *srna, int icon)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_main_window_managers(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_curves(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_cameras(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_worlds(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_textures(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_lightprobes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_grease_pencil(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_movieclips(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_screens(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_images(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_volumes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_node_groups(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_meshes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_hair_curves(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_pointclouds(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_libraries(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_paintcurves(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_texts(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_lights(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_actions(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_palettes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_api_main(StructRNA *srna)
void RNA_def_main_particles(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_annotations(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_lattices(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_masks(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_cachefiles(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_fonts(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_metaballs(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_speakers(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_scenes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_collections(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_materials(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_workspaces(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_sounds(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_armatures(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_linestyles(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_brushes(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_main_objects(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_main_colorspace(BlenderRNA *brna)
Definition rna_main.cc:224
void RNA_def_main(BlenderRNA *brna)
Definition rna_main.cc:269
void(BlenderRNA *brna, PropertyRNA *cprop) CollectionDefFunc
Definition rna_main.cc:213
const EnumPropertyItem rna_enum_dummy_NULL_items[]
Definition rna_rna.cc:26
const char * name
Definition rna_main.cc:219
const char * identifier
Definition rna_main.cc:216
const char * description
Definition rna_main.cc:220
const char * type
Definition rna_main.cc:217
CollectionDefFunc * func
Definition rna_main.cc:221
const char * iter_begin
Definition rna_main.cc:218
char scene_linear_name[64]
Definition BKE_main.hh:150
bool is_missing_opencolorio_config
Definition BKE_main.hh:157
i
Definition text_draw.cc:230
PointerRNA * ptr
Definition wm_files.cc:4238