34static void rna_gizmo_draw_preset_box(
wmGizmo *gz,
const float matrix[16],
int select_id)
39static void rna_gizmo_draw_preset_arrow(
wmGizmo *gz,
40 const float matrix[16],
47static void rna_gizmo_draw_preset_circle(
wmGizmo *gz,
48 const float matrix[16],
59static void rna_gizmo_target_set_prop(
wmGizmo *gz,
61 const char *target_propname,
68 if (gz_prop_type ==
nullptr) {
71 "Gizmo target property '%s.%s' not found",
78 if (prop ==
nullptr) {
81 "Property '%s.%s' not found",
92 BLI_assert((gizmo_type_index != -1) && (prop_type_index == -1));
96 "Gizmo target '%s.%s' expects '%s', '%s.%s' is '%s'",
112 "Gizmo target property '%s.%s' expects an array of length %d, found %d",
125 "Gizmo target property '%s.%s' expects an array of length %d",
136 "Gizmo target property '%s.%s', index %d must be below %d",
159 ot ?
RPT_(
"Operator missing srna") :
RPT_(
"Unknown operator"),
176static bool rna_gizmo_target_is_valid(
wmGizmo *gz,
178 const char *target_propname)
181 if (gz_prop ==
nullptr) {
184 "Gizmo target property '%s.%s' not found",
211 func =
RNA_def_function(srna,
"draw_preset_box",
"rna_gizmo_draw_preset_box");
222 "ID to use when gizmo is selectable. Use -1 when not selecting.",
228 func =
RNA_def_function(srna,
"draw_preset_arrow",
"rna_gizmo_draw_preset_arrow");
240 "ID to use when gizmo is selectable. Use -1 when not selecting.",
245 func =
RNA_def_function(srna,
"draw_preset_circle",
"rna_gizmo_draw_preset_circle");
257 "ID to use when gizmo is selectable. Use -1 when not selecting.",
270 func =
RNA_def_function(srna,
"target_set_prop",
"rna_gizmo_target_set_prop");
273 parm =
RNA_def_string(func,
"target",
nullptr, 0,
"",
"Target property");
276 parm =
RNA_def_pointer(func,
"data",
"AnyType",
"",
"Data from which to take property");
278 parm =
RNA_def_string(func,
"property",
nullptr, 0,
"",
"Identifier of property in data");
280 RNA_def_int(func,
"index", -1, -1, INT_MAX,
"",
"", -1, INT_MAX);
282 func =
RNA_def_function(srna,
"target_set_operator",
"rna_gizmo_target_set_operator");
285 "Operator to run when activating the gizmo "
286 "(overrides property targets)");
287 parm =
RNA_def_string(func,
"operator",
nullptr, 0,
"",
"Target operator");
289 RNA_def_int(func,
"index", 0, 0, 255,
"Part index",
"", 0, 255);
293 func,
"properties",
"OperatorProperties",
"",
"Operator properties to fill in");
299 func =
RNA_def_function(srna,
"target_is_valid",
"rna_gizmo_target_is_valid");
301 parm =
RNA_def_string(func,
"property",
nullptr, 0,
"",
"Property identifier");
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
constexpr PointerRNA PointerRNA_NULL
void ED_gizmo_draw_preset_box(const wmGizmo *gz, const float mat[4][4], int select_id)
void ED_gizmo_draw_preset_circle(const wmGizmo *gz, const float mat[4][4], int axis, int select_id)
void ED_gizmo_draw_preset_arrow(const wmGizmo *gz, const float mat[4][4], int axis, int select_id)
std::unique_ptr< IDProperty, IDPropertyDeleter > create_group(StringRefNull prop_name, eIDPropertyFlag flags={})
Allocate a new IDProperty of type IDP_GROUP.
bool RNA_property_array_check(PropertyRNA *prop)
PropertyRNA * RNA_struct_find_property(PointerRNA *ptr, const char *identifier)
PropertyType RNA_property_type(PropertyRNA *prop)
const char * RNA_struct_identifier(const StructRNA *type)
int RNA_property_array_length(PointerRNA *ptr, PropertyRNA *prop)
int RNA_enum_from_value(const EnumPropertyItem *item, const int value)
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_function_return(FunctionRNA *func, PropertyRNA *ret)
void RNA_def_property_ui_text(PropertyRNA *prop, const char *name, const char *description)
void RNA_def_property_multi_array(PropertyRNA *prop, int dimension, const int length[])
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
FunctionRNA * RNA_def_function(StructRNA *srna, const char *identifier, const char *call)
PropertyRNA * RNA_def_pointer(StructOrFunctionRNA *cont_, const char *identifier, const char *type, const char *ui_name, const char *ui_description)
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_boolean(StructOrFunctionRNA *cont_, const char *identifier, const bool default_value, const char *ui_name, const char *ui_description)
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)
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 *)
PointerRNA * WM_gizmo_operator_set(wmGizmo *gz, int part_index, wmOperatorType *ot, IDProperty *properties)
const wmGizmoPropertyType * WM_gizmotype_target_property_find(const wmGizmoType *gzt, const char *idname)
bool WM_gizmo_target_property_is_valid(const wmGizmoProperty *gz_prop)
wmGizmoProperty * WM_gizmo_target_property_find(wmGizmo *gz, const char *idname)
void WM_gizmo_target_property_def_rna_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type, PointerRNA *ptr, PropertyRNA *prop, int index)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)