70 func = &rna_Gizmo_draw_func;
79 static void rna_gizmo_draw_select_cb(
const struct bContext *
C,
struct wmGizmo *gz,
int select_id)
88 func = &rna_Gizmo_draw_select_func;
98 static int rna_gizmo_test_select_cb(
struct bContext *
C,
struct wmGizmo *gz,
const int location[2])
107 func = &rna_Gizmo_test_select_func;
115 int intersect_id = *(
int *)
ret;
121 static int rna_gizmo_modal_cb(
struct bContext *
C,
131 const int tweak_flag_int = tweak_flag;
134 func = &rna_Gizmo_modal_func;
143 int ret_enum = *(
int *)
ret;
149 static void rna_gizmo_setup_cb(
struct wmGizmo *gz)
158 func = &rna_Gizmo_setup_func;
173 func = &rna_Gizmo_invoke_func;
181 int ret_enum = *(
int *)
ret;
187 static void rna_gizmo_exit_cb(
struct bContext *
C,
struct wmGizmo *gz,
bool cancel)
196 func = &rna_Gizmo_exit_func;
200 int cancel_i = cancel;
207 static void rna_gizmo_select_refresh_cb(
struct wmGizmo *gz)
216 func = &rna_Gizmo_select_refresh_func;
225 static void rna_Gizmo_bl_idname_set(
PointerRNA *
ptr,
const char *value)
228 char *
str = (
char *)
data->type->idname;
233 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
250 for (
bScreen *screen =
G_MAIN->screens.first; screen; screen = screen->id.next) {
254 if (region->gizmo_map) {
272 wmGizmo *gz = rna_GizmoProperties_find_operator(
ptr);
294 # define RNA_GIZMO_GENERIC_FLOAT_RW_DEF(func_id, member_id) \
295 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
297 wmGizmo *gz = ptr->data; \
298 return gz->member_id; \
300 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
302 wmGizmo *gz = ptr->data; \
303 gz->member_id = value; \
305 # define RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(func_id, member_id, index) \
306 static float rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
308 wmGizmo *gz = ptr->data; \
309 return gz->member_id[index]; \
311 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, float value) \
313 wmGizmo *gz = ptr->data; \
314 gz->member_id[index] = value; \
317 # define RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(func_id, member_id, len) \
318 static void rna_Gizmo_##func_id##_get(PointerRNA *ptr, float value[len]) \
320 wmGizmo *gz = ptr->data; \
321 memcpy(value, gz->member_id, sizeof(float[len])); \
323 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, const float value[len]) \
325 wmGizmo *gz = ptr->data; \
326 memcpy(gz->member_id, value, sizeof(float[len])); \
330 # define RNA_GIZMO_GENERIC_FLAG_RW_DEF(func_id, member_id, flag_value) \
331 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
333 wmGizmo *gz = ptr->data; \
334 return (gz->member_id & flag_value) != 0; \
336 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
338 wmGizmo *gz = ptr->data; \
339 SET_FLAG_FROM_TEST(gz->member_id, value, flag_value); \
343 # define RNA_GIZMO_GENERIC_FLAG_NEG_RW_DEF(func_id, member_id, flag_value) \
344 static bool rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
346 wmGizmo *gz = ptr->data; \
347 return (gz->member_id & flag_value) == 0; \
349 static void rna_Gizmo_##func_id##_set(PointerRNA *ptr, bool value) \
351 wmGizmo *gz = ptr->data; \
352 SET_FLAG_FROM_TEST(gz->member_id, !value, flag_value); \
355 # define RNA_GIZMO_FLAG_RO_DEF(func_id, member_id, flag_value) \
356 static int rna_Gizmo_##func_id##_get(PointerRNA *ptr) \
358 wmGizmo *gz = ptr->data; \
359 return (gz->member_id & flag_value) != 0; \
362 RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(
color,
color, 3);
363 RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(color_hi, color_hi, 3);
365 RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha,
color, 3);
366 RNA_GIZMO_GENERIC_FLOAT_ARRAY_INDEX_RW_DEF(alpha_hi, color_hi, 3);
368 RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_space, matrix_space, 16);
369 RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_basis, matrix_basis, 16);
370 RNA_GIZMO_GENERIC_FLOAT_ARRAY_RW_DEF(matrix_offset, matrix_offset, 16);
372 static void rna_Gizmo_matrix_world_get(
PointerRNA *
ptr,
float value[16])
378 RNA_GIZMO_GENERIC_FLOAT_RW_DEF(scale_basis, scale_basis);
379 RNA_GIZMO_GENERIC_FLOAT_RW_DEF(line_width, line_width);
380 RNA_GIZMO_GENERIC_FLOAT_RW_DEF(select_bias, select_bias);
392 RNA_GIZMO_GENERIC_FLAG_RW_DEF(flag_use_operator_tool_properties,
403 static void rna_Gizmo_state_select_set(
struct PointerRNA *
ptr,
bool value)
424 const char *identifier,
438 int have_function[8];
441 dummymnp.
type = &dummygt;
442 dummygt.
idname = temp_buffers.idname;
446 temp_buffers.idname[0] =
'\0';
449 if (validate(&mnp_ptr,
data, have_function) != 0) {
453 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
456 "Registering gizmo class: '%s' is too long, maximum length is %d",
458 (
int)
sizeof(temp_buffers.idname));
488 dummygt.
draw = (have_function[i++]) ? rna_gizmo_draw_cb :
NULL;
489 dummygt.
draw_select = (have_function[i++]) ? rna_gizmo_draw_select_cb :
NULL;
490 dummygt.
test_select = (have_function[i++]) ? rna_gizmo_test_select_cb :
NULL;
491 dummygt.
modal = (have_function[i++]) ? rna_gizmo_modal_cb :
NULL;
494 dummygt.
setup = (have_function[i++]) ? rna_gizmo_setup_cb :
NULL;
495 dummygt.
invoke = (have_function[i++]) ? rna_gizmo_invoke_cb :
NULL;
496 dummygt.
exit = (have_function[i++]) ? rna_gizmo_exit_cb :
NULL;
589 "GizmoType '%s' is for a 3D gizmo-group. "
590 "The 'draw_select' callback is set where only 'test_select' will be used",
611 static void rna_GizmoGroup_name_get(
PointerRNA *
ptr,
char *value)
624 static void rna_GizmoGroup_bl_idname_set(
PointerRNA *
ptr,
const char *value)
627 char *
str = (
char *)
data->type->idname;
632 BLI_assert_msg(0,
"setting the bl_idname on a non-builtin operator");
636 static void rna_GizmoGroup_bl_label_set(
PointerRNA *
ptr,
const char *value)
639 char *
str = (
char *)
data->type->name;
644 BLI_assert_msg(0,
"setting the bl_label on a non-builtin operator");
668 func = &rna_GizmoGroup_poll_func;
675 visible = *(
bool *)
ret;
691 func = &rna_GizmoGroup_setup_func;
702 extern FunctionRNA rna_GizmoGroup_setup_keymap_func;
711 &rna_GizmoGroup_setup_keymap_func;
734 func = &rna_GizmoGroup_refresh_func;
745 extern FunctionRNA rna_GizmoGroup_draw_prepare_func;
753 &rna_GizmoGroup_draw_prepare_func;
762 static void rna_gizmogroup_invoke_prepare_cb(
const bContext *
C,
767 extern FunctionRNA rna_GizmoGroup_invoke_prepare_func;
775 func = &rna_GizmoGroup_invoke_prepare_func;
792 const char *identifier,
807 int have_function[6];
810 dummywg.
type = &dummywgt;
811 dummywgt.
name = temp_buffers.name;
812 dummywgt.
idname = temp_buffers.idname;
817 temp_buffers.idname[0] = temp_buffers.name[0] =
'\0';
820 if (validate(&wgptr,
data, have_function) != 0) {
824 if (strlen(identifier) >=
sizeof(temp_buffers.idname)) {
827 "Registering gizmogroup class: '%s' is too long, maximum length is %d",
829 (
int)
sizeof(temp_buffers.idname));
840 if (gzmap_type ==
NULL) {
849 rna_GizmoGroup_unregister(bmain, gzgt->
rna_ext.
srna);
857 const char *strings[] = {
863 '\0', strings_table, strings,
ARRAY_SIZE(strings));
865 dummywgt.
idname = strings_table[0];
866 dummywgt.
name = strings_table[1];
882 dummywgt.
poll = (have_function[0]) ? rna_gizmogroup_poll_cb :
NULL;
883 dummywgt.
setup_keymap = (have_function[1]) ? rna_gizmogroup_setup_keymap_cb :
NULL;
884 dummywgt.
setup = (have_function[2]) ? rna_gizmogroup_setup_cb :
NULL;
885 dummywgt.
refresh = (have_function[3]) ? rna_gizmogroup_refresh_cb :
NULL;
886 dummywgt.
draw_prepare = (have_function[4]) ? rna_gizmogroup_draw_prepare_cb :
NULL;
887 dummywgt.
invoke_prepare = (have_function[5]) ? rna_gizmogroup_invoke_prepare_cb :
NULL;
970 parm =
RNA_def_string(func,
"type",
"Type", 0,
"",
"Gizmo identifier");
1003 srna,
"rna_Gizmo_register",
"rna_Gizmo_unregister",
"rna_Gizmo_instance");
1040 parm =
RNA_def_int(func,
"select_id", 0, 0, INT_MAX,
"",
"", 0, INT_MAX);
1055 "Region coordinates",
1060 func,
"intersect_id", -1, -1, INT_MAX,
"",
"Use -1 to skip this gizmo", -1, INT_MAX);
1108 parm =
RNA_def_boolean(func,
"cancel", 0,
"Cancel, otherwise confirm",
"");
1154 prop,
"rna_Gizmo_matrix_space_get",
"rna_Gizmo_matrix_space_set",
NULL);
1161 prop,
"rna_Gizmo_matrix_basis_get",
"rna_Gizmo_matrix_basis_set",
NULL);
1168 prop,
"rna_Gizmo_matrix_offset_get",
"rna_Gizmo_matrix_offset_set",
NULL);
1180 prop,
"rna_Gizmo_scale_basis_get",
"rna_Gizmo_scale_basis_set",
NULL);
1193 prop,
"rna_Gizmo_select_bias_get",
"rna_Gizmo_select_bias_set",
NULL);
1205 prop,
"rna_Gizmo_flag_hide_select_get",
"rna_Gizmo_flag_hide_select_set");
1211 prop,
"rna_Gizmo_flag_hide_keymap_get",
"rna_Gizmo_flag_hide_keymap_set");
1217 prop,
"rna_Gizmo_flag_use_grab_cursor_get",
"rna_Gizmo_flag_use_grab_cursor_set");
1224 prop,
"rna_Gizmo_flag_use_draw_hover_get",
"rna_Gizmo_flag_use_draw_hover_set");
1230 prop,
"rna_Gizmo_flag_use_draw_modal_get",
"rna_Gizmo_flag_use_draw_modal_set");
1236 prop,
"rna_Gizmo_flag_use_draw_value_get",
"rna_Gizmo_flag_use_draw_value_set");
1238 prop,
"Show Value",
"Show an indicator for the current value while dragging");
1243 "rna_Gizmo_flag_use_draw_offset_scale_get",
1244 "rna_Gizmo_flag_use_draw_offset_scale_set");
1246 prop,
"Scale Offset",
"Scale the offset matrix (use to apply screen-space offset)");
1251 prop,
"rna_Gizmo_flag_use_draw_scale_get",
"rna_Gizmo_flag_use_draw_scale_set");
1257 "rna_Gizmo_flag_use_select_background_get",
1258 "rna_Gizmo_flag_use_select_background_set");
1265 "rna_Gizmo_flag_use_operator_tool_properties_get",
1266 "rna_Gizmo_flag_use_operator_tool_properties_set");
1269 "Tool Property Init",
1270 "Merge active tool properties on activation (does not overwrite existing)");
1276 prop,
"rna_Gizmo_flag_use_event_handle_all_get",
"rna_Gizmo_flag_use_event_handle_all_set");
1278 "Handle All Events",
1279 "When highlighted, "
1280 "do not pass events through to be handled by other keymaps");
1286 prop,
"rna_Gizmo_flag_use_tooltip_get",
"rna_Gizmo_flag_use_tooltip_set");
1326 srna,
"GizmoGroup",
"Storage of an operator being executed, or registered after execution");
1331 srna,
"rna_GizmoGroup_register",
"rna_GizmoGroup_unregister",
"rna_GizmoGroup_instance");
1365 prop,
"Region Type",
"The region where the panel is going to be used in");
1378 "Scale to respect zoom (otherwise zoom independent display size)"},
1383 "Supports culled depth by other objects in the view"},
1390 "Show all while interacting, as well as this group when another is being interacted with"},
1395 "Show all except this group while interacting"},
1400 "Postpone running until tool operator run (when used with a tool)"},
1402 "TOOL_FALLBACK_KEYMAP",
1404 "Use fallback tools keymap",
1405 "Add fallback tools keymap to this gizmo type"},
1410 "The gizmos are made for use with virtual reality sessions and require special redraw "
1435 func,
"Initialize keymaps for this gizmo group, use fallback keymap when not present");
1454 func,
"Refresh data (called on common state changes such as selection)");
1479 prop,
"rna_GizmoGroup_name_get",
"rna_GizmoGroup_name_length",
NULL);
1488 "GizmoGroup has a set of reports (warnings and errors) from last execution");
1496 "rna_GizmoGroup_gizmos_begin",
1497 "rna_iterator_listbase_next",
1498 "rna_iterator_listbase_end",
1499 "rna_iterator_listbase_get",
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
#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() ATTR_MALLOC
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
char * BLI_string_join_array_by_sep_char_with_tableN(char sep, char *table[], const char *strings[], uint strings_len) ATTR_NONNULL()
#define BLT_I18NCONTEXT_OPERATOR_DEFAULT
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum type
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 Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input 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 a color
void(* StructFreeFunc)(void *data)
int(* StructValidateFunc)(struct PointerRNA *ptr, void *data, int *have_function)
@ STRUCT_NO_DATABLOCK_IDPROPERTIES
int(* StructCallbackFunc)(struct bContext *C, struct PointerRNA *ptr, struct FunctionRNA *func, ParameterList *list)
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)
static void area(int d1, int d2, int e1, int e2, float weights[2])
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
void RNA_parameter_get_lookup(ParameterList *parms, const char *identifier, void **value)
bool RNA_struct_available_or_report(ReportList *reports, const char *identifier)
ParameterList * RNA_parameter_list_create(ParameterList *parms, PointerRNA *UNUSED(ptr), FunctionRNA *func)
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(PointerRNA *ptr, StructRNA *type, void *data)
const char * RNA_struct_state_owner_get(void)
void RNA_def_struct_refine_func(StructRNA *srna, const char *refine)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_enum_flag(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
void RNA_def_struct_flag(StructRNA *srna, int flag)
void RNA_def_parameter_clear_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
PropertyRNA * RNA_def_int_array(StructOrFunctionRNA *cont_, const char *identifier, int len, const int *default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
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)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
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_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[])
StructRNA * RNA_def_struct_ptr(BlenderRNA *brna, const char *identifier, StructRNA *srnafrom)
void RNA_def_property_enum_items(PropertyRNA *prop, const EnumPropertyItem *item)
void RNA_def_struct_sdna(StructRNA *srna, const char *structname)
void RNA_def_property_array(PropertyRNA *prop, int length)
void RNA_def_property_range(PropertyRNA *prop, double min, double max)
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)
void RNA_def_struct_name_property(struct StructRNA *srna, struct PropertyRNA *prop)
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)
StructRNA * RNA_def_struct(BlenderRNA *brna, const char *identifier, const char *from)
void RNA_def_property_enum_sdna(PropertyRNA *prop, const char *structname, const char *propname)
void RNA_struct_free(BlenderRNA *brna, StructRNA *srna)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
void RNA_def_struct_idprops_func(StructRNA *srna, const char *idproperties)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
PropertyRNA * RNA_def_int(StructOrFunctionRNA *cont_, const char *identifier, int default_value, int hardmin, int hardmax, const char *ui_name, const char *ui_description, int softmin, int softmax)
void RNA_def_struct_translation_context(StructRNA *srna, const char *context)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
void RNA_api_gizmogroup(struct StructRNA *srna)
void RNA_api_gizmo(struct 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
eWM_GizmoFlagGroupTypeFlag flag
struct wmGizmoMapType_Params gzmap_params
wmGizmoGroupFnDrawPrepare draw_prepare
struct wmGizmoGroupType * type
struct wmGizmoMap * parent_gzmap
struct ReportList * reports
wmGizmoFnSelectRefresh select_refresh
wmGizmoFnTestSelect test_select
wmGizmoFnDrawSelect draw_select
struct wmGizmoGroup * parent_gzgroup
const struct wmGizmoType * type
struct IDProperty * properties
void WM_main_add_notifier(unsigned int 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_add_ptr_ex(wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
void WM_gizmo_group_type_remove_ptr(struct Main *bmain, wmGizmoGroupType *gzgt)
wmGizmoGroupType * WM_gizmogrouptype_append_ptr(void(*wtfunc)(struct wmGizmoGroupType *, void *), void *userdata)
void WM_gizmo_group_type_free_ptr(wmGizmoGroupType *gzgt)
wmGizmoGroupType * WM_gizmogrouptype_find(const char *idname, bool quiet)
wmGizmoMapType * WM_gizmomaptype_ensure(const struct wmGizmoMapType_Params *gzmap_params)
const ListBase * WM_gizmomap_group_list(wmGizmoMap *gzmap)
void WM_gizmotype_append_ptr(void(*gtfunc)(struct wmGizmoType *, void *), void *userdata)
void WM_gizmotype_remove_ptr(bContext *C, Main *bmain, wmGizmoType *gzt)
const wmGizmoType * WM_gizmotype_find(const char *idname, bool quiet)
void WM_gizmotype_free_ptr(wmGizmoType *gzt)