64 func = &rna_Gizmo_draw_func;
73static void rna_gizmo_draw_select_cb(
const bContext *
C,
wmGizmo *gz,
int select_id)
81 func = &rna_Gizmo_draw_select_func;
91static int rna_gizmo_test_select_cb(
bContext *
C,
wmGizmo *gz,
const int location[2])
99 func = &rna_Gizmo_test_select_func;
107 int intersect_id = *(
int *)
ret;
122 const int tweak_flag_int = tweak_flag;
125 func = &rna_Gizmo_modal_func;
142static void rna_gizmo_setup_cb(
wmGizmo *gz)
150 func = &rna_Gizmo_setup_func;
164 func = &rna_Gizmo_invoke_func;
188 func = &rna_Gizmo_exit_func;
192 int cancel_i = cancel;
199static void rna_gizmo_select_refresh_cb(
wmGizmo *gz)
207 func = &rna_Gizmo_select_refresh_func;
216static void rna_Gizmo_bl_idname_set(
PointerRNA *
ptr,
const char *value)
219 char *
str = (
char *)
data->type->idname;
227 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
245 screen =
static_cast<bScreen *
>(screen->id.next))
250 if (region->runtime->gizmo_map) {
251 wmGizmoMap *gzmap = region->runtime->gizmo_map;
268 wmGizmo *gz = rna_GizmoProperties_find_operator(
ptr);
288# define RNA_GIZMO_GENERIC_FLOAT_RW_DEF(func_id, member_id) \
289 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
291 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
292 return gz->member_id; \
294 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
296 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
297 gz->member_id = value; \
299# define RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(func_id, member_id, index) \
300 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
302 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
303 return gz->member_id[index]; \
305 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
307 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
308 gz->member_id[index] = value; \
311# define RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(func_id, member_id, len) \
312 static void rna_Gizmo_##func_id##_get(PointerRNA *ptr, float value[len]) \
314 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
315 memcpy(value, gz->member_id, sizeof(float[len])); \
317 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, const float value[len]) \
319 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
320 memcpy(gz->member_id, value, sizeof(float[len])); \
324# define RNA_GIZMO_GENERIC_FLAG_RW_DEF(func_id, member_id, flag_value) \
325 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
327 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
328 return (gz->member_id & flag_value) != 0; \
330 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
332 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
333 SET_FLAG_FROM_TEST(gz->member_id, value, flag_value); \
337# define RNA_GIZMO_GENERIC_FLAG_NEG_RW_DEF(func_id, member_id, flag_value) \
338 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
340 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
341 return (gz->member_id & flag_value) == 0; \
343 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
345 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
346 SET_FLAG_FROM_TEST(gz->member_id, !value, flag_value); \
349# define RNA_GIZMO_FLAG_RO_DEF(func_id, member_id, flag_value) \
350 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
352 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
353 return (gz->member_id & flag_value) != 0; \
356RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(color, color, 3);
357RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(color_hi, color_hi, 3);
359RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha, color, 3);
360RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha_hi, color_hi, 3);
362RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_space, matrix_space, 16);
363RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_basis, matrix_basis, 16);
364RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_offset, matrix_offset, 16);
366static void rna_Gizmo_matrix_world_get(
PointerRNA *
ptr,
float value[16])
372RNA_GIZMO_GENERIC_FLOAT_RW_DEF(scale_basis, scale_basis);
373RNA_GIZMO_GENERIC_FLOAT_RW_DEF(line_width, line_width);
374RNA_GIZMO_GENERIC_FLOAT_RW_DEF(select_bias, select_bias);
386RNA_GIZMO_GENERIC_FLAG_RW_DEF(flag_use_operator_tool_properties,
397static void rna_Gizmo_state_select_set(
PointerRNA *
ptr,
bool value)
412static bool rna_Gizmo_unregister(
Main *bmain,
StructRNA *type);
418 const char *identifier,
423 const char *error_prefix =
"Registering gizmo class:";
429 wmGizmo dummy_gizmo = {
nullptr};
432 bool have_function[8];
435 dummy_gizmo.
type = &dummy_gt;
436 dummy_gt.
idname = temp_buffers.idname;
440 temp_buffers.idname[0] =
'\0';
443 if (validate(&dummy_gizmo_ptr,
data, have_function) != 0) {
447 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
450 "%s '%s' is too long, maximum length is %d",
453 int(
sizeof(temp_buffers.idname)));
463 "%s '%s', bl_idname '%s' has been registered before, unregistering previous",
469 if (!(srna && rna_Gizmo_unregister(bmain, srna))) {
472 "%s '%s', bl_idname '%s' %s",
476 srna ?
"is built-in" :
"could not be unregistered");
500 dummy_gt.
draw = (have_function[
i++]) ? rna_gizmo_draw_cb :
nullptr;
503 dummy_gt.
modal = (have_function[
i++]) ? rna_gizmo_modal_cb :
nullptr;
506 dummy_gt.
setup = (have_function[
i++]) ? rna_gizmo_setup_cb :
nullptr;
507 dummy_gt.
invoke = (have_function[
i++]) ? rna_gizmo_invoke_cb :
nullptr;
508 dummy_gt.
exit = (have_function[
i++]) ? rna_gizmo_exit_cb :
nullptr;
522static bool rna_Gizmo_unregister(
Main *bmain,
StructRNA *type)
590 if (gzt ==
nullptr) {
600 "GizmoType '%s' is for a 3D gizmo-group. "
601 "The 'draw_select' callback is set where only 'test_select' will be used.",
623static void rna_GizmoGroup_name_get(
PointerRNA *
ptr,
char *value)
636static void rna_GizmoGroup_bl_idname_set(
PointerRNA *
ptr,
const char *value)
639 char *
str = (
char *)
data->type->idname;
647 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
651static void rna_GizmoGroup_bl_label_set(
PointerRNA *
ptr,
const char *value)
654 char *
str = (
char *)
data->type->name;
659 BLI_assert_msg(0,
"setting the bl_label on a non-builtin operator");
676 func = &rna_GizmoGroup_poll_func;
683 visible = *(
bool *)
ret;
699 func = &rna_GizmoGroup_setup_func;
710 extern FunctionRNA rna_GizmoGroup_setup_keymap_func;
718 &rna_GizmoGroup_setup_keymap_func;
741 func = &rna_GizmoGroup_refresh_func;
752 extern FunctionRNA rna_GizmoGroup_draw_prepare_func;
760 &rna_GizmoGroup_draw_prepare_func;
769static void rna_gizmogroup_invoke_prepare_cb(
const bContext *
C,
774 extern FunctionRNA rna_GizmoGroup_invoke_prepare_func;
782 func = &rna_GizmoGroup_invoke_prepare_func;
794static bool rna_GizmoGroup_unregister(
Main *bmain,
StructRNA *type);
799 const char *identifier,
804 const char *error_prefix =
"Registering gizmogroup class:";
814 bool have_function[6];
817 dummy_gizmo_group.
type = &dummy_wgt;
818 dummy_wgt.
name = temp_buffers.name;
819 dummy_wgt.
idname = temp_buffers.idname;
824 temp_buffers.idname[0] = temp_buffers.name[0] =
'\0';
827 if (validate(&wgptr,
data, have_function) != 0) {
831 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
834 "%s '%s' is too long, maximum length is %d",
837 int(
sizeof(temp_buffers.idname)));
847 if (gzmap_type ==
nullptr) {
857 if (!(srna && rna_GizmoGroup_unregister(bmain, srna))) {
860 "%s '%s', bl_idname '%s' %s",
864 srna ?
"is built-in" :
"could not be unregistered");
874 const char *strings[] = {
880 '\0', strings_table, strings,
ARRAY_SIZE(strings));
882 dummy_wgt.
idname = strings_table[0];
883 dummy_wgt.
name = strings_table[1];
899 dummy_wgt.
poll = (have_function[0]) ? rna_gizmogroup_poll_cb :
nullptr;
901 dummy_wgt.
setup = (have_function[2]) ? rna_gizmogroup_setup_cb :
nullptr;
902 dummy_wgt.
refresh = (have_function[3]) ? rna_gizmogroup_refresh_cb :
nullptr;
926static bool rna_GizmoGroup_unregister(
Main *bmain,
StructRNA *type)
988 parm =
RNA_def_string(func,
"type",
"Type", 0,
"",
"Gizmo identifier");
1021 srna,
"rna_Gizmo_register",
"rna_Gizmo_unregister",
"rna_Gizmo_instance");
1058 parm =
RNA_def_int(func,
"select_id", 0, 0, INT_MAX,
"",
"", 0, INT_MAX);
1073 "Region coordinates",
1078 func,
"intersect_id", -1, -1, INT_MAX,
"",
"Use -1 to skip this gizmo", -1, INT_MAX);
1085 {0,
nullptr, 0,
nullptr,
nullptr},
1126 parm =
RNA_def_boolean(func,
"cancel",
false,
"Cancel, otherwise confirm",
"");
1172 prop,
"rna_Gizmo_matrix_space_get",
"rna_Gizmo_matrix_space_set",
nullptr);
1179 prop,
"rna_Gizmo_matrix_basis_get",
"rna_Gizmo_matrix_basis_set",
nullptr);
1186 prop,
"rna_Gizmo_matrix_offset_get",
"rna_Gizmo_matrix_offset_set",
nullptr);
1198 prop,
"rna_Gizmo_scale_basis_get",
"rna_Gizmo_scale_basis_set",
nullptr);
1205 prop,
"rna_Gizmo_line_width_get",
"rna_Gizmo_line_width_set",
nullptr);
1212 prop,
"rna_Gizmo_select_bias_get",
"rna_Gizmo_select_bias_set",
nullptr);
1224 prop,
"rna_Gizmo_flag_hide_select_get",
"rna_Gizmo_flag_hide_select_set");
1230 prop,
"rna_Gizmo_flag_hide_keymap_get",
"rna_Gizmo_flag_hide_keymap_set");
1236 prop,
"rna_Gizmo_flag_use_grab_cursor_get",
"rna_Gizmo_flag_use_grab_cursor_set");
1243 prop,
"rna_Gizmo_flag_use_draw_hover_get",
"rna_Gizmo_flag_use_draw_hover_set");
1249 prop,
"rna_Gizmo_flag_use_draw_modal_get",
"rna_Gizmo_flag_use_draw_modal_set");
1255 prop,
"rna_Gizmo_flag_use_draw_value_get",
"rna_Gizmo_flag_use_draw_value_set");
1257 prop,
"Show Value",
"Show an indicator for the current value while dragging");
1262 "rna_Gizmo_flag_use_draw_offset_scale_get",
1263 "rna_Gizmo_flag_use_draw_offset_scale_set");
1265 prop,
"Scale Offset",
"Scale the offset matrix (use to apply screen-space offset)");
1270 prop,
"rna_Gizmo_flag_use_draw_scale_get",
"rna_Gizmo_flag_use_draw_scale_set");
1278 "rna_Gizmo_flag_use_select_background_get",
1279 "rna_Gizmo_flag_use_select_background_set");
1286 "rna_Gizmo_flag_use_operator_tool_properties_get",
1287 "rna_Gizmo_flag_use_operator_tool_properties_set");
1290 "Tool Property Init",
1291 "Merge active tool properties on activation (does not overwrite existing)");
1297 prop,
"rna_Gizmo_flag_use_event_handle_all_get",
"rna_Gizmo_flag_use_event_handle_all_set");
1299 "Handle All Events",
1300 "When highlighted, "
1301 "do not pass events through to be handled by other keymaps");
1307 prop,
"rna_Gizmo_flag_use_tooltip_get",
"rna_Gizmo_flag_use_tooltip_set");
1348 srna,
"GizmoGroup",
"Storage of an operator being executed, or registered after execution");
1353 srna,
"rna_GizmoGroup_register",
"rna_GizmoGroup_unregister",
"rna_GizmoGroup_instance");
1387 prop,
"Region Type",
"The region where the panel is going to be used in");
1400 "Scale to respect zoom (otherwise zoom independent display size)"},
1405 "Supports culled depth by other objects in the view"},
1412 "Show all while interacting, as well as this group when another is being interacted with"},
1417 "Show all except this group while interacting"},
1422 "Postpone running until tool operator run (when used with a tool)"},
1424 "TOOL_FALLBACK_KEYMAP",
1426 "Use fallback tools keymap",
1427 "Add fallback tools keymap to this gizmo type"},
1432 "The gizmos are made for use with virtual reality sessions and require special redraw "
1434 {0,
nullptr, 0,
nullptr,
nullptr},
1457 func,
"Initialize keymaps for this gizmo group, use fallback keymap when not present");
1476 func,
"Refresh data (called on common state changes such as selection)");
1501 prop,
"rna_GizmoGroup_name_get",
"rna_GizmoGroup_name_length",
nullptr);
1510 "rna_GizmoGroup_gizmos_begin",
1511 "rna_iterator_listbase_next",
1512 "rna_iterator_listbase_end",
1513 "rna_iterator_listbase_get",
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
#define BLI_STATIC_ASSERT(a, msg)
#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
char * STRNCPY(char(&dst)[N], const char *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
#define OPERATOR_RETVAL_CHECK(ret)
@ STRUCT_NO_DATABLOCK_IDPROPERTIES
int(*)(PointerRNA *ptr, void *data, bool *have_function) StructValidateFunc
int(*)(bContext *C, PointerRNA *ptr, FunctionRNA *func, ParameterList *list) StructCallbackFunc
void(*)(void *data) StructFreeFunc
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
BMesh const char void * data
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, PointerRNA *ptr, ListBase *lb, IteratorSkipFunc skip)
void RNA_parameter_set_lookup(ParameterList *parms, const char *identifier, const void *value)
const char * RNA_struct_state_owner_get()
ParameterList * RNA_parameter_list_create(ParameterList *parms, PointerRNA *, FunctionRNA *func)
PointerRNA RNA_pointer_create_discrete(ID *id, StructRNA *type, void *data)
void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **r_value)
PointerRNA RNA_pointer_create_with_parent(const PointerRNA &parent, StructRNA *type, void *data)
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_find(const StringRef idname, bool quiet)
wmGizmoGroupType * WM_gizmogrouptype_append_ptr(void(*wtfunc)(wmGizmoGroupType *, void *), void *userdata)
void WM_gizmo_group_type_free_ptr(wmGizmoGroupType *gzgt)
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)
void WM_gizmotype_remove_ptr(bContext *C, Main *bmain, wmGizmoType *gzt)
const wmGizmoType * WM_gizmotype_find(const StringRef idname, bool quiet)
void WM_gizmotype_free_ptr(wmGizmoType *gzt)