64 func = &rna_Gizmo_draw_func;
71static void rna_gizmo_draw_select_cb(
const bContext *
C,
wmGizmo *gz,
int select_id)
79 func = &rna_Gizmo_draw_select_func;
87static int rna_gizmo_test_select_cb(
bContext *
C,
wmGizmo *gz,
const int location[2])
95 func = &rna_Gizmo_test_select_func;
103 int intersect_id = *(
int *)
ret;
118 const int tweak_flag_int = tweak_flag;
121 func = &rna_Gizmo_modal_func;
138static void rna_gizmo_setup_cb(
wmGizmo *gz)
146 func = &rna_Gizmo_setup_func;
160 func = &rna_Gizmo_invoke_func;
184 func = &rna_Gizmo_exit_func;
188 int cancel_i = cancel;
195static void rna_gizmo_select_refresh_cb(
wmGizmo *gz)
203 func = &rna_Gizmo_select_refresh_func;
212static void rna_Gizmo_bl_idname_set(
PointerRNA *
ptr,
const char *value)
215 char *
str = (
char *)
data->type->idname;
223 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
241 screen =
static_cast<bScreen *
>(screen->id.next))
246 if (region->runtime->gizmo_map) {
247 wmGizmoMap *gzmap = region->runtime->gizmo_map;
264 wmGizmo *gz = rna_GizmoProperties_find_operator(
ptr);
284# define RNA_GIZMO_GENERIC_FLOAT_RW_DEF(func_id, member_id) \
285 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
287 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
288 return gz->member_id; \
290 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
292 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
293 gz->member_id = value; \
295# define RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(func_id, member_id, index) \
296 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
298 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
299 return gz->member_id[index]; \
301 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
303 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
304 gz->member_id[index] = value; \
307# define RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(func_id, member_id, len) \
308 static void rna_Gizmo_##func_id##_get(PointerRNA *ptr, float value[len]) \
310 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
311 memcpy(value, gz->member_id, sizeof(float[len])); \
313 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, const float value[len]) \
315 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
316 memcpy(gz->member_id, value, sizeof(float[len])); \
320# define RNA_GIZMO_GENERIC_FLAG_RW_DEF(func_id, member_id, flag_value) \
321 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
323 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
324 return (gz->member_id & flag_value) != 0; \
326 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
328 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
329 SET_FLAG_FROM_TEST(gz->member_id, value, flag_value); \
333# define RNA_GIZMO_GENERIC_FLAG_NEG_RW_DEF(func_id, member_id, flag_value) \
334 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
336 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
337 return (gz->member_id & flag_value) == 0; \
339 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
341 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
342 SET_FLAG_FROM_TEST(gz->member_id, !value, flag_value); \
345# define RNA_GIZMO_FLAG_RO_DEF(func_id, member_id, flag_value) \
346 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
348 wmGizmo *gz = static_cast<wmGizmo *>(ptr->data); \
349 return (gz->member_id & flag_value) != 0; \
352RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(color, color, 3);
353RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(color_hi, color_hi, 3);
355RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha, color, 3);
356RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha_hi, color_hi, 3);
358RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_space, matrix_space, 16);
359RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_basis, matrix_basis, 16);
360RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_offset, matrix_offset, 16);
362static void rna_Gizmo_matrix_world_get(
PointerRNA *
ptr,
float value[16])
368RNA_GIZMO_GENERIC_FLOAT_RW_DEF(scale_basis, scale_basis);
369RNA_GIZMO_GENERIC_FLOAT_RW_DEF(line_width, line_width);
370RNA_GIZMO_GENERIC_FLOAT_RW_DEF(select_bias, select_bias);
382RNA_GIZMO_GENERIC_FLAG_RW_DEF(flag_use_operator_tool_properties,
393static void rna_Gizmo_state_select_set(
PointerRNA *
ptr,
bool value)
408static bool rna_Gizmo_unregister(
Main *bmain,
StructRNA *type);
414 const char *identifier,
419 const char *error_prefix =
"Registering gizmo class:";
425 wmGizmo dummy_gizmo = {
nullptr};
428 bool have_function[8];
431 dummy_gizmo.
type = &dummy_gt;
432 dummy_gt.
idname = temp_buffers.idname;
436 temp_buffers.idname[0] =
'\0';
439 if (validate(&dummy_gizmo_ptr,
data, have_function) != 0) {
443 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
446 "%s '%s' is too long, maximum length is %d",
449 int(
sizeof(temp_buffers.idname)));
459 "%s '%s', bl_idname '%s' has been registered before, unregistering previous",
465 if (!(srna && rna_Gizmo_unregister(bmain, srna))) {
468 "%s '%s', bl_idname '%s' %s",
472 srna ?
"is built-in" :
"could not be unregistered");
496 dummy_gt.
draw = (have_function[
i++]) ? rna_gizmo_draw_cb :
nullptr;
499 dummy_gt.
modal = (have_function[
i++]) ? rna_gizmo_modal_cb :
nullptr;
502 dummy_gt.
setup = (have_function[
i++]) ? rna_gizmo_setup_cb :
nullptr;
503 dummy_gt.
invoke = (have_function[
i++]) ? rna_gizmo_invoke_cb :
nullptr;
504 dummy_gt.
exit = (have_function[
i++]) ? rna_gizmo_exit_cb :
nullptr;
518static bool rna_Gizmo_unregister(
Main *bmain,
StructRNA *type)
586 if (gzt ==
nullptr) {
596 "GizmoType '%s' is for a 3D gizmo-group. "
597 "The 'draw_select' callback is set where only 'test_select' will be used.",
619static void rna_GizmoGroup_name_get(
PointerRNA *
ptr,
char *value)
632static void rna_GizmoGroup_bl_idname_set(
PointerRNA *
ptr,
const char *value)
635 char *
str = (
char *)
data->type->idname;
643 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
647static void rna_GizmoGroup_bl_label_set(
PointerRNA *
ptr,
const char *value)
650 char *
str = (
char *)
data->type->name;
655 BLI_assert_msg(0,
"setting the bl_label on a non-builtin operator");
672 func = &rna_GizmoGroup_poll_func;
679 visible = *(
bool *)
ret;
695 func = &rna_GizmoGroup_setup_func;
706 extern FunctionRNA rna_GizmoGroup_setup_keymap_func;
714 &rna_GizmoGroup_setup_keymap_func;
737 func = &rna_GizmoGroup_refresh_func;
748 extern FunctionRNA rna_GizmoGroup_draw_prepare_func;
756 &rna_GizmoGroup_draw_prepare_func;
765static void rna_gizmogroup_invoke_prepare_cb(
const bContext *
C,
770 extern FunctionRNA rna_GizmoGroup_invoke_prepare_func;
778 func = &rna_GizmoGroup_invoke_prepare_func;
790static bool rna_GizmoGroup_unregister(
Main *bmain,
StructRNA *type);
795 const char *identifier,
800 const char *error_prefix =
"Registering gizmogroup class:";
810 bool have_function[6];
813 dummy_gizmo_group.
type = &dummy_wgt;
814 dummy_wgt.
name = temp_buffers.name;
815 dummy_wgt.
idname = temp_buffers.idname;
820 temp_buffers.idname[0] = temp_buffers.name[0] =
'\0';
823 if (validate(&wgptr,
data, have_function) != 0) {
827 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
830 "%s '%s' is too long, maximum length is %d",
833 int(
sizeof(temp_buffers.idname)));
843 if (gzmap_type ==
nullptr) {
853 if (!(srna && rna_GizmoGroup_unregister(bmain, srna))) {
856 "%s '%s', bl_idname '%s' %s",
860 srna ?
"is built-in" :
"could not be unregistered");
870 const char *strings[] = {
876 '\0', strings_table, strings,
ARRAY_SIZE(strings));
878 dummy_wgt.
idname = strings_table[0];
879 dummy_wgt.
name = strings_table[1];
895 dummy_wgt.
poll = (have_function[0]) ? rna_gizmogroup_poll_cb :
nullptr;
897 dummy_wgt.
setup = (have_function[2]) ? rna_gizmogroup_setup_cb :
nullptr;
898 dummy_wgt.
refresh = (have_function[3]) ? rna_gizmogroup_refresh_cb :
nullptr;
922static bool rna_GizmoGroup_unregister(
Main *bmain,
StructRNA *type)
984 parm =
RNA_def_string(func,
"type",
"Type", 0,
"",
"Gizmo identifier");
1017 srna,
"rna_Gizmo_register",
"rna_Gizmo_unregister",
"rna_Gizmo_instance");
1054 parm =
RNA_def_int(func,
"select_id", 0, 0, INT_MAX,
"",
"", 0, INT_MAX);
1069 "Region coordinates",
1074 func,
"intersect_id", -1, -1, INT_MAX,
"",
"Use -1 to skip this gizmo", -1, INT_MAX);
1081 {0,
nullptr, 0,
nullptr,
nullptr},
1122 parm =
RNA_def_boolean(func,
"cancel",
false,
"Cancel, otherwise confirm",
"");
1168 prop,
"rna_Gizmo_matrix_space_get",
"rna_Gizmo_matrix_space_set",
nullptr);
1175 prop,
"rna_Gizmo_matrix_basis_get",
"rna_Gizmo_matrix_basis_set",
nullptr);
1182 prop,
"rna_Gizmo_matrix_offset_get",
"rna_Gizmo_matrix_offset_set",
nullptr);
1194 prop,
"rna_Gizmo_scale_basis_get",
"rna_Gizmo_scale_basis_set",
nullptr);
1201 prop,
"rna_Gizmo_line_width_get",
"rna_Gizmo_line_width_set",
nullptr);
1208 prop,
"rna_Gizmo_select_bias_get",
"rna_Gizmo_select_bias_set",
nullptr);
1220 prop,
"rna_Gizmo_flag_hide_select_get",
"rna_Gizmo_flag_hide_select_set");
1226 prop,
"rna_Gizmo_flag_hide_keymap_get",
"rna_Gizmo_flag_hide_keymap_set");
1232 prop,
"rna_Gizmo_flag_use_grab_cursor_get",
"rna_Gizmo_flag_use_grab_cursor_set");
1239 prop,
"rna_Gizmo_flag_use_draw_hover_get",
"rna_Gizmo_flag_use_draw_hover_set");
1245 prop,
"rna_Gizmo_flag_use_draw_modal_get",
"rna_Gizmo_flag_use_draw_modal_set");
1251 prop,
"rna_Gizmo_flag_use_draw_value_get",
"rna_Gizmo_flag_use_draw_value_set");
1253 prop,
"Show Value",
"Show an indicator for the current value while dragging");
1258 "rna_Gizmo_flag_use_draw_offset_scale_get",
1259 "rna_Gizmo_flag_use_draw_offset_scale_set");
1261 prop,
"Scale Offset",
"Scale the offset matrix (use to apply screen-space offset)");
1266 prop,
"rna_Gizmo_flag_use_draw_scale_get",
"rna_Gizmo_flag_use_draw_scale_set");
1274 "rna_Gizmo_flag_use_select_background_get",
1275 "rna_Gizmo_flag_use_select_background_set");
1282 "rna_Gizmo_flag_use_operator_tool_properties_get",
1283 "rna_Gizmo_flag_use_operator_tool_properties_set");
1286 "Tool Property Init",
1287 "Merge active tool properties on activation (does not overwrite existing)");
1293 prop,
"rna_Gizmo_flag_use_event_handle_all_get",
"rna_Gizmo_flag_use_event_handle_all_set");
1295 "Handle All Events",
1296 "When highlighted, "
1297 "do not pass events through to be handled by other keymaps");
1303 prop,
"rna_Gizmo_flag_use_tooltip_get",
"rna_Gizmo_flag_use_tooltip_set");
1344 srna,
"GizmoGroup",
"Storage of an operator being executed, or registered after execution");
1349 srna,
"rna_GizmoGroup_register",
"rna_GizmoGroup_unregister",
"rna_GizmoGroup_instance");
1383 prop,
"Region Type",
"The region where the panel is going to be used in");
1396 "Scale to respect zoom (otherwise zoom independent display size)"},
1401 "Supports culled depth by other objects in the view"},
1408 "Show all while interacting, as well as this group when another is being interacted with"},
1413 "Show all except this group while interacting"},
1418 "Postpone running until tool operator run (when used with a tool)"},
1420 "TOOL_FALLBACK_KEYMAP",
1422 "Use fallback tools keymap",
1423 "Add fallback tools keymap to this gizmo type"},
1428 "The gizmos are made for use with virtual reality sessions and require special redraw "
1430 {0,
nullptr, 0,
nullptr,
nullptr},
1453 func,
"Initialize keymaps for this gizmo group, use fallback keymap when not present");
1472 func,
"Refresh data (called on common state changes such as selection)");
1497 prop,
"rna_GizmoGroup_name_get",
"rna_GizmoGroup_name_length",
nullptr);
1506 "rna_GizmoGroup_gizmos_begin",
1507 "rna_iterator_listbase_next",
1508 "rna_iterator_listbase_end",
1509 "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_system_idprops_func(StructRNA *srna, const char *system_idproperties)
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_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)