Blender  V3.3
rna_timeline.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #include <stdlib.h>
8 
9 #include "DNA_scene_types.h"
10 
11 #include "RNA_define.h"
12 
13 #include "rna_internal.h"
14 
15 #include "WM_types.h"
16 
17 #ifdef RNA_RUNTIME
18 
19 # include "BKE_idprop.h"
20 # include "WM_api.h"
21 
22 static IDProperty **rna_TimelineMarker_idprops(PointerRNA *ptr)
23 {
24  TimeMarker *marker = ptr->data;
25  return &marker->prop;
26 }
27 
28 static void rna_TimelineMarker_update(Main *UNUSED(bmain),
29  Scene *UNUSED(scene),
31 {
34 }
35 
36 #else
37 
39 {
40  StructRNA *srna;
41  PropertyRNA *prop;
42 
43  srna = RNA_def_struct(brna, "TimelineMarker", NULL);
44  RNA_def_struct_sdna(srna, "TimeMarker");
45  RNA_def_struct_ui_text(srna, "Marker", "Marker for noting points in the timeline");
46  RNA_def_struct_idprops_func(srna, "rna_TimelineMarker_idprops");
47 
48  /* String values */
49  prop = RNA_def_property(srna, "name", PROP_STRING, PROP_NONE);
50  RNA_def_property_ui_text(prop, "Name", "");
51  RNA_def_struct_name_property(srna, prop);
52  RNA_def_property_update(prop, 0, "rna_TimelineMarker_update");
53 
54  prop = RNA_def_property(srna, "frame", PROP_INT, PROP_TIME);
55  RNA_def_property_ui_text(prop, "Frame", "The frame on which the timeline marker appears");
56  RNA_def_property_update(prop, 0, "rna_TimelineMarker_update");
57 
58  prop = RNA_def_property(srna, "select", PROP_BOOLEAN, PROP_NONE);
59  RNA_def_property_boolean_sdna(prop, NULL, "flag", 1 /*SELECT*/);
60  RNA_def_property_ui_text(prop, "Select", "Marker selection state");
61  RNA_def_property_update(prop, 0, "rna_TimelineMarker_update");
62 
63 # ifdef DURIAN_CAMERA_SWITCH
64  prop = RNA_def_property(srna, "camera", PROP_POINTER, PROP_NONE);
65  RNA_def_property_struct_type(prop, "Object");
68  RNA_def_property_ui_text(prop, "Camera", "Camera that becomes active on this frame");
69 # endif
70 }
71 
73 {
75 }
76 
77 #endif
#define UNUSED(x)
@ PROP_BOOLEAN
Definition: RNA_types.h:59
@ PROP_INT
Definition: RNA_types.h:60
@ PROP_STRING
Definition: RNA_types.h:62
@ PROP_POINTER
Definition: RNA_types.h:64
@ PROPOVERRIDE_OVERRIDABLE_LIBRARY
Definition: RNA_types.h:312
@ PROP_EDITABLE
Definition: RNA_types.h:189
@ PROP_ID_SELF_CHECK
Definition: RNA_types.h:232
@ PROP_TIME
Definition: RNA_types.h:146
@ PROP_NONE
Definition: RNA_types.h:126
#define NC_ANIMATION
Definition: WM_types.h:338
#define NC_SCENE
Definition: WM_types.h:328
#define ND_MARKERS
Definition: WM_types.h:381
Scene scene
void RNA_def_property_boolean_sdna(PropertyRNA *prop, const char *structname, const char *propname, int64_t bit)
Definition: rna_define.c:2236
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
Definition: rna_define.c:1645
void RNA_def_struct_ui_text(StructRNA *srna, const char *name, const char *description)
Definition: rna_define.c:1237
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
Definition: rna_define.c:1048
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
Definition: rna_define.c:1772
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
Definition: rna_define.c:2900
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
Definition: rna_define.c:1257
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
Definition: rna_define.c:1103
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
Definition: rna_define.c:1028
void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties)
Definition: rna_define.c:1160
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
Definition: rna_define.c:1490
void RNA_def_property_override_flag(PropertyRNA *prop, PropertyOverrideFlag flag)
Definition: rna_define.c:1503
static void rna_def_timeline_marker(BlenderRNA *brna)
Definition: rna_timeline.c:38
void RNA_def_timeline_marker(BlenderRNA *brna)
Definition: rna_timeline.c:72
Definition: BKE_main.h:121
void * data
Definition: RNA_types.h:38
struct IDProperty * prop
void WM_main_add_notifier(unsigned int type, void *reference)
PointerRNA * ptr
Definition: wm_files.c:3480