Blender V4.3
WM_gizmo_api.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2016 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
13
14#pragma once
15
16struct ARegion;
17struct GHashIterator;
18struct IDProperty;
19struct Main;
20struct PropertyRNA;
21struct ScrArea;
22struct bToolRef;
23struct wmGizmo;
24struct wmGizmoGroup;
25struct wmGizmoGroupType;
26struct wmGizmoMap;
27struct wmGizmoMapType;
29struct wmGizmoProperty;
31struct wmGizmoType;
32struct wmKeyConfig;
35struct wmWindowManager;
36
37#include "wm_gizmo_fn.hh"
38
39/* -------------------------------------------------------------------- */
40/* #wmGizmo. */
41
42wmGizmo *WM_gizmo_new_ptr(const wmGizmoType *gzt, wmGizmoGroup *gzgroup, PointerRNA *properties);
48wmGizmo *WM_gizmo_new(const char *idname, wmGizmoGroup *gzgroup, PointerRNA *properties);
54void WM_gizmo_free(wmGizmo *gz);
59void WM_gizmo_unlink(ListBase *gizmolist, wmGizmoMap *gzmap, wmGizmo *gz, bContext *C);
60
65bool WM_gizmo_select_set(wmGizmoMap *gzmap, wmGizmo *gz, bool select);
67
75 wmGizmoMap *gzmap, bContext *C, wmGizmo *gz, int part_index, const wmEvent *event);
76
83 bContext *C,
84 wmGizmo *gz,
85 const wmEvent *event);
86
87wmGizmoOpElem *WM_gizmo_operator_get(wmGizmo *gz, int part_index);
89 int part_index,
91 IDProperty *properties);
92int WM_gizmo_operator_invoke(bContext *C, wmGizmo *gz, wmGizmoOpElem *gzop, const wmEvent *event);
93
94/* Callbacks. */
95
97
98void WM_gizmo_set_matrix_location(wmGizmo *gz, const float origin[3]);
102void WM_gizmo_set_matrix_rotation_from_z_axis(wmGizmo *gz, const float z_axis[3]);
107 const float y_axis[3],
108 const float z_axis[3]);
109
110void WM_gizmo_set_matrix_offset_location(wmGizmo *gz, const float offset[3]);
114void WM_gizmo_set_matrix_offset_rotation_from_z_axis(wmGizmo *gz, const float z_axis[3]);
119 const float y_axis[3],
120 const float z_axis[3]);
121
122void WM_gizmo_set_flag(wmGizmo *gz, int flag, bool enable);
123void WM_gizmo_set_scale(wmGizmo *gz, float scale);
124void WM_gizmo_set_line_width(wmGizmo *gz, float line_width);
125
126void WM_gizmo_get_color(const wmGizmo *gz, float color[4]);
127void WM_gizmo_set_color(wmGizmo *gz, const float color[4]);
128void WM_gizmo_get_color_highlight(const wmGizmo *gz, float color_hi[4]);
129void WM_gizmo_set_color_highlight(wmGizmo *gz, const float color_hi[4]);
130
135 const float (*matrix_space)[4];
136 const float (*matrix_basis)[4];
137 const float (*matrix_offset)[4];
138 const float *scale_final;
139};
140
143 float r_mat[4][4]);
144void WM_gizmo_calc_matrix_final_no_offset(const wmGizmo *gz, float r_mat[4][4]);
145
146void WM_gizmo_calc_matrix_final(const wmGizmo *gz, float r_mat[4][4]);
147
148/* Properties. */
149
151void WM_gizmo_properties_create(PointerRNA *ptr, const char *gtstring);
156void WM_gizmo_properties_alloc(PointerRNA **ptr, IDProperty **properties, const char *gtstring);
157void WM_gizmo_properties_sanitize(PointerRNA *ptr, bool no_context);
166bool WM_gizmo_properties_default(PointerRNA *ptr, bool do_update);
173
174/* `wm_gizmo_type.cc` */
175
176const wmGizmoType *WM_gizmotype_find(const char *idname, bool quiet);
177void WM_gizmotype_append(void (*gtfunc)(wmGizmoType *));
178void WM_gizmotype_append_ptr(void (*gtfunc)(wmGizmoType *, void *), void *userdata);
179bool WM_gizmotype_remove(bContext *C, Main *bmain, const char *idname);
189
190/* `wm_gizmo_group_type.cc` */
191
192wmGizmoGroupType *WM_gizmogrouptype_find(const char *idname, bool quiet);
195 void *userdata);
200
206 void (*wtfunc)(wmGizmoGroupType *));
207
208/* `wm_gizmo_map.cc` */
209
210/* Dynamic Updates (for RNA runtime registration). */
213 wmGizmoGroupType *gzgt);
218void WM_gizmoconfig_update(Main *bmain);
219
221
223
224/* `wm_gizmo_target_props.cc`. */
225
229
231 const wmGizmoPropertyType *gz_prop_type,
233 PropertyRNA *prop,
234 int index);
236 wmGizmo *gz, const char *idname, PointerRNA *ptr, const char *propname, int index);
237
239 const wmGizmoPropertyType *gz_prop_type,
242 const char *idname,
244
246void WM_gizmo_target_property_clear_rna(wmGizmo *gz, const char *idname);
247
252 const wmGizmo *gz,
253 wmGizmoProperty *gz_prop,
254 float value);
255
257 wmGizmoProperty *gz_prop,
258 float *value);
260 const wmGizmo *gz,
261 wmGizmoProperty *gz_prop,
262 const float *value);
263
265 wmGizmoProperty *gz_prop,
266 float range[2]);
267
269
270/* Definitions. */
271
273 const char *idname);
275 const char *idname,
276 int data_type,
277 int array_length);
278
279/* Utilities. */
280
282 wmMsgSubscribeKey *msg_key,
283 wmMsgSubscribeValue *msg_val);
288
293 const wmGizmo *gz,
294 wmGizmoProperty *gz_prop);
295
296/* -------------------------------------------------------------------- */
297/* #wmGizmoGroup. */
298
299/* Callbacks for #wmGizmoGroupType::setup_keymap. */
304 wmKeyConfig *kc);
305
306/* Utility functions (not callbacks). */
307
310
313
316
319
325
326void WM_gizmogroup_ensure_init(const bContext *C, wmGizmoGroup *gzgroup);
327
328/* Sort utilities for use with 'BLI_listbase_sort'. */
329
330int WM_gizmo_cmp_temp_fl(const void *gz_a_ptr, const void *gz_b_ptr);
331int WM_gizmo_cmp_temp_fl_reverse(const void *gz_a_ptr, const void *gz_b_ptr);
332
333/* -------------------------------------------------------------------- */
334/* #wmGizmoMap. */
335
343void WM_gizmomap_reinit(wmGizmoMap *gzmap);
345wmGizmoGroup *WM_gizmomap_group_find(wmGizmoMap *gzmap, const char *idname);
347
351
353
354void WM_gizmomap_draw(wmGizmoMap *gzmap, const bContext *C, eWM_GizmoFlagMapDrawStep drawstep);
355void WM_gizmomap_add_handlers(ARegion *region, wmGizmoMap *gzmap);
362bool WM_gizmomap_select_all(bContext *C, wmGizmoMap *gzmap, int action);
363bool WM_gizmomap_cursor_set(const wmGizmoMap *gzmap, wmWindow *win);
365 wmGizmoMap *gzmap,
366 ARegion *region,
367 wmMsgBus *mbus);
368bool WM_gizmomap_is_any_selected(const wmGizmoMap *gzmap);
370
375 const wmGizmoMap *gzmap, bool use_hidden, bool use_select, float r_min[3], float r_max[3]);
376
378 bContext *C, ARegion *region, int *pass, double *pass_delay, bool *r_exit_on_event);
379
380/* -------------------------------------------------------------------- */
381/* #wmGizmoMapType. */
382
385
386wmGizmoGroupTypeRef *WM_gizmomaptype_group_find(wmGizmoMapType *gzmap_type, const char *idname);
388 const wmGizmoGroupType *gzgt);
393wmGizmoGroupTypeRef *WM_gizmomaptype_group_link(wmGizmoMapType *gzmap_type, const char *idname);
395 wmGizmoGroupType *gzgt);
396
399 wmGizmoMapType *gzmap_type,
400 wmGizmoGroupType *gzgt);
402 wmGizmoGroupType *gzgt,
403 ARegion *region);
405 Main *bmain,
406 wmGizmoMapType *gzmap_type,
407 const wmGizmoGroupType *gzgt);
408
413
414/* -------------------------------------------------------------------- */
415/* #GizmoGroup. */
416
417/* Add/Ensure/Remove (High level API). */
418
421void WM_gizmo_group_type_add(const char *idname);
422
425bool WM_gizmo_group_type_ensure(const char *idname);
426
431 wmGizmoGroupType *gzgt,
432 wmGizmoMapType *gzmap_type);
434void WM_gizmo_group_type_remove(Main *bmain, const char *idname);
435
438void WM_gizmo_group_type_unlink_delayed(const char *idname);
439
441 wmGizmoMapType *gzmap_type,
442 ScrArea *area);
443
445bool WM_gizmo_group_type_free(const char *idname);
446
451 wmGizmoGroupType *gzgt,
452 wmGizmoMapType *gzmap_type);
454void WM_gizmo_group_type_reinit(Main *bmain, const char *idname);
455
456/* Utilities. */
457
459
461 Main *bmain,
462 const wmGizmoGroupType *gzgt,
463 const bToolRef *tref);
464
466
467/* Wrap Group Type Callbacks. */
468
469bool WM_gizmo_group_type_poll(const bContext *C, const wmGizmoGroupType *gzgt);
470void WM_gizmo_group_refresh(const bContext *C, wmGizmoGroup *gzgroup);
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 Brightness Control the brightness and contrast of the input color Vector Map input vector components with curves 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 Invert a color
#define C
Definition RandGen.cpp:29
const ListBase * WM_gizmomap_group_list(wmGizmoMap *gzmap)
void WM_gizmo_group_refresh(const bContext *C, wmGizmoGroup *gzgroup)
wmGizmoGroup * WM_gizmomap_group_find_ptr(wmGizmoMap *gzmap, const wmGizmoGroupType *gzgt)
void WM_gizmomaptype_group_init_runtime_keymap(const Main *bmain, wmGizmoGroupType *gzgt)
void WM_gizmo_target_property_anim_autokey(bContext *C, const wmGizmo *gz, wmGizmoProperty *gz_prop)
void WM_gizmo_set_matrix_offset_location(wmGizmo *gz, const float offset[3])
Definition wm_gizmo.cc:298
int WM_gizmo_cmp_temp_fl_reverse(const void *gz_a_ptr, const void *gz_b_ptr)
eWM_GizmoFlagMapDrawStep WM_gizmomap_drawstep_from_gizmo_group(const wmGizmoGroup *gzgroup)
void WM_gizmo_modal_set_from_setup(wmGizmoMap *gzmap, bContext *C, wmGizmo *gz, int part_index, const wmEvent *event)
Definition wm_gizmo.cc:415
wmKeyMap * WM_gizmo_keymap_generic_with_keyconfig(wmKeyConfig *kc)
void WM_gizmotype_append_ptr(void(*gtfunc)(wmGizmoType *, void *), void *userdata)
bool WM_gizmomap_is_any_selected(const wmGizmoMap *gzmap)
wmGizmoGroupType * WM_gizmogrouptype_append(void(*wtfunc)(wmGizmoGroupType *))
wmKeyMap * WM_gizmogroup_setup_keymap_generic_select(const wmGizmoGroupType *gzgt, wmKeyConfig *kc)
bool WM_gizmomap_minmax(const wmGizmoMap *gzmap, bool use_hidden, bool use_select, float r_min[3], float r_max[3])
void WM_gizmomaptype_group_init_runtime(const Main *bmain, wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt)
const wmGizmoPropertyType * WM_gizmotype_target_property_find(const wmGizmoType *gzt, const char *idname)
wmGizmoOpElem * WM_gizmo_operator_get(wmGizmo *gz, int part_index)
Definition wm_gizmo.cc:195
bool WM_gizmo_target_property_is_valid_any(wmGizmo *gz)
bool WM_gizmo_context_check_drawstep(const bContext *C, eWM_GizmoFlagMapDrawStep step)
Definition wm_gizmo.cc:716
bool WM_gizmo_target_property_is_valid(const wmGizmoProperty *gz_prop)
wmGizmoProperty * WM_gizmo_target_property_array(wmGizmo *gz)
wmKeyMap * WM_gizmogroup_setup_keymap_generic_drag(const wmGizmoGroupType *gzgt, wmKeyConfig *kc)
void WM_gizmo_target_property_float_get_array(const wmGizmo *gz, wmGizmoProperty *gz_prop, float *value)
wmKeyMap * WM_gizmo_keymap_generic_drag_with_keyconfig(wmKeyConfig *kc)
wmGizmoGroupTypeRef * WM_gizmomaptype_group_find(wmGizmoMapType *gzmap_type, const char *idname)
void WM_gizmo_target_property_clear_rna_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type)
void WM_gizmogroup_ensure_init(const bContext *C, wmGizmoGroup *gzgroup)
wmKeyMap * WM_gizmo_keymap_generic_maybe_drag_with_keyconfig(wmKeyConfig *kc)
wmGizmoGroup * WM_gizmomap_group_find(wmGizmoMap *gzmap, const char *idname)
void WM_gizmo_modal_set_while_modal(wmGizmoMap *gzmap, bContext *C, wmGizmo *gz, const wmEvent *event)
Definition wm_gizmo.cc:429
bool WM_gizmo_group_type_ensure_ptr(wmGizmoGroupType *gzgt)
void WM_gizmomap_tag_refresh_drawstep(wmGizmoMap *gzmap, eWM_GizmoFlagMapDrawStep drawstep)
wmGizmoGroupTypeRef * WM_gizmomaptype_group_link(wmGizmoMapType *gzmap_type, const char *idname)
void WM_gizmogrouptype_iter(GHashIterator *ghi)
void WM_gizmo_set_color_highlight(wmGizmo *gz, const float color_hi[4])
Definition wm_gizmo.cc:336
void WM_gizmoconfig_update_tag_group_type_init(wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt)
bool WM_gizmo_group_type_ensure_ptr_ex(wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
wmKeyMap * WM_gizmo_keymap_generic_maybe_drag(wmWindowManager *wm)
void WM_gizmo_calc_matrix_final_params(const wmGizmo *gz, const WM_GizmoMatrixParams *params, float r_mat[4][4])
Definition wm_gizmo.cc:519
bool WM_gizmomap_tag_delay_refresh_for_tweak_check(wmGizmoMap *gzmap)
void WM_gizmotype_target_property_def(wmGizmoType *gzt, const char *idname, int data_type, int array_length)
void WM_gizmo_get_color_highlight(const wmGizmo *gz, float color_hi[4])
Definition wm_gizmo.cc:332
void WM_gizmomap_tag_refresh(wmGizmoMap *gzmap)
void WM_gizmo_group_type_unlink_delayed_ptr(wmGizmoGroupType *gzgt)
void WM_gizmo_group_remove_by_tool(bContext *C, Main *bmain, const wmGizmoGroupType *gzgt, const bToolRef *tref)
void WM_gizmo_group_type_add_ptr(wmGizmoGroupType *gzgt)
void WM_gizmo_group_type_remove_ptr(Main *bmain, wmGizmoGroupType *gzgt)
void WM_gizmo_target_property_def_func_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type, const wmGizmoPropertyFnParams *params)
void WM_gizmo_set_fn_custom_modal(wmGizmo *gz, wmGizmoFnModal fn)
Definition wm_gizmo.cc:347
void WM_gizmo_free(wmGizmo *gz)
Definition wm_gizmo.cc:126
void WM_gizmo_set_matrix_offset_rotation_from_yz_axis(wmGizmo *gz, const float y_axis[3], const float z_axis[3])
Definition wm_gizmo.cc:292
wmGizmoGroupTypeRef * WM_gizmomaptype_group_link_ptr(wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt)
void WM_gizmo_calc_matrix_final(const wmGizmo *gz, float r_mat[4][4])
Definition wm_gizmo.cc:569
wmGizmoGroupType * WM_gizmogrouptype_append_ptr(void(*wtfunc)(wmGizmoGroupType *, void *), void *userdata)
int WM_gizmo_operator_invoke(bContext *C, wmGizmo *gz, wmGizmoOpElem *gzop, const wmEvent *event)
Definition wm_gizmo.cc:227
wmGizmo * WM_gizmo_new(const char *idname, wmGizmoGroup *gzgroup, PointerRNA *properties)
Definition wm_gizmo.cc:94
wmGizmo * WM_gizmomap_get_modal(const wmGizmoMap *gzmap)
void WM_gizmo_set_matrix_rotation_from_yz_axis(wmGizmo *gz, const float y_axis[3], const float z_axis[3])
Definition wm_gizmo.cc:277
void WM_gizmoconfig_update(Main *bmain)
void WM_gizmoconfig_update_tag_group_type_remove(wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt)
void WM_gizmo_properties_create_ptr(PointerRNA *ptr, wmGizmoType *gzt)
Definition wm_gizmo.cc:586
wmGizmoProperty * WM_gizmo_target_property_at_index(wmGizmo *gz, int index)
void WM_gizmotype_append(void(*gtfunc)(wmGizmoType *))
void WM_gizmo_target_property_clear_rna(wmGizmo *gz, const char *idname)
wmGizmo * WM_gizmo_new_ptr(const wmGizmoType *gzt, wmGizmoGroup *gzgroup, PointerRNA *properties)
Definition wm_gizmo.cc:81
wmKeyMap * WM_gizmo_keymap_generic_click_drag_with_keyconfig(wmKeyConfig *kc)
void WM_gizmo_group_unlink_delayed_ptr_from_space(wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type, ScrArea *area)
void WM_gizmomaptype_group_free(wmGizmoGroupTypeRef *gzgt_ref)
void WM_gizmo_target_property_def_rna(wmGizmo *gz, const char *idname, PointerRNA *ptr, const char *propname, int index)
void WM_gizmo_get_color(const wmGizmo *gz, float color[4])
Definition wm_gizmo.cc:323
void WM_gizmo_do_msg_notify_tag_refresh(bContext *C, wmMsgSubscribeKey *msg_key, wmMsgSubscribeValue *msg_val)
void WM_gizmo_calc_matrix_final_no_offset(const wmGizmo *gz, float r_mat[4][4])
Definition wm_gizmo.cc:556
float WM_gizmo_target_property_float_get(const wmGizmo *gz, wmGizmoProperty *gz_prop)
const wmGizmoType * WM_gizmotype_find(const char *idname, bool quiet)
void WM_gizmo_group_type_reinit_ptr(Main *bmain, wmGizmoGroupType *gzgt)
void WM_gizmo_group_type_add(const char *idname)
bool WM_gizmo_highlight_set(wmGizmoMap *gzmap, wmGizmo *gz)
Definition wm_gizmo.cc:401
void WM_gizmo_set_matrix_offset_rotation_from_z_axis(wmGizmo *gz, const float z_axis[3])
Definition wm_gizmo.cc:288
void WM_gizmo_target_property_float_set_array(bContext *C, const wmGizmo *gz, wmGizmoProperty *gz_prop, const float *value)
wmKeyMap * WM_gizmogroup_setup_keymap_generic(const wmGizmoGroupType *gzgt, wmKeyConfig *kc)
void WM_gizmo_target_property_subscribe_all(wmGizmo *gz, wmMsgBus *mbus, ARegion *region)
void WM_gizmo_group_type_free_ptr(wmGizmoGroupType *gzgt)
wmKeyMap * WM_gizmogroup_setup_keymap_generic_maybe_drag(const wmGizmoGroupType *gzgt, wmKeyConfig *kc)
void WM_gizmoconfig_update_tag_reinit_all()
void WM_gizmo_properties_sanitize(PointerRNA *ptr, bool no_context)
Definition wm_gizmo.cc:617
void WM_gizmo_set_matrix_location(wmGizmo *gz, const float origin[3])
Definition wm_gizmo.cc:283
void WM_gizmomap_reinit(wmGizmoMap *gzmap)
bool WM_gizmotype_remove(bContext *C, Main *bmain, const char *idname)
void WM_gizmotype_remove_ptr(bContext *C, Main *bmain, wmGizmoType *gzt)
wmKeyMap * WM_gizmo_keymap_generic_select_with_keyconfig(wmKeyConfig *kc)
wmGizmoGroupTypeRef * WM_gizmogrouptype_append_and_link(wmGizmoMapType *gzmap_type, void(*wtfunc)(wmGizmoGroupType *))
wmGizmoProperty * WM_gizmo_target_property_find(wmGizmo *gz, const char *idname)
bool WM_gizmo_select_unlink(wmGizmoMap *gzmap, wmGizmo *gz)
Definition wm_gizmo.cc:391
void WM_gizmo_set_matrix_rotation_from_z_axis(wmGizmo *gz, const float z_axis[3])
Definition wm_gizmo.cc:273
bool WM_gizmo_group_type_ensure(const char *idname)
wmGizmoMapType * WM_gizmomaptype_find(const wmGizmoMapType_Params *gzmap_params)
bool WM_gizmomap_select_all(bContext *C, wmGizmoMap *gzmap, int action)
wmKeyMap * WM_gizmo_keymap_generic_click_drag(wmWindowManager *wm)
bool WM_gizmo_group_type_free(const char *idname)
void WM_gizmo_target_property_float_set(bContext *C, const wmGizmo *gz, wmGizmoProperty *gz_prop, float value)
wmKeyMap * WM_gizmo_keymap_generic(wmWindowManager *wm)
bool WM_gizmo_select_set(wmGizmoMap *gzmap, wmGizmo *gz, bool select)
Definition wm_gizmo.cc:396
bool WM_gizmomap_cursor_set(const wmGizmoMap *gzmap, wmWindow *win)
PointerRNA * WM_gizmo_operator_set(wmGizmo *gz, int part_index, wmOperatorType *ot, IDProperty *properties)
Definition wm_gizmo.cc:203
void WM_gizmomap_add_handlers(ARegion *region, wmGizmoMap *gzmap)
void WM_gizmo_group_type_unlink_delayed(const char *idname)
wmGizmoGroupType * WM_gizmogrouptype_find(const char *idname, bool quiet)
void WM_gizmo_group_type_add_ptr_ex(wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
void WM_gizmo_set_line_width(wmGizmo *gz, float line_width)
Definition wm_gizmo.cc:318
wmGizmoGroup * WM_gizmomaptype_group_init_runtime_with_region(wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt, ARegion *region)
void WM_gizmo_group_type_reinit_ptr_ex(Main *bmain, wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
void WM_gizmo_target_property_def_rna_ptr(wmGizmo *gz, const wmGizmoPropertyType *gz_prop_type, PointerRNA *ptr, PropertyRNA *prop, int index)
void WM_gizmoconfig_update_tag_group_remove(wmGizmoMap *gzmap)
bool WM_gizmo_properties_default(PointerRNA *ptr, bool do_update)
Definition wm_gizmo.cc:646
void WM_gizmo_target_property_def_func(wmGizmo *gz, const char *idname, const wmGizmoPropertyFnParams *params)
int WM_gizmo_target_property_array_length(const wmGizmo *gz, wmGizmoProperty *gz_prop)
wmGizmoGroupTypeRef * WM_gizmomaptype_group_find_ptr(wmGizmoMapType *gzmap_type, const wmGizmoGroupType *gzgt)
int WM_gizmo_cmp_temp_fl(const void *gz_a_ptr, const void *gz_b_ptr)
wmKeyMap * WM_gizmo_keymap_generic_select(wmWindowManager *wm)
bool WM_gizmo_group_type_poll(const bContext *C, const wmGizmoGroupType *gzgt)
void WM_gizmo_group_tag_remove(wmGizmoGroup *gzgroup)
void WM_gizmo_group_type_reinit(Main *bmain, const char *idname)
void WM_gizmo_set_scale(wmGizmo *gz, float scale)
Definition wm_gizmo.cc:313
void WM_gizmomaptype_group_unlink(bContext *C, Main *bmain, wmGizmoMapType *gzmap_type, const wmGizmoGroupType *gzgt)
void WM_gizmo_group_type_remove(Main *bmain, const char *idname)
void WM_gizmo_properties_free(PointerRNA *ptr)
Definition wm_gizmo.cc:700
void WM_gizmo_properties_reset(wmGizmo *gz)
Definition wm_gizmo.cc:673
wmGizmoMapType * WM_gizmomaptype_ensure(const wmGizmoMapType_Params *gzmap_params)
ARegion * WM_gizmomap_tooltip_init(bContext *C, ARegion *region, int *pass, double *pass_delay, bool *r_exit_on_event)
void WM_gizmo_properties_clear(PointerRNA *ptr)
Definition wm_gizmo.cc:691
void WM_gizmotype_iter(GHashIterator *ghi)
void WM_gizmomap_draw(wmGizmoMap *gzmap, const bContext *C, eWM_GizmoFlagMapDrawStep drawstep)
void WM_gizmomap_message_subscribe(const bContext *C, wmGizmoMap *gzmap, ARegion *region, wmMsgBus *mbus)
void WM_gizmo_properties_create(PointerRNA *ptr, const char *gtstring)
Definition wm_gizmo.cc:591
void WM_gizmo_set_color(wmGizmo *gz, const float color[4])
Definition wm_gizmo.cc:327
wmGizmoMap * WM_gizmomap_new_from_type(const wmGizmoMapType_Params *gzmap_params)
void WM_gizmotype_free_ptr(wmGizmoType *gzt)
void WM_gizmo_group_type_unlink_delayed_ptr_ex(wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
void WM_gizmo_properties_alloc(PointerRNA **ptr, IDProperty **properties, const char *gtstring)
Definition wm_gizmo.cc:603
void WM_gizmo_unlink(ListBase *gizmolist, wmGizmoMap *gzmap, wmGizmo *gz, bContext *C)
Definition wm_gizmo.cc:165
wmKeyMap * WM_gizmo_keymap_generic_drag(wmWindowManager *wm)
void WM_gizmo_set_flag(wmGizmo *gz, int flag, bool enable)
Definition wm_gizmo.cc:303
void WM_gizmo_group_type_remove_ptr_ex(Main *bmain, wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
bool WM_gizmo_target_property_float_range_get(const wmGizmo *gz, wmGizmoProperty *gz_prop, float range[2])
eWM_GizmoFlagMapDrawStep
draw_view in_light_buf[] float
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
ccl_device_inline float4 select(const int4 mask, const float4 a, const float4 b)
const float * scale_final
const float(* matrix_basis)[4]
const float(* matrix_offset)[4]
const float(* matrix_space)[4]
PointerRNA * ptr
Definition wm_files.cc:4126
wmOperatorType * ot
Definition wm_files.cc:4125
int(*)(bContext *, wmGizmo *, const wmEvent *, eWM_GizmoFlagTweak) wmGizmoFnModal
uint8_t flag
Definition wm_window.cc:138