71 func = &rna_Gizmo_draw_func;
80static void rna_gizmo_draw_select_cb(
const bContext *
C,
wmGizmo *gz,
int select_id)
88 func = &rna_Gizmo_draw_select_func;
98static int rna_gizmo_test_select_cb(
bContext *
C,
wmGizmo *gz,
const int location[2])
106 func = &rna_Gizmo_test_select_func;
114 int intersect_id = *(
int *)
ret;
120static int rna_gizmo_modal_cb(
bContext *
C,
129 const int tweak_flag_int = tweak_flag;
132 func = &rna_Gizmo_modal_func;
141 int ret_enum = *(
int *)
ret;
147static void rna_gizmo_setup_cb(
wmGizmo *gz)
155 func = &rna_Gizmo_setup_func;
169 func = &rna_Gizmo_invoke_func;
177 int ret_enum = *(
int *)
ret;
191 func = &rna_Gizmo_exit_func;
195 int cancel_i = cancel;
202static void rna_gizmo_select_refresh_cb(
wmGizmo *gz)
210 func = &rna_Gizmo_select_refresh_func;
219static void rna_Gizmo_bl_idname_set(
PointerRNA *
ptr,
const char *value)
222 char *
str = (
char *)
data->type->idname;
230 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
248 screen =
static_cast<bScreen *
>(screen->id.next))
253 if (region->gizmo_map) {
271 wmGizmo *gz = rna_GizmoProperties_find_operator(
ptr);
293# define RNA_GIZMO_GENERIC_FLOAT_RW_DEF(func_id, member_id) \
294 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
296 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
297 return gz->member_id; \
299 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
301 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
302 gz->member_id = value; \
304# define RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(func_id, member_id, index) \
305 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
307 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
308 return gz->member_id[index]; \
310 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
312 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
313 gz->member_id[index] = value; \
316# define RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(func_id, member_id, len) \
317 static void rna_Gizmo_##func_id##_get(PointerRNA *ptr, float value[len]) \
319 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
320 memcpy(value, gz->member_id, sizeof(float[len])); \
322 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, const float value[len]) \
324 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
325 memcpy(gz->member_id, value, sizeof(float[len])); \
329# define RNA_GIZMO_GENERIC_FLAG_RW_DEF(func_id, member_id, flag_value) \
330 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
332 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
333 return (gz->member_id & flag_value) != 0; \
335 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
337 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
338 SET_FLAG_FROM_TEST(gz->member_id, value, flag_value); \
342# define RNA_GIZMO_GENERIC_FLAG_NEG_RW_DEF(func_id, member_id, flag_value) \
343 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
345 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
346 return (gz->member_id & flag_value) == 0; \
348 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
350 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
351 SET_FLAG_FROM_TEST(gz->member_id, !value, flag_value); \
354# define RNA_GIZMO_FLAG_RO_DEF(func_id, member_id, flag_value) \
355 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
357 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
358 return (gz->member_id & flag_value) != 0; \
361RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(
color,
color, 3);
362RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(color_hi, color_hi, 3);
364RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha,
color, 3);
365RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha_hi, color_hi, 3);
367RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_space, matrix_space, 16);
368RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_basis, matrix_basis, 16);
369RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_offset, matrix_offset, 16);
371static void rna_Gizmo_matrix_world_get(
PointerRNA *
ptr,
float value[16])
377RNA_GIZMO_GENERIC_FLOAT_RW_DEF(scale_basis, scale_basis);
378RNA_GIZMO_GENERIC_FLOAT_RW_DEF(line_width, line_width);
379RNA_GIZMO_GENERIC_FLOAT_RW_DEF(select_bias, select_bias);
391RNA_GIZMO_GENERIC_FLAG_RW_DEF(flag_use_operator_tool_properties,
402static void rna_Gizmo_state_select_set(
PointerRNA *
ptr,
bool value)
417static bool rna_Gizmo_unregister(
Main *bmain,
StructRNA *type);
423 const char *identifier,
428 const char *error_prefix =
"Registering gizmo class:";
434 wmGizmo dummy_gizmo = {
nullptr};
437 bool have_function[8];
440 dummy_gizmo.
type = &dummy_gt;
441 dummy_gt.
idname = temp_buffers.idname;
445 temp_buffers.idname[0] =
'\0';
448 if (validate(&dummy_gizmo_ptr,
data, have_function) != 0) {
452 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
455 "%s '%s' is too long, maximum length is %d",
458 int(
sizeof(temp_buffers.idname)));
468 "%s '%s', bl_idname '%s' has been registered before, unregistering previous",
474 if (!(srna && rna_Gizmo_unregister(bmain, srna))) {
477 "%s '%s', bl_idname '%s' %s",
481 srna ?
"is built-in" :
"could not be unregistered");
505 dummy_gt.
draw = (have_function[i++]) ? rna_gizmo_draw_cb : nullptr;
506 dummy_gt.
draw_select = (have_function[i++]) ? rna_gizmo_draw_select_cb : nullptr;
507 dummy_gt.
test_select = (have_function[i++]) ? rna_gizmo_test_select_cb : nullptr;
508 dummy_gt.
modal = (have_function[i++]) ? rna_gizmo_modal_cb : nullptr;
511 dummy_gt.
setup = (have_function[i++]) ? rna_gizmo_setup_cb : nullptr;
512 dummy_gt.
invoke = (have_function[i++]) ? rna_gizmo_invoke_cb : nullptr;
513 dummy_gt.
exit = (have_function[i++]) ? rna_gizmo_exit_cb : nullptr;
514 dummy_gt.
select_refresh = (have_function[i++]) ? rna_gizmo_select_refresh_cb : nullptr;
527static bool rna_Gizmo_unregister(
Main *bmain,
StructRNA *type)
597 if (gzt ==
nullptr) {
607 "GizmoType '%s' is for a 3D gizmo-group. "
608 "The 'draw_select' callback is set where only 'test_select' will be used.",
630static void rna_GizmoGroup_name_get(
PointerRNA *
ptr,
char *value)
643static void rna_GizmoGroup_bl_idname_set(
PointerRNA *
ptr,
const char *value)
646 char *
str = (
char *)
data->type->idname;
654 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
658static void rna_GizmoGroup_bl_label_set(
PointerRNA *
ptr,
const char *value)
661 char *
str = (
char *)
data->type->name;
666 BLI_assert_msg(0,
"setting the bl_label on a non-builtin operator");
683 func = &rna_GizmoGroup_poll_func;
690 visible = *(
bool *)
ret;
705 func = &rna_GizmoGroup_setup_func;
716 extern FunctionRNA rna_GizmoGroup_setup_keymap_func;
724 &rna_GizmoGroup_setup_keymap_func;
746 func = &rna_GizmoGroup_refresh_func;
757 extern FunctionRNA rna_GizmoGroup_draw_prepare_func;
764 &rna_GizmoGroup_draw_prepare_func;
773static void rna_gizmogroup_invoke_prepare_cb(
const bContext *
C,
778 extern FunctionRNA rna_GizmoGroup_invoke_prepare_func;
785 func = &rna_GizmoGroup_invoke_prepare_func;
797static bool rna_GizmoGroup_unregister(
Main *bmain,
StructRNA *type);
802 const char *identifier,
807 const char *error_prefix =
"Registering gizmogroup class:";
817 bool have_function[6];
820 dummy_gizmo_group.
type = &dummy_wgt;
821 dummy_wgt.
name = temp_buffers.name;
822 dummy_wgt.
idname = temp_buffers.idname;
827 temp_buffers.idname[0] = temp_buffers.name[0] =
'\0';
830 if (validate(&wgptr,
data, have_function) != 0) {
834 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
837 "%s '%s' is too long, maximum length is %d",
840 int(
sizeof(temp_buffers.idname)));
850 if (gzmap_type ==
nullptr) {
860 if (!(srna && rna_GizmoGroup_unregister(bmain, srna))) {
863 "%s '%s', bl_idname '%s' %s",
867 srna ?
"is built-in" :
"could not be unregistered");
877 const char *strings[] = {
883 '\0', strings_table, strings,
ARRAY_SIZE(strings));
885 dummy_wgt.
idname = strings_table[0];
886 dummy_wgt.
name = strings_table[1];
902 dummy_wgt.
poll = (have_function[0]) ? rna_gizmogroup_poll_cb : nullptr;
903 dummy_wgt.
setup_keymap = (have_function[1]) ? rna_gizmogroup_setup_keymap_cb : nullptr;
904 dummy_wgt.
setup = (have_function[2]) ? rna_gizmogroup_setup_cb : nullptr;
905 dummy_wgt.
refresh = (have_function[3]) ? rna_gizmogroup_refresh_cb : nullptr;
906 dummy_wgt.
draw_prepare = (have_function[4]) ? rna_gizmogroup_draw_prepare_cb : nullptr;
907 dummy_wgt.
invoke_prepare = (have_function[5]) ? rna_gizmogroup_invoke_prepare_cb : nullptr;
929static bool rna_GizmoGroup_unregister(
Main *bmain,
StructRNA *type)
991 parm =
RNA_def_string(func,
"type",
"Type", 0,
"",
"Gizmo identifier");
1024 srna,
"rna_Gizmo_register",
"rna_Gizmo_unregister",
"rna_Gizmo_instance");
1061 parm =
RNA_def_int(func,
"select_id", 0, 0, INT_MAX,
"",
"", 0, INT_MAX);
1076 "Region coordinates",
1081 func,
"intersect_id", -1, -1, INT_MAX,
"",
"Use -1 to skip this gizmo", -1, INT_MAX);
1088 {0,
nullptr, 0,
nullptr,
nullptr},
1129 parm =
RNA_def_boolean(func,
"cancel",
false,
"Cancel, otherwise confirm",
"");
1175 prop,
"rna_Gizmo_matrix_space_get",
"rna_Gizmo_matrix_space_set",
nullptr);
1182 prop,
"rna_Gizmo_matrix_basis_get",
"rna_Gizmo_matrix_basis_set",
nullptr);
1189 prop,
"rna_Gizmo_matrix_offset_get",
"rna_Gizmo_matrix_offset_set",
nullptr);
1201 prop,
"rna_Gizmo_scale_basis_get",
"rna_Gizmo_scale_basis_set",
nullptr);
1208 prop,
"rna_Gizmo_line_width_get",
"rna_Gizmo_line_width_set",
nullptr);
1215 prop,
"rna_Gizmo_select_bias_get",
"rna_Gizmo_select_bias_set",
nullptr);
1227 prop,
"rna_Gizmo_flag_hide_select_get",
"rna_Gizmo_flag_hide_select_set");
1233 prop,
"rna_Gizmo_flag_hide_keymap_get",
"rna_Gizmo_flag_hide_keymap_set");
1239 prop,
"rna_Gizmo_flag_use_grab_cursor_get",
"rna_Gizmo_flag_use_grab_cursor_set");
1246 prop,
"rna_Gizmo_flag_use_draw_hover_get",
"rna_Gizmo_flag_use_draw_hover_set");
1252 prop,
"rna_Gizmo_flag_use_draw_modal_get",
"rna_Gizmo_flag_use_draw_modal_set");
1258 prop,
"rna_Gizmo_flag_use_draw_value_get",
"rna_Gizmo_flag_use_draw_value_set");
1260 prop,
"Show Value",
"Show an indicator for the current value while dragging");
1265 "rna_Gizmo_flag_use_draw_offset_scale_get",
1266 "rna_Gizmo_flag_use_draw_offset_scale_set");
1268 prop,
"Scale Offset",
"Scale the offset matrix (use to apply screen-space offset)");
1273 prop,
"rna_Gizmo_flag_use_draw_scale_get",
"rna_Gizmo_flag_use_draw_scale_set");
1281 "rna_Gizmo_flag_use_select_background_get",
1282 "rna_Gizmo_flag_use_select_background_set");
1289 "rna_Gizmo_flag_use_operator_tool_properties_get",
1290 "rna_Gizmo_flag_use_operator_tool_properties_set");
1293 "Tool Property Init",
1294 "Merge active tool properties on activation (does not overwrite existing)");
1300 prop,
"rna_Gizmo_flag_use_event_handle_all_get",
"rna_Gizmo_flag_use_event_handle_all_set");
1302 "Handle All Events",
1303 "When highlighted, "
1304 "do not pass events through to be handled by other keymaps");
1310 prop,
"rna_Gizmo_flag_use_tooltip_get",
"rna_Gizmo_flag_use_tooltip_set");
1351 srna,
"GizmoGroup",
"Storage of an operator being executed, or registered after execution");
1356 srna,
"rna_GizmoGroup_register",
"rna_GizmoGroup_unregister",
"rna_GizmoGroup_instance");
1390 prop,
"Region Type",
"The region where the panel is going to be used in");
1403 "Scale to respect zoom (otherwise zoom independent display size)"},
1408 "Supports culled depth by other objects in the view"},
1415 "Show all while interacting, as well as this group when another is being interacted with"},
1420 "Show all except this group while interacting"},
1425 "Postpone running until tool operator run (when used with a tool)"},
1427 "TOOL_FALLBACK_KEYMAP",
1429 "Use fallback tools keymap",
1430 "Add fallback tools keymap to this gizmo type"},
1435 "The gizmos are made for use with virtual reality sessions and require special redraw "
1437 {0,
nullptr, 0,
nullptr,
nullptr},
1460 func,
"Initialize keymaps for this gizmo group, use fallback keymap when not present");
1479 func,
"Refresh data (called on common state changes such as selection)");
1504 prop,
"rna_GizmoGroup_name_get",
"rna_GizmoGroup_name_length",
nullptr);
1513 "rna_GizmoGroup_gizmos_begin",
1514 "rna_iterator_listbase_next",
1515 "rna_iterator_listbase_end",
1516 "rna_iterator_listbase_get",
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
#define BLI_assert_msg(a, msg)
void BLI_kdtree_nd_ free(KDTree *tree)
#define LISTBASE_FOREACH(type, var, list)
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(1) ATTR_MALLOC
#define STRNCPY(dst, src)
char * BLI_strncpy_utf8(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
void void char * BLI_string_join_array_by_sep_char_with_tableN(char sep, char *table[], const char *strings[], uint strings_num) ATTR_NONNULL(2
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
Read Guarded memory(de)allocation.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert Invert a color
@ STRUCT_NO_DATABLOCK_IDPROPERTIES
int(*)(PointerRNA *ptr, void *data, bool *have_function) StructValidateFunc
void(*)(void *data) StructFreeFunc
int(*)(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *list) StructCallbackFunc
eWM_GizmoFlagTweak
Gizmo tweak flag. Bit-flag passed to gizmo while tweaking.
@ WM_GIZMO_EVENT_HANDLE_ALL
@ WM_GIZMO_OPERATOR_TOOL_INIT
@ WM_GIZMO_DRAW_OFFSET_SCALE
@ WM_GIZMO_SELECT_BACKGROUND
@ WM_GIZMOGROUPTYPE_VR_REDRAWS
@ WM_GIZMOGROUPTYPE_DRAW_MODAL_EXCLUDE
@ WM_GIZMOGROUPTYPE_SCALE
@ WM_GIZMOGROUPTYPE_TOOL_INIT
@ WM_GIZMOGROUPTYPE_TOOL_FALLBACK_KEYMAP
@ WM_GIZMOGROUPTYPE_DEPTH_3D
@ WM_GIZMOGROUPTYPE_DRAW_MODAL_ALL
@ WM_GIZMOGROUPTYPE_PERSISTENT
@ WM_GIZMOGROUPTYPE_SELECT
@ WM_GIZMO_STATE_HIGHLIGHT
void BPY_RNA_gizmo_wrapper(wmGizmoType *gzt, void *userdata)
void BPY_RNA_gizmogroup_wrapper(wmGizmoGroupType *gzgt, void *userdata)
bool RNA_struct_available_or_report(ReportList *reports, const char *identifier)
void * RNA_struct_blender_type_get(StructRNA *srna)
void RNA_parameter_list_free(ParameterList *parms)
void rna_iterator_listbase_begin(CollectionPropertyIterator *iter, ListBase *lb, IteratorSkipFunc skip)
void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value)
PointerRNA rna_pointer_inherit_refine(const PointerRNA *ptr, StructRNA *type, void *data)
const char * RNA_struct_state_owner_get()
ParameterList * RNA_parameter_list_create(ParameterList *parms, PointerRNA *, FunctionRNA *func)
PointerRNA RNA_pointer_create(ID *id, StructRNA *type, void *data)
void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **r_value)
void RNA_def_struct_name_property(StructRNA *srna, PropertyRNA *prop)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
PropertyRNA * RNA_def_int_array(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_struct_flag(StructRNA *srna, int flag)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_def_property_string_funcs(PropertyRNA *prop, const char *get, const char *length, const char *set)
void RNA_def_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_float_funcs(PropertyRNA *prop, const char *get, const char *set, const char *range)
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_string_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_def_property_srna(PropertyRNA *prop, const char *type)
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_default(PropertyRNA *prop, bool value)
void RNA_def_property_boolean_funcs(PropertyRNA *prop, const char *get, const char *set)
void RNA_def_struct_register_funcs(StructRNA *srna, const char *reg, const char *unreg, const char *instance)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_property_string_maxlength(PropertyRNA *prop, int maxlength)
void RNA_def_property_struct_type(PropertyRNA *prop, const char *type)
void RNA_def_property_collection_sdna(PropertyRNA *prop, const char *structname, const char *propname, const char *lengthpropname)
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
void RNA_def_property_update(PropertyRNA *prop, int noteflag, const char *func)
const int rna_matrix_dimsize_4x4[]
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
StructRNA * RNA_def_struct_ptr(BlenderRNA *brna, const char *identifier, StructRNA *srnafrom)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
PropertyRNA * RNA_def_enum_flag(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_def_function_flag(FunctionRNA *func, int flag)
void RNA_def_property_clear_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_struct_free_extension(StructRNA *srna, ExtensionRNA *rna_ext)
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_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
void RNA_struct_free(BlenderRNA *brna, StructRNA *srna)
void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
void RNA_def_struct_translation_context(StructRNA *srna, const char *context)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, 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_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_api_gizmo(StructRNA *srna)
void RNA_api_gizmogroup(StructRNA *srna)
const EnumPropertyItem rna_enum_region_type_items[]
const EnumPropertyItem rna_enum_space_type_items[]
const EnumPropertyItem rna_enum_operator_return_items[]
static void rna_def_gizmo(BlenderRNA *brna, PropertyRNA *cprop)
static void rna_def_gizmogroup(BlenderRNA *brna)
static void rna_def_gizmos(BlenderRNA *brna, PropertyRNA *cprop)
void RNA_def_wm_gizmo(BlenderRNA *brna)
wmGizmoGroupFnSetupKeymap setup_keymap
wmGizmoGroupFnRefresh refresh
wmGizmoGroupFnInvokePrepare invoke_prepare
wmGizmoMapType_Params gzmap_params
eWM_GizmoFlagGroupTypeFlag flag
wmGizmoGroupFnDrawPrepare draw_prepare
wmGizmoMap * parent_gzmap
wmGizmoFnSelectRefresh select_refresh
wmGizmoFnTestSelect test_select
wmGizmoFnDrawSelect draw_select
wmGizmoGroup * parent_gzgroup
void WM_main_add_notifier(uint type, void *reference)
void WM_gizmo_calc_matrix_final(const wmGizmo *gz, float r_mat[4][4])
wmGizmo * WM_gizmo_new_ptr(const wmGizmoType *gzt, wmGizmoGroup *gzgroup, PointerRNA *properties)
bool WM_gizmo_select_set(wmGizmoMap *gzmap, wmGizmo *gz, bool select)
void WM_gizmo_unlink(ListBase *gizmolist, wmGizmoMap *gzmap, wmGizmo *gz, bContext *C)
void WM_gizmo_group_type_remove_ptr(Main *bmain, wmGizmoGroupType *gzgt)
void WM_gizmo_group_type_add_ptr_ex(wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
wmGizmoGroupType * WM_gizmogrouptype_append_ptr(void(*wtfunc)(wmGizmoGroupType *, void *), void *userdata)
void WM_gizmo_group_type_free_ptr(wmGizmoGroupType *gzgt)
wmGizmoGroupType * WM_gizmogrouptype_find(const char *idname, bool quiet)
const ListBase * WM_gizmomap_group_list(wmGizmoMap *gzmap)
wmGizmoMapType * WM_gizmomaptype_ensure(const wmGizmoMapType_Params *gzmap_params)
void WM_gizmotype_append_ptr(void(*gtfunc)(wmGizmoType *, void *), void *userdata)
const wmGizmoType * WM_gizmotype_find(const char *idname, bool quiet)
void WM_gizmotype_remove_ptr(bContext *C, Main *bmain, wmGizmoType *gzt)
void WM_gizmotype_free_ptr(wmGizmoType *gzt)