Blender  V3.3
Classes
wm_gizmo_group.c File Reference
#include <stdlib.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_buffer.h"
#include "BLI_listbase.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BKE_context.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_workspace.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "WM_api.h"
#include "WM_types.h"
#include "wm_event_system.h"
#include "ED_screen.h"
#include "ED_undo.h"
#include "wm_gizmo_intern.h"
#include "wm_gizmo_wmapi.h"

Go to the source code of this file.

Classes

struct  GizmoTweakData
 

Functions

wmGizmoGroup
wmGizmoGroupwm_gizmogroup_new_from_type (wmGizmoMap *gzmap, wmGizmoGroupType *gzgt)
 
wmGizmoGroupwm_gizmogroup_find_by_type (const wmGizmoMap *gzmap, const wmGizmoGroupType *gzgt)
 
void wm_gizmogroup_free (bContext *C, wmGizmoGroup *gzgroup)
 
void WM_gizmo_group_tag_remove (wmGizmoGroup *gzgroup)
 
void wm_gizmogroup_gizmo_register (wmGizmoGroup *gzgroup, wmGizmo *gz)
 
int WM_gizmo_cmp_temp_fl (const void *gz_a_ptr, const void *gz_b_ptr)
 
int WM_gizmo_cmp_temp_fl_reverse (const void *gz_a_ptr, const void *gz_b_ptr)
 
static bool wm_gizmo_keymap_uses_event_modifier (wmWindowManager *wm, const wmGizmoGroup *gzgroup, wmGizmo *gz, const int event_modifier, int *r_gzgroup_keymap_uses_modifier)
 
wmGizmowm_gizmogroup_find_intersected_gizmo (wmWindowManager *wm, const wmGizmoGroup *gzgroup, bContext *C, const int event_modifier, const int mval[2], int *r_part)
 
void wm_gizmogroup_intersectable_gizmos_to_list (wmWindowManager *wm, const wmGizmoGroup *gzgroup, const int event_modifier, BLI_Buffer *visible_gizmos)
 
void WM_gizmogroup_ensure_init (const bContext *C, wmGizmoGroup *gzgroup)
 
void WM_gizmo_group_remove_by_tool (bContext *C, Main *bmain, const wmGizmoGroupType *gzgt, const bToolRef *tref)
 
bool wm_gizmogroup_is_visible_in_drawstep (const wmGizmoGroup *gzgroup, const eWM_GizmoFlagMapDrawStep drawstep)
 
bool wm_gizmogroup_is_any_selected (const wmGizmoGroup *gzgroup)
 
wmGizmoGroup (Key-map callbacks)
wmKeyMapWM_gizmogroup_setup_keymap_generic (const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *kc)
 
wmKeyMapWM_gizmogroup_setup_keymap_generic_drag (const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *kc)
 
wmKeyMapWM_gizmogroup_setup_keymap_generic_maybe_drag (const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *kc)
 
static wmKeyMapWM_gizmogroup_keymap_template_select_ex (wmKeyConfig *kc, const char *name, const struct wmGizmoMapType_Params *params)
 
wmKeyMapWM_gizmogroup_setup_keymap_generic_select (const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *kc)
 
wmGizmo (Key-map access)

Key config version so these can be called from wmGizmoGroupFnSetupKeymap.

struct wmKeyMapWM_gizmo_keymap_generic_with_keyconfig (wmKeyConfig *kc)
 
struct wmKeyMapWM_gizmo_keymap_generic (wmWindowManager *wm)
 
struct wmKeyMapWM_gizmo_keymap_generic_select_with_keyconfig (wmKeyConfig *kc)
 
struct wmKeyMapWM_gizmo_keymap_generic_select (wmWindowManager *wm)
 
struct wmKeyMapWM_gizmo_keymap_generic_drag_with_keyconfig (wmKeyConfig *kc)
 
struct wmKeyMapWM_gizmo_keymap_generic_drag (wmWindowManager *wm)
 
struct wmKeyMapWM_gizmo_keymap_generic_click_drag_with_keyconfig (wmKeyConfig *kc)
 
