30 static void rna_gizmo_draw_preset_box(
wmGizmo *gz,
float matrix[16],
int select_id)
35 static void rna_gizmo_draw_preset_arrow(
wmGizmo *gz,
float matrix[16],
int axis,
int select_id)
40 static void rna_gizmo_draw_preset_circle(
wmGizmo *gz,
float matrix[16],
int axis,
int select_id)
45 static void rna_gizmo_draw_preset_facemap(
55 static void rna_gizmo_target_set_prop(
wmGizmo *gz,
57 const char *target_propname,
64 if (gz_prop_type ==
NULL) {
67 "Gizmo target property '%s.%s' not found",
77 "Property '%s.%s' not found",
88 BLI_assert((gizmo_type_index != -1) && (prop_type_index == -1));
92 "Gizmo target '%s.%s' expects '%s', '%s.%s' is '%s'",
108 "Gizmo target property '%s.%s' expects an array of length %d, found %d",
121 "Gizmo target property '%s.%s' expects an array of length %d",
132 "Gizmo target property '%s.%s', index %d must be below %d",
153 reports,
RPT_ERROR,
"%s '%s'",
ot ?
"unknown operator" :
"operator missing srna", opname);
173 static bool rna_gizmo_target_is_valid(
wmGizmo *gz,
175 const char *target_propname)
178 if (gz_prop ==
NULL) {
181 "Gizmo target property '%s.%s' not found",
208 func =
RNA_def_function(srna,
"draw_preset_box",
"rna_gizmo_draw_preset_box");
219 "ID to use when gizmo is selectable. Use -1 when not selecting",
225 func =
RNA_def_function(srna,
"draw_preset_arrow",
"rna_gizmo_draw_preset_arrow");
237 "ID to use when gizmo is selectable. Use -1 when not selecting",
242 func =
RNA_def_function(srna,
"draw_preset_circle",
"rna_gizmo_draw_preset_circle");
254 "ID to use when gizmo is selectable. Use -1 when not selecting",
263 func =
RNA_def_function(srna,
"draw_preset_facemap",
"rna_gizmo_draw_preset_facemap");
268 parm =
RNA_def_int(func,
"face_map", 0, 0, INT_MAX,
"Face map index",
"", 0, INT_MAX);
275 "ID to use when gizmo is selectable. Use -1 when not selecting",
285 func =
RNA_def_function(srna,
"target_set_prop",
"rna_gizmo_target_set_prop");
291 parm =
RNA_def_pointer(func,
"data",
"AnyType",
"",
"Data from which to take property");
293 parm =
RNA_def_string(func,
"property",
NULL, 0,
"",
"Identifier of property in data");
295 RNA_def_int(func,
"index", -1, -1, INT_MAX,
"",
"", -1, INT_MAX);
297 func =
RNA_def_function(srna,
"target_set_operator",
"rna_gizmo_target_set_operator");
300 "Operator to run when activating the gizmo "
301 "(overrides property targets)");
304 RNA_def_int(func,
"index", 0, 0, 255,
"Part index",
"", 0, 255);
308 func,
"properties",
"OperatorProperties",
"",
"Operator properties to fill in");
314 func =
RNA_def_function(srna,
"target_is_valid",
"rna_gizmo_target_is_valid");
struct IDProperty * IDP_New(char type, const IDPropertyTemplate *val, const char *name) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void ED_gizmo_draw_preset_circle(const struct wmGizmo *gz, float mat[4][4], int axis, int select_id)
void ED_gizmo_draw_preset_arrow(const struct wmGizmo *gz, float mat[4][4], int axis, int select_id)
void ED_gizmo_draw_preset_box(const struct wmGizmo *gz, float mat[4][4], int select_id)
void ED_gizmo_draw_preset_facemap(const bContext *C, const struct wmGizmo *gz, Object *ob, const int facemap, int select_id)
const char * RNA_struct_identifier(const StructRNA *type)
bool RNA_property_array_check(PropertyRNA *prop)
PropertyType RNA_property_type(PropertyRNA *prop)
const PointerRNA PointerRNA_NULL
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
int RNA_enum_from_value(const EnumPropertyItem *item, const int value)
PropertyRNA * RNA_def_boolean(StructOrFunctionRNA *cont_, const char *identifier, bool 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_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
void RNA_def_function_ui_description(FunctionRNA *func, const char *description)
const int rna_matrix_dimsize_4x4[]
PropertyRNA * RNA_def_property(StructOrFunctionRNA *cont_, const char *identifier, int type, int subtype)
void RNA_def_function_flag(FunctionRNA *func, int flag)
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, int maxlen, const char *ui_name, const char *ui_description)
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)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, int default_value, const char *ui_name, const char *ui_description)
void RNA_def_parameter_flags(PropertyRNA *prop, PropertyFlag flag_property, ParameterFlag flag_parameter)
const EnumPropertyItem rna_enum_object_axis_items[]
const EnumPropertyItem rna_enum_property_type_items[]
void RNA_api_gizmo(StructRNA *srna)
void RNA_api_gizmogroup(StructRNA *UNUSED(srna))
const struct wmGizmoType * type
PointerRNA * WM_gizmo_operator_set(wmGizmo *gz, int part_index, wmOperatorType *ot, IDProperty *properties)
wmGizmoProperty * WM_gizmo_target_property_find(wmGizmo *gz, const char *idname)
bool WM_gizmo_target_property_is_valid(const wmGizmoProperty *gz_prop)
void WM_gizmo_target_property_def_rna_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type, PointerRNA *ptr, PropertyRNA *prop, int index)
const wmGizmoPropertyType * WM_gizmotype_target_property_find(const wmGizmoType *gzt, const char *idname)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)