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)
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)
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)
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.
@ 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)