struct wmKeyMapWM_gizmo_keymap_generic_click_drag (wmWindowManager *wm)
 
struct wmKeyMapWM_gizmo_keymap_generic_maybe_drag_with_keyconfig (wmKeyConfig *kc)
 
struct wmKeyMapWM_gizmo_keymap_generic_maybe_drag (wmWindowManager *wm)
 
wmGizmoGroupType
struct wmGizmoGroupTypeRefWM_gizmomaptype_group_find_ptr (struct wmGizmoMapType *gzmap_type, const wmGizmoGroupType *gzgt)
 
struct wmGizmoGroupTypeRefWM_gizmomaptype_group_find (struct wmGizmoMapType *gzmap_type, const char *idname)
 
wmGizmoGroupTypeRefWM_gizmomaptype_group_link (wmGizmoMapType *gzmap_type, const char *idname)
 
wmGizmoGroupTypeRefWM_gizmomaptype_group_link_ptr (wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt)
 
void WM_gizmomaptype_group_init_runtime_keymap (const Main *bmain, wmGizmoGroupType *gzgt)
 
void WM_gizmomaptype_group_init_runtime (const Main *bmain, wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt)
 
wmGizmoGroupWM_gizmomaptype_group_init_runtime_with_region (wmGizmoMapType *gzmap_type, wmGizmoGroupType *gzgt, ARegion *region)
 
void WM_gizmomaptype_group_free (wmGizmoGroupTypeRef *gzgt_ref)
 
void WM_gizmomaptype_group_unlink (bContext *C, Main *bmain, wmGizmoMapType *gzmap_type, const wmGizmoGroupType *gzgt)
 
void wm_gizmogrouptype_setup_keymap (wmGizmoGroupType *gzgt, wmKeyConfig *keyconf)
 
High Level Add/Remove API

For use directly from operators & RNA registration.

Note
In context of gizmo API these names are a bit misleading, but for general use terms its OK. WM_gizmo_group_type_add would be more correctly called: WM_gizmomaptype_grouptype_reference_link but for general purpose API this is too detailed & annoying.
We may want to return a value if there is nothing to remove.
void WM_gizmo_group_type_add_ptr_ex (wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
 
void WM_gizmo_group_type_add_ptr (wmGizmoGroupType *gzgt)
 
void WM_gizmo_group_type_add (const char *idname)
 
bool WM_gizmo_group_type_ensure_ptr_ex (wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
 
bool WM_gizmo_group_type_ensure_ptr (wmGizmoGroupType *gzgt)
 
bool WM_gizmo_group_type_ensure (const char *idname)
 
void WM_gizmo_group_type_remove_ptr_ex (struct Main *bmain, wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
 
void WM_gizmo_group_type_remove_ptr (struct Main *bmain, wmGizmoGroupType *gzgt)
 
void WM_gizmo_group_type_remove (struct Main *bmain, const char *idname)
 
void WM_gizmo_group_type_reinit_ptr_ex (struct Main *bmain, wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
 
void WM_gizmo_group_type_reinit_ptr (struct Main *bmain, wmGizmoGroupType *gzgt)
 
void WM_gizmo_group_type_reinit (struct Main *bmain, const char *idname)
 
void WM_gizmo_group_type_unlink_delayed_ptr_ex (wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type)
 
void WM_gizmo_group_type_unlink_delayed_ptr (wmGizmoGroupType *gzgt)
 
void WM_gizmo_group_type_unlink_delayed (const char *idname)
 
void WM_gizmo_group_unlink_delayed_ptr_from_space (wmGizmoGroupType *gzgt, wmGizmoMapType *gzmap_type, ScrArea *area)
 
Gizmo Group Type Callback Wrappers
bool WM_gizmo_group_type_poll (const bContext *C, const wmGizmoGroupType *gzgt)
 
void WM_gizmo_group_refresh (const bContext *C, wmGizmoGroup *gzgroup)
 

Gizmo Operators

Basic operators for gizmo interaction with user configurable keymaps.

typedef struct GizmoTweakData GizmoTweakData
 
static int gizmo_select_invoke (bContext *C, wmOperator *op, const wmEvent *UNUSED(event))
 
void GIZMOGROUP_OT_gizmo_select (wmOperatorType *ot)
 
static bool gizmo_tweak_start (bContext *C, wmGizmoMap *gzmap, wmGizmo *gz, const wmEvent *event)
 
static bool gizmo_tweak_start_and_finish (bContext *C, wmGizmoMap *gzmap, wmGizmo *gz, const wmEvent *event, bool *r_is_modal)
 
static void gizmo_tweak_finish (bContext *C, wmOperator *op, const bool cancel, bool clear_modal)
 
static int gizmo_tweak_modal (bContext *C, wmOperator *op, const wmEvent *event)
 
static int gizmo_tweak_invoke (bContext *C, wmOperator *op, const wmEvent *event)
 
void GIZMOGROUP_OT_gizmo_tweak (wmOperatorType *ot)
 
wmKeyMapwm_gizmogroup_tweak_modal_keymap (wmKeyConfig *keyconf)
 

Typedef Documentation

◆ GizmoTweakData

Function Documentation

◆ gizmo_select_invoke()

static int gizmo_select_invoke ( bContext C,
wmOperator op,
const wmEvent UNUSEDevent 
)
static

◆ gizmo_tweak_finish()

static void gizmo_tweak_finish ( bContext C,
wmOperator op,
const bool  cancel,
bool  clear_modal 
)
static

◆ gizmo_tweak_invoke()

static int gizmo_tweak_invoke ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ gizmo_tweak_modal()

static int gizmo_tweak_modal ( bContext C,
wmOperator op,
const wmEvent event 
)
static

◆ gizmo_tweak_start()

static bool gizmo_tweak_start ( bContext C,
wmGizmoMap gzmap,
wmGizmo gz,
const wmEvent event 
)
static

Definition at line 399 of file wm_gizmo_group.c.

References C, wmGizmo::state, WM_GIZMO_STATE_MODAL, and wm_gizmomap_modal_set().

Referenced by gizmo_tweak_invoke().

◆ gizmo_tweak_start_and_finish()

static bool gizmo_tweak_start_and_finish ( bContext C,
wmGizmoMap gzmap,
wmGizmo gz,
const wmEvent event,
bool r_is_modal 
)
static

◆ GIZMOGROUP_OT_gizmo_select()

void GIZMOGROUP_OT_gizmo_select ( wmOperatorType ot)

◆ GIZMOGROUP_OT_gizmo_tweak()

void GIZMOGROUP_OT_gizmo_tweak ( wmOperatorType ot)

◆ WM_gizmo_cmp_temp_fl()

int WM_gizmo_cmp_temp_fl ( const void gz_a_ptr,
const void gz_b_ptr 
)

Definition at line 139 of file wm_gizmo_group.c.

References wmGizmo::f, and wmGizmo::temp.

◆ WM_gizmo_cmp_temp_fl_reverse()

int WM_gizmo_cmp_temp_fl_reverse ( const void gz_a_ptr,
const void gz_b_ptr 
)

◆ WM_gizmo_group_refresh()

void WM_gizmo_group_refresh ( const bContext C,
wmGizmoGroup gzgroup 
)

◆ WM_gizmo_group_remove_by_tool()

void WM_gizmo_group_remove_by_tool ( bContext C,
Main bmain,
const wmGizmoGroupType gzgt,
const bToolRef tref 
)

◆ WM_gizmo_group_tag_remove()

void WM_gizmo_group_tag_remove ( wmGizmoGroup gzgroup)

◆ WM_gizmo_group_type_add()

void WM_gizmo_group_type_add ( const char *  idname)

◆ WM_gizmo_group_type_add_ptr()

void WM_gizmo_group_type_add_ptr ( wmGizmoGroupType gzgt)

◆ WM_gizmo_group_type_add_ptr_ex()

void WM_gizmo_group_type_add_ptr_ex ( wmGizmoGroupType gzgt,
wmGizmoMapType gzmap_type 
)

◆ WM_gizmo_group_type_ensure()

bool WM_gizmo_group_type_ensure ( const char *  idname)

◆ WM_gizmo_group_type_ensure_ptr()

bool WM_gizmo_group_type_ensure_ptr ( wmGizmoGroupType gzgt)

◆ WM_gizmo_group_type_ensure_ptr_ex()

bool WM_gizmo_group_type_ensure_ptr_ex ( wmGizmoGroupType gzgt,
wmGizmoMapType gzmap_type 
)

◆ WM_gizmo_group_type_poll()

bool WM_gizmo_group_type_poll ( const bContext C,
const wmGizmoGroupType gzgt 
)

◆ WM_gizmo_group_type_reinit()

void WM_gizmo_group_type_reinit ( struct Main bmain,
const char *  idname 
)

◆ WM_gizmo_group_type_reinit_ptr()

void WM_gizmo_group_type_reinit_ptr ( struct Main bmain,
wmGizmoGroupType gzgt 
)

◆ WM_gizmo_group_type_reinit_ptr_ex()

void WM_gizmo_group_type_reinit_ptr_ex ( struct Main bmain,
struct wmGizmoGroupType gzgt,
struct wmGizmoMapType gzmap_type 
)

Has the result of unlinking and linking (re-initializes gizmo's).

Definition at line 1150 of file wm_gizmo_group.c.

References BLI_assert, NULL, UNUSED_VARS_NDEBUG, WM_gizmo_group_type_add_ptr_ex(), WM_gizmomaptype_group_find_ptr(), and WM_gizmomaptype_group_unlink().

Referenced by WM_gizmo_group_type_reinit_ptr().

◆ WM_gizmo_group_type_remove()

void WM_gizmo_group_type_remove ( struct Main bmain,
const char *  idname 
)

◆ WM_gizmo_group_type_remove_ptr()

void WM_gizmo_group_type_remove_ptr ( struct Main bmain,
wmGizmoGroupType gzgt 
)

◆ WM_gizmo_group_type_remove_ptr_ex()

void WM_gizmo_group_type_remove_ptr_ex ( struct Main bmain,
struct wmGizmoGroupType gzgt,
struct wmGizmoMapType gzmap_type 
)

Call WM_gizmo_group_type_free_ptr after to remove & free.

Definition at line 1132 of file wm_gizmo_group.c.

References NULL, and WM_gizmomaptype_group_unlink().

Referenced by WM_gizmo_group_type_remove_ptr().

◆ WM_gizmo_group_type_unlink_delayed()

void WM_gizmo_group_type_unlink_delayed ( const char *  idname)

◆ WM_gizmo_group_type_unlink_delayed_ptr()

void WM_gizmo_group_type_unlink_delayed_ptr ( wmGizmoGroupType gzgt)

◆ WM_gizmo_group_type_unlink_delayed_ptr_ex()

void WM_gizmo_group_type_unlink_delayed_ptr_ex ( wmGizmoGroupType gzgt,
wmGizmoMapType gzmap_type 
)

◆ WM_gizmo_group_unlink_delayed_ptr_from_space()

void WM_gizmo_group_unlink_delayed_ptr_from_space ( wmGizmoGroupType gzgt,
wmGizmoMapType gzmap_type,
ScrArea area 
)

◆ WM_gizmo_keymap_generic()

struct wmKeyMap* WM_gizmo_keymap_generic ( wmWindowManager wm)

◆ WM_gizmo_keymap_generic_click_drag()

struct wmKeyMap* WM_gizmo_keymap_generic_click_drag ( wmWindowManager wm)

◆ WM_gizmo_keymap_generic_click_drag_with_keyconfig()

struct wmKeyMap* WM_gizmo_keymap_generic_click_drag_with_keyconfig ( wmKeyConfig kc)

◆ WM_gizmo_keymap_generic_drag()

struct wmKeyMap* WM_gizmo_keymap_generic_drag ( wmWindowManager wm)

◆ WM_gizmo_keymap_generic_drag_with_keyconfig()

struct wmKeyMap* WM_gizmo_keymap_generic_drag_with_keyconfig ( wmKeyConfig kc)

◆ WM_gizmo_keymap_generic_maybe_drag()

struct wmKeyMap* WM_gizmo_keymap_generic_maybe_drag ( wmWindowManager wm)

◆ WM_gizmo_keymap_generic_maybe_drag_with_keyconfig()

struct wmKeyMap* WM_gizmo_keymap_generic_maybe_drag_with_keyconfig ( struct wmKeyConfig kc)

Drag or press depending on preference.

Definition at line 903 of file wm_gizmo_group.c.

References wmKeyMap::idname, RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().

Referenced by WM_gizmo_keymap_generic_maybe_drag(), and WM_gizmogroup_setup_keymap_generic_maybe_drag().

◆ WM_gizmo_keymap_generic_select()

struct wmKeyMap* WM_gizmo_keymap_generic_select ( wmWindowManager wm)

◆ WM_gizmo_keymap_generic_select_with_keyconfig()

struct wmKeyMap* WM_gizmo_keymap_generic_select_with_keyconfig ( wmKeyConfig kc)

◆ WM_gizmo_keymap_generic_with_keyconfig()

struct wmKeyMap* WM_gizmo_keymap_generic_with_keyconfig ( wmKeyConfig kc)

◆ wm_gizmo_keymap_uses_event_modifier()

static bool wm_gizmo_keymap_uses_event_modifier ( wmWindowManager wm,
const wmGizmoGroup gzgroup,
wmGizmo gz,
const int  event_modifier,
int *  r_gzgroup_keymap_uses_modifier 
)
static

◆ WM_gizmogroup_ensure_init()

void WM_gizmogroup_ensure_init ( const bContext C,
wmGizmoGroup gzgroup 
)

◆ wm_gizmogroup_find_by_type()

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

Definition at line 65 of file wm_gizmo_group.c.

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

◆ wm_gizmogroup_find_intersected_gizmo()

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

◆ wm_gizmogroup_free()

void wm_gizmogroup_free ( bContext C,
wmGizmoGroup gzgroup 
)

◆ wm_gizmogroup_gizmo_register()

void wm_gizmogroup_gizmo_register ( struct wmGizmoGroup gzgroup,
struct wmGizmo gz 
)

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

Definition at line 132 of file wm_gizmo_group.c.

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,
const int  event_modifier,
BLI_Buffer visible_gizmos 
)

◆ wm_gizmogroup_is_any_selected()

bool wm_gizmogroup_is_any_selected ( const wmGizmoGroup gzgroup)

◆ wm_gizmogroup_is_visible_in_drawstep()

bool wm_gizmogroup_is_visible_in_drawstep ( const wmGizmoGroup gzgroup,
const eWM_GizmoFlagMapDrawStep  drawstep 
)

◆ WM_gizmogroup_keymap_template_select_ex()

static wmKeyMap* WM_gizmogroup_keymap_template_select_ex ( wmKeyConfig kc,
const char *  name,
const struct wmGizmoMapType_Params params 
)
static

Variation of #WM_gizmogroup_keymap_common but with keymap items for selection

TODO(@campbellbarton): move to Python.

Parameters
nameTypically wmGizmoGroupType.name
paramsTypically wmGizmoGroupType.gzmap_params

Definition at line 779 of file wm_gizmo_group.c.

References BLI_listbase_is_empty(), wmKeyMap::items, KM_ANY, KM_CLICK_DRAG, KM_PRESS, KM_SHIFT, LEFTMOUSE, params, wmKeyMapItem::ptr, RIGHTMOUSE, RNA_boolean_set(), USER_LMOUSESELECT, WM_keymap_add_item(), and WM_keymap_ensure().

Referenced by WM_gizmogroup_setup_keymap_generic_select().

◆ wm_gizmogroup_new_from_type()

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

◆ WM_gizmogroup_setup_keymap_generic()

wmKeyMap* WM_gizmogroup_setup_keymap_generic ( const wmGizmoGroupType UNUSEDgzgt,
wmKeyConfig kc 
)

Definition at line 754 of file wm_gizmo_group.c.

References WM_gizmo_keymap_generic_with_keyconfig().

Referenced by wm_gizmogrouptype_append__end().

◆ WM_gizmogroup_setup_keymap_generic_drag()

wmKeyMap* WM_gizmogroup_setup_keymap_generic_drag ( const wmGizmoGroupType UNUSEDgzgt,
wmKeyConfig kc 
)

Definition at line 759 of file wm_gizmo_group.c.

References WM_gizmo_keymap_generic_drag_with_keyconfig().

◆ WM_gizmogroup_setup_keymap_generic_maybe_drag()

wmKeyMap* WM_gizmogroup_setup_keymap_generic_maybe_drag ( const wmGizmoGroupType UNUSEDgzgt,
wmKeyConfig kc 
)

◆ WM_gizmogroup_setup_keymap_generic_select()

wmKeyMap* WM_gizmogroup_setup_keymap_generic_select ( const wmGizmoGroupType UNUSEDgzgt,
wmKeyConfig kc 
)

◆ wm_gizmogroup_tweak_modal_keymap()

wmKeyMap* wm_gizmogroup_tweak_modal_keymap ( wmKeyConfig keyconf)

◆ wm_gizmogrouptype_setup_keymap()

void wm_gizmogrouptype_setup_keymap ( wmGizmoGroupType gzgt,
wmKeyConfig keyconf 
)

◆ WM_gizmomaptype_group_find()

struct wmGizmoGroupTypeRef* WM_gizmomaptype_group_find ( struct wmGizmoMapType gzmap_type,
const char *  idname 
)

Definition at line 931 of file wm_gizmo_group.c.

References wmGizmoMapType::grouptype_refs, LISTBASE_FOREACH, NULL, and STREQ.

◆ WM_gizmomaptype_group_find_ptr()

struct wmGizmoGroupTypeRef* WM_gizmomaptype_group_find_ptr ( struct wmGizmoMapType gzmap_type,
const wmGizmoGroupType gzgt 
)

◆ WM_gizmomaptype_group_free()

void WM_gizmomaptype_group_free ( struct wmGizmoGroupTypeRef gzgt)

Unlike WM_gizmomaptype_group_unlink this doesn't maintain correct state, simply free.

Definition at line 1016 of file wm_gizmo_group.c.

References MEM_freeN.

Referenced by WM_gizmomaptype_group_unlink(), and wm_gizmomaptypes_free().

◆ WM_gizmomaptype_group_init_runtime()

void WM_gizmomaptype_group_init_runtime ( const Main bmain,
wmGizmoMapType gzmap_type,
wmGizmoGroupType gzgt 
)

◆ WM_gizmomaptype_group_init_runtime_keymap()

void WM_gizmomaptype_group_init_runtime_keymap ( const Main bmain,
wmGizmoGroupType gzgt 
)

Definition at line 959 of file wm_gizmo_group.c.

References ListBase::first, Main::wm, and wm_gizmogrouptype_setup_keymap().

Referenced by WM_gizmoconfig_update().

◆ WM_gizmomaptype_group_init_runtime_with_region()

wmGizmoGroup* WM_gizmomaptype_group_init_runtime_with_region ( wmGizmoMapType gzmap_type,
wmGizmoGroupType gzgt,
ARegion region 
)

◆ WM_gizmomaptype_group_link()

wmGizmoGroupTypeRef* WM_gizmomaptype_group_link ( struct wmGizmoMapType gzmap_type,
const char *  idname 
)

Use this for registering gizmos on startup. For runtime, use #WM_gizmomaptype_group_link_runtime.

Definition at line 943 of file wm_gizmo_group.c.

References BLI_assert, NULL, WM_gizmogrouptype_find(), and WM_gizmomaptype_group_link_ptr().

◆ WM_gizmomaptype_group_link_ptr()

wmGizmoGroupTypeRef* WM_gizmomaptype_group_link_ptr ( wmGizmoMapType gzmap_type,
wmGizmoGroupType gzgt 
)

◆ WM_gizmomaptype_group_unlink()

void WM_gizmomaptype_group_unlink ( bContext C,
Main bmain,
wmGizmoMapType gzmap_type,
const wmGizmoGroupType gzgt 
)