Blender V5.0
wm_gizmo_intern.hh File Reference
#include "DNA_listBase.h"
#include "WM_gizmo_types.hh"
#include "BLI_vector.hh"
#include "wm_gizmo_fn.hh"

Go to the source code of this file.

Classes

struct  wmGizmoMapSelectState
struct  wmGizmoMap
struct  wmGizmoMapType

Enumerations

enum  { WM_GIZMO_IS_VISIBLE_UPDATE = (1 << 0) , WM_GIZMO_IS_VISIBLE_DRAW = (1 << 1) }
enum  {
  TWEAK_MODAL_CANCEL = 1 , TWEAK_MODAL_CONFIRM , TWEAK_MODAL_PRECISION_ON , TWEAK_MODAL_PRECISION_OFF ,
  TWEAK_MODAL_SNAP_ON , TWEAK_MODAL_SNAP_OFF
}

Functions

bool wm_gizmo_select_set_ex (wmGizmoMap *gzmap, wmGizmo *gz, bool select, bool use_array, bool use_callback)
bool wm_gizmo_select_and_highlight (bContext *C, wmGizmoMap *gzmap, wmGizmo *gz)
void wm_gizmo_calculate_scale (wmGizmo *gz, const bContext *C)
void wm_gizmo_update (wmGizmo *gz, const bContext *C, bool refresh_map)
int wm_gizmo_is_visible (wmGizmo *gz)
wmGizmoGroupwm_gizmogroup_new_from_type (wmGizmoMap *gzmap, wmGizmoGroupType *gzgt)
void wm_gizmogroup_free (bContext *C, wmGizmoGroup *gzgroup)
void wm_gizmogroup_gizmo_register (wmGizmoGroup *gzgroup, wmGizmo *gz)
wmGizmoGroupwm_gizmogroup_find_by_type (const wmGizmoMap *gzmap, const wmGizmoGroupType *gzgt)
wmGizmowm_gizmogroup_find_intersected_gizmo (wmWindowManager *wm, const wmGizmoGroup *gzgroup, bContext *C, int event_modifier, const int mval[2], int *r_part)
void wm_gizmogroup_intersectable_gizmos_to_list (wmWindowManager *wm, const wmGizmoGroup *gzgroup, int event_modifier, blender::Vector< wmGizmo *, 128 > *r_visible_gizmos)
bool wm_gizmogroup_is_visible_in_drawstep (const wmGizmoGroup *gzgroup, eWM_GizmoFlagMapDrawStep drawstep)
void wm_gizmogrouptype_setup_keymap (wmGizmoGroupType *gzgt, wmKeyConfig *keyconf)
wmKeyMapwm_gizmogroup_tweak_modal_keymap (wmKeyConfig *keyconf)
void wm_gizmomap_select_array_clear (wmGizmoMap *gzmap)
bool wm_gizmomap_deselect_all (wmGizmoMap *gzmap)
void wm_gizmomap_select_array_shrink (wmGizmoMap *gzmap, int len_subtract)
void wm_gizmomap_select_array_push_back (wmGizmoMap *gzmap, wmGizmo *gz)
void wm_gizmomap_select_array_remove (wmGizmoMap *gzmap, wmGizmo *gz)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
WM_GIZMO_IS_VISIBLE_UPDATE 
WM_GIZMO_IS_VISIBLE_DRAW 

Definition at line 43 of file wm_gizmo_intern.hh.

◆ anonymous enum

anonymous enum
Enumerator
TWEAK_MODAL_CANCEL 
TWEAK_MODAL_CONFIRM 
TWEAK_MODAL_PRECISION_ON 
TWEAK_MODAL_PRECISION_OFF 
TWEAK_MODAL_SNAP_ON 
TWEAK_MODAL_SNAP_OFF 

Definition at line 51 of file wm_gizmo_intern.hh.

Function Documentation

◆ wm_gizmo_calculate_scale()

◆ wm_gizmo_is_visible()

◆ wm_gizmo_select_and_highlight()

bool wm_gizmo_select_and_highlight ( bContext * C,
wmGizmoMap * gzmap,
wmGizmo * gz )

◆ wm_gizmo_select_set_ex()

bool wm_gizmo_select_set_ex ( wmGizmoMap * gzmap,
wmGizmo * gz,
bool select,
bool use_array,
bool use_callback )

Add/Remove gizmo to selection. Reallocates memory for selected gizmos so better not call for selecting multiple ones.

Returns
if the selection has changed.

Definition at line 360 of file wm_gizmo.cc.

References select, wmGizmoType::select_refresh, wmGizmo::state, wmGizmo::type, WM_GIZMO_STATE_SELECT, wm_gizmomap_select_array_push_back(), and wm_gizmomap_select_array_remove().

Referenced by WM_gizmo_select_set(), WM_gizmo_select_unlink(), and wm_gizmomap_deselect_all().

◆ wm_gizmo_update()

void wm_gizmo_update ( wmGizmo * gz,
const bContext * C,
bool refresh_map )

Definition at line 493 of file wm_gizmo.cc.

References C, gizmo_update_prop_data(), and wm_gizmo_calculate_scale().

Referenced by gizmo_prepare_drawing().

◆ wm_gizmogroup_find_by_type()

wmGizmoGroup * wm_gizmogroup_find_by_type ( const wmGizmoMap * gzmap,
const wmGizmoGroupType * gzgt )

Definition at line 68 of file wm_gizmo_group.cc.

References BLI_findptr(), wmGizmoMap::groups, and offsetof.

◆ wm_gizmogroup_find_intersected_gizmo()

wmGizmo * wm_gizmogroup_find_intersected_gizmo ( wmWindowManager * wm,
const wmGizmoGroup * gzgroup,
bContext * C,
int event_modifier,
const int mval[2],
int * r_part )

◆ wm_gizmogroup_free()

◆ wm_gizmogroup_gizmo_register()

void wm_gizmogroup_gizmo_register ( wmGizmoGroup * gzgroup,
wmGizmo * gz )

Add gizmo to gzgroup and make sure its name is unique within the group.

Definition at line 131 of file wm_gizmo_group.cc.

References BLI_addtail(), BLI_assert, BLI_findindex(), wmGizmoGroup::gizmos, and wmGizmo::parent_gzgroup.

Referenced by wm_gizmo_register().

◆ wm_gizmogroup_intersectable_gizmos_to_list()

void wm_gizmogroup_intersectable_gizmos_to_list ( wmWindowManager * wm,
const wmGizmoGroup * gzgroup,
int event_modifier,
blender::Vector< wmGizmo *, 128 > * r_visible_gizmos )

◆ wm_gizmogroup_is_visible_in_drawstep()

◆ wm_gizmogroup_new_from_type()

wmGizmoGroup * wm_gizmogroup_new_from_type ( wmGizmoMap * gzmap,
wmGizmoGroupType * gzgt )

◆ wm_gizmogroup_tweak_modal_keymap()

◆ wm_gizmogrouptype_setup_keymap()

◆ wm_gizmomap_deselect_all()

bool wm_gizmomap_deselect_all ( wmGizmoMap * gzmap)

Deselect all selected gizmos in gzmap.

Returns
if selection has changed.

Definition at line 905 of file wm_gizmo_map.cc.

References wmGizmoMap::gzmap_context, i, wmGizmoMapSelectState::items, wmGizmoMapSelectState::len, wmGizmoMap::select, wm_gizmo_select_set_ex(), and wm_gizmomap_select_array_clear().

Referenced by gizmo_select_invoke(), and WM_gizmomap_select_all().

◆ wm_gizmomap_select_array_clear()

◆ wm_gizmomap_select_array_push_back()

◆ wm_gizmomap_select_array_remove()

void wm_gizmomap_select_array_remove ( wmGizmoMap * gzmap,
wmGizmo * gz )

◆ wm_gizmomap_select_array_shrink()