|
Blender V4.3
|
#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_buffer.h"#include "BLI_listbase.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BKE_context.hh"#include "BKE_main.hh"#include "BKE_report.hh"#include "BKE_workspace.hh"#include "RNA_access.hh"#include "RNA_define.hh"#include "WM_api.hh"#include "WM_types.hh"#include "wm_event_system.hh"#include "ED_screen.hh"#include "ED_undo.hh"#include "wm_gizmo_intern.hh"#include "wm_gizmo_wmapi.hh"Go to the source code of this file.
Classes | |
| struct | GizmoTweakData |
|
static |
Definition at line 332 of file wm_gizmo_group.cc.
References BLI_assert, BLI_assert_unreachable, CTX_wm_region(), ED_region_tag_redraw_editor_overlays(), wmGizmoMap::gzmap_context, wmGizmoMap::highlight, wmGizmoMapSelectState::items, wmGizmoMapSelectState::len, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::ptr, RNA_boolean_get(), wmGizmoMap::select, wmGizmo::state, UNUSED_VARS_NDEBUG, wm_gizmo_select_and_highlight(), WM_gizmo_select_set(), WM_GIZMO_STATE_SELECT, and wm_gizmomap_deselect_all().
Referenced by GIZMOGROUP_OT_gizmo_select().
|
static |
Definition at line 456 of file wm_gizmo_group.cc.
References BLI_findindex(), wmOperator::customdata, ED_undo_push(), wmGizmoType::exit, wmGizmo::flag, wmGizmoGroup::gizmos, wmGizmoMap::groups, GizmoTweakData::gz_modal, GizmoTweakData::gzgroup, GizmoTweakData::gzmap, MEM_freeN(), wmGizmoGroupType::name, wmGizmo::parent_gzgroup, wmGizmo::type, wmGizmoGroup::type, WM_GIZMO_NEEDS_UNDO, and wm_gizmomap_modal_set().
Referenced by gizmo_tweak_modal().
|
static |
Definition at line 562 of file wm_gizmo_group.cc.
References BLI_assert_unreachable, CTX_wm_region(), CTX_wm_window(), wmOperator::customdata, wmGizmo::drag_part, GizmoTweakData::flag, gizmo_tweak_start(), gizmo_tweak_start_and_finish(), GizmoTweakData::gz_modal, GizmoTweakData::gzgroup, GizmoTweakData::gzmap, wmGizmoMap::gzmap_context, wmGizmoMap::highlight, wmGizmo::highlight_part, GizmoTweakData::init_event, MEM_mallocN, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, wmGizmo::parent_gzgroup, wmEvent::type, WM_event_add_modal_handler(), WM_event_is_mouse_drag(), WM_tooltip_clear(), and WM_userdef_event_type_from_keymap_type().
Referenced by GIZMOGROUP_OT_gizmo_tweak().
|
static |
Definition at line 478 of file wm_gizmo_group.cc.
References BLI_assert, BLI_assert_unreachable, wmGizmo::custom_modal, wmOperator::customdata, EVT_GIZMO_UPDATE, EVT_MODAL_MAP, GizmoTweakData::flag, gizmo_tweak_finish(), GizmoTweakData::gz_modal, GizmoTweakData::init_event, KM_RELEASE, wmGizmoType::modal, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, OPERATOR_RUNNING_MODAL, wmEvent::prev_type, wmEvent::prev_val, TWEAK_MODAL_CANCEL, TWEAK_MODAL_CONFIRM, TWEAK_MODAL_PRECISION_OFF, TWEAK_MODAL_PRECISION_ON, TWEAK_MODAL_SNAP_OFF, TWEAK_MODAL_SNAP_ON, wmEvent::type, wmGizmo::type, wmEvent::val, WM_GIZMO_TWEAK_PRECISE, and WM_GIZMO_TWEAK_SNAP.
Referenced by GIZMOGROUP_OT_gizmo_tweak().
|
static |
Definition at line 404 of file wm_gizmo_group.cc.
References wmGizmo::state, WM_GIZMO_STATE_MODAL, and wm_gizmomap_modal_set().
Referenced by gizmo_tweak_invoke().
|
static |
Definition at line 412 of file wm_gizmo_group.cc.
References CTX_wm_manager(), PointerRNA::data, ED_undo_pop_op(), wmGizmo::highlight_part, IDP_MergeGroup(), wmGizmoGroupType::invoke_prepare, wmGizmoOpElem::is_redo, wmOperatorType::modal, wmGizmo::parent_gzgroup, wmOperator::properties, wmGizmoOpElem::ptr, wmGizmoGroup::type, wmGizmoOpElem::type, WM_gizmo_operator_get(), WM_gizmo_operator_invoke(), wm_gizmomap_modal_set(), WM_operator_free_all_after(), and WM_operator_last_redo().
Referenced by gizmo_tweak_invoke().
| void GIZMOGROUP_OT_gizmo_select | ( | wmOperatorType * | ot | ) |
Definition at line 379 of file wm_gizmo_group.cc.
References wmOperatorType::description, ED_operator_region_gizmo_active(), wmOperatorType::flag, gizmo_select_invoke(), wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_UNDO, ot, wmOperatorType::poll, and WM_operator_properties_mouse_select().
Referenced by wm_operatortypes_register().
| void GIZMOGROUP_OT_gizmo_tweak | ( | wmOperatorType * | ot | ) |
Definition at line 611 of file wm_gizmo_group.cc.
References wmOperatorType::description, ED_operator_region_gizmo_active(), wmOperatorType::flag, gizmo_tweak_invoke(), gizmo_tweak_modal(), wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::modal, wmOperatorType::name, OPTYPE_BLOCKING, OPTYPE_GRAB_CURSOR_XY, OPTYPE_UNDO, ot, and wmOperatorType::poll.
Referenced by wm_operatortypes_register().
| int WM_gizmo_cmp_temp_fl | ( | const void * | gz_a_ptr, |
| const void * | gz_b_ptr ) |
Definition at line 137 of file wm_gizmo_group.cc.
References wmGizmo::f, and wmGizmo::temp.
| int WM_gizmo_cmp_temp_fl_reverse | ( | const void * | gz_a_ptr, |
| const void * | gz_b_ptr ) |
Definition at line 150 of file wm_gizmo_group.cc.
References wmGizmo::f, and wmGizmo::temp.
Referenced by gizmo_mesh_extrude_draw_prepare(), and WIDGETGROUP_xform_shear_draw_prepare().
| void WM_gizmo_group_refresh | ( | const bContext * | C, |
| wmGizmoGroup * | gzgroup ) |
Definition at line 1246 of file wm_gizmo_group.cc.
References wmGizmoGroup::any, BLI_assert, BLI_rcti_isect_pt_v(), CTX_wm_region(), CTX_wm_window(), wmGizmoGroup::delay_refresh_for_tweak, wmWindow::event_queue_check_drag, wmWindow::eventstate, wmGizmoGroupType::flag, wmGizmoGroup::hide, wmGizmoGroup::init_flag, wmGizmo::parent_gzgroup, wmGizmoGroup::parent_gzmap, wmEvent::prev_press_xy, wmGizmoGroupType::refresh, wmGizmoGroup::type, WM_GIZMOGROUP_INIT_REFRESH, WM_GIZMOGROUPTYPE_DELAY_REFRESH_FOR_TWEAK, WM_gizmomap_drawstep_from_gizmo_group(), wm_gizmomap_highlight_get(), and WM_gizmomap_tag_refresh_drawstep().
Referenced by WM_gizmogroup_ensure_init(), and wm_gizmomap_highlight_find().
| void WM_gizmo_group_remove_by_tool | ( | bContext * | C, |
| Main * | bmain, | ||
| const wmGizmoGroupType * | gzgt, | ||
| const bToolRef * | tref ) |
Definition at line 266 of file wm_gizmo_group.cc.
References BLI_assert, ED_region_tag_redraw_editor_overlays(), ListBase::first, wmGizmoMap::groups, wmGizmoGroupType::gzmap_params, LISTBASE_FOREACH, wmGizmoGroup::next, wmGizmoGroup::parent_gzmap, Main::screens, wmGizmoGroup::type, wmGizmoMap::type, wm_gizmogroup_free(), and WM_gizmomaptype_find().
Referenced by toolsystem_unlink_ref().
| void WM_gizmo_group_tag_remove | ( | wmGizmoGroup * | gzgroup | ) |
Definition at line 120 of file wm_gizmo_group.cc.
References BLI_assert, wmGizmoGroup::parent_gzmap, wmGizmoGroup::tag_remove, wmGizmoGroup::type, wmGizmoGroupType::users, and WM_gizmoconfig_update_tag_group_remove().
Referenced by WM_gizmo_group_unlink_delayed_ptr_from_space(), and WM_gizmomaptype_group_init_runtime_with_region().
| void WM_gizmo_group_type_add | ( | const char * | idname | ) |
Definition at line 1122 of file wm_gizmo_group.cc.
References BLI_assert, WM_gizmo_group_type_add_ptr(), and WM_gizmogrouptype_find().
| void WM_gizmo_group_type_add_ptr | ( | wmGizmoGroupType * | gzgt | ) |
Definition at line 1117 of file wm_gizmo_group.cc.
References wmGizmoGroupType::gzmap_params, WM_gizmo_group_type_add_ptr_ex(), and WM_gizmomaptype_ensure().
Referenced by WM_gizmo_group_type_add().
| void WM_gizmo_group_type_add_ptr_ex | ( | wmGizmoGroupType * | gzgt, |
| wmGizmoMapType * | gzmap_type ) |
Definition at line 1111 of file wm_gizmo_group.cc.
References WM_gizmoconfig_update_tag_group_type_init(), and WM_gizmomaptype_group_link_ptr().
Referenced by WM_gizmo_group_type_add_ptr(), WM_gizmo_group_type_ensure_ptr_ex(), and WM_gizmo_group_type_reinit_ptr_ex().
| bool WM_gizmo_group_type_ensure | ( | const char * | idname | ) |
Definition at line 1143 of file wm_gizmo_group.cc.
References BLI_assert, WM_gizmo_group_type_ensure_ptr(), and WM_gizmogrouptype_find().
Referenced by mesh_bisect_modal(), and view3d_interactive_add_invoke().
| bool WM_gizmo_group_type_ensure_ptr | ( | wmGizmoGroupType * | gzgt | ) |
Definition at line 1138 of file wm_gizmo_group.cc.
References wmGizmoGroupType::gzmap_params, WM_gizmo_group_type_ensure_ptr_ex(), and WM_gizmomaptype_ensure().
Referenced by add_primitive_cube_gizmo_invoke(), edbm_spin_invoke(), toolsystem_ref_link(), and WM_gizmo_group_type_ensure().
| bool WM_gizmo_group_type_ensure_ptr_ex | ( | wmGizmoGroupType * | gzgt, |
| wmGizmoMapType * | gzmap_type ) |
Definition at line 1129 of file wm_gizmo_group.cc.
References WM_gizmo_group_type_add_ptr_ex(), and WM_gizmomaptype_group_find_ptr().
Referenced by WM_gizmo_group_type_ensure_ptr(), and wm_handler_operator_call().
| bool WM_gizmo_group_type_poll | ( | const bContext * | C, |
| const wmGizmoGroupType * | gzgt ) |
Definition at line 1232 of file wm_gizmo_group.cc.
References BKE_workspace_owner_id_check(), CTX_wm_workspace(), wmGizmoGroupType::owner_id, and wmGizmoGroupType::poll.
Referenced by gizmomap_prepare_drawing(), WM_gizmomap_gizmo_hash_new(), wm_gizmomap_highlight_find(), WM_gizmomap_message_subscribe(), and wm_region_test_gizmo_do_draw().
| void WM_gizmo_group_type_reinit | ( | Main * | bmain, |
| const char * | idname ) |
Definition at line 1183 of file wm_gizmo_group.cc.
References BLI_assert, WM_gizmo_group_type_reinit_ptr(), and WM_gizmogrouptype_find().
| void WM_gizmo_group_type_reinit_ptr | ( | Main * | bmain, |
| wmGizmoGroupType * | gzgt ) |
Definition at line 1178 of file wm_gizmo_group.cc.
References wmGizmoGroupType::gzmap_params, WM_gizmo_group_type_reinit_ptr_ex(), and WM_gizmomaptype_ensure().
Referenced by add_primitive_cube_gizmo_invoke(), edbm_spin_invoke(), and WM_gizmo_group_type_reinit().
| void WM_gizmo_group_type_reinit_ptr_ex | ( | Main * | bmain, |
| wmGizmoGroupType * | gzgt, | ||
| wmGizmoMapType * | gzmap_type ) |
Has the result of unlinking and linking (re-initializes gizmo's).
Definition at line 1168 of file wm_gizmo_group.cc.
References BLI_assert, 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().
| void WM_gizmo_group_type_remove | ( | Main * | bmain, |
| const char * | idname ) |
Definition at line 1161 of file wm_gizmo_group.cc.
References BLI_assert, WM_gizmo_group_type_remove_ptr(), and WM_gizmogrouptype_find().
| void WM_gizmo_group_type_remove_ptr | ( | Main * | bmain, |
| wmGizmoGroupType * | gzgt ) |
Definition at line 1156 of file wm_gizmo_group.cc.
References wmGizmoGroupType::gzmap_params, WM_gizmo_group_type_remove_ptr_ex(), and WM_gizmomaptype_ensure().
Referenced by WM_gizmo_group_type_remove().
| void WM_gizmo_group_type_remove_ptr_ex | ( | Main * | bmain, |
| wmGizmoGroupType * | gzgt, | ||
| wmGizmoMapType * | gzmap_type ) |
Call WM_gizmo_group_type_free_ptr after to remove & free.
Definition at line 1150 of file wm_gizmo_group.cc.
References WM_gizmomaptype_group_unlink().
Referenced by WM_gizmo_group_type_remove_ptr().
| void WM_gizmo_group_type_unlink_delayed | ( | const char * | idname | ) |
Definition at line 1203 of file wm_gizmo_group.cc.
References BLI_assert, WM_gizmo_group_type_unlink_delayed_ptr(), and WM_gizmogrouptype_find().
| void WM_gizmo_group_type_unlink_delayed_ptr | ( | wmGizmoGroupType * | gzgt | ) |
Definition at line 1197 of file wm_gizmo_group.cc.
References wmGizmoGroupType::gzmap_params, WM_gizmo_group_type_unlink_delayed_ptr_ex(), and WM_gizmomaptype_ensure().
Referenced by ED_gizmo_poll_or_unlink_delayed_from_operator(), ED_gizmo_poll_or_unlink_delayed_from_tool_ex(), and WM_gizmo_group_type_unlink_delayed().
| void WM_gizmo_group_type_unlink_delayed_ptr_ex | ( | wmGizmoGroupType * | gzgt, |
| wmGizmoMapType * | gzmap_type ) |
Definition at line 1192 of file wm_gizmo_group.cc.
References WM_gizmoconfig_update_tag_group_type_remove().
Referenced by WM_gizmo_group_type_unlink_delayed_ptr().
| void WM_gizmo_group_unlink_delayed_ptr_from_space | ( | wmGizmoGroupType * | gzgt, |
| wmGizmoMapType * | gzmap_type, | ||
| ScrArea * | area ) |
Definition at line 1210 of file wm_gizmo_group.cc.
References wmGizmoMap::groups, LISTBASE_FOREACH, wmGizmoMap::type, and WM_gizmo_group_tag_remove().
Referenced by ED_gizmo_poll_or_unlink_delayed_from_tool_ex().
| wmKeyMap * WM_gizmo_keymap_generic | ( | wmWindowManager * | wm | ) |
Definition at line 879 of file wm_gizmo_group.cc.
References wmWindowManager::defaultconf, and WM_gizmo_keymap_generic_with_keyconfig().
| wmKeyMap * WM_gizmo_keymap_generic_click_drag | ( | wmWindowManager * | wm | ) |
Definition at line 909 of file wm_gizmo_group.cc.
References wmWindowManager::defaultconf, and WM_gizmo_keymap_generic_click_drag_with_keyconfig().
Referenced by WIDGETGROUP_navigate_setup().
| wmKeyMap * WM_gizmo_keymap_generic_click_drag_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Definition at line 904 of file wm_gizmo_group.cc.
References RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().
Referenced by WM_gizmo_keymap_generic_click_drag().
| wmKeyMap * WM_gizmo_keymap_generic_drag | ( | wmWindowManager * | wm | ) |
Definition at line 899 of file wm_gizmo_group.cc.
References wmWindowManager::defaultconf, and WM_gizmo_keymap_generic_drag_with_keyconfig().
| wmKeyMap * WM_gizmo_keymap_generic_drag_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Definition at line 894 of file wm_gizmo_group.cc.
References RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().
Referenced by WM_gizmo_keymap_generic_drag(), and WM_gizmogroup_setup_keymap_generic_drag().
| wmKeyMap * WM_gizmo_keymap_generic_maybe_drag | ( | wmWindowManager * | wm | ) |
Definition at line 919 of file wm_gizmo_group.cc.
References wmWindowManager::defaultconf, and WM_gizmo_keymap_generic_maybe_drag_with_keyconfig().
| wmKeyMap * WM_gizmo_keymap_generic_maybe_drag_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Drag or press depending on preference.
Definition at line 914 of file wm_gizmo_group.cc.
References 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().
| wmKeyMap * WM_gizmo_keymap_generic_select | ( | wmWindowManager * | wm | ) |
Definition at line 889 of file wm_gizmo_group.cc.
References wmWindowManager::defaultconf, and WM_gizmo_keymap_generic_select_with_keyconfig().
| wmKeyMap * WM_gizmo_keymap_generic_select_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Definition at line 884 of file wm_gizmo_group.cc.
References RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().
Referenced by WM_gizmo_keymap_generic_select().
| wmKeyMap * WM_gizmo_keymap_generic_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Definition at line 874 of file wm_gizmo_group.cc.
References RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().
Referenced by WM_gizmo_keymap_generic(), and WM_gizmogroup_setup_keymap_generic().
|
static |
Definition at line 163 of file wm_gizmo_group.cc.
References wmGizmo::keymap, wmGizmoGroupType::keymap, wmGizmoGroup::type, WM_keymap_active(), and WM_keymap_uses_event_modifier().
Referenced by wm_gizmogroup_find_intersected_gizmo(), and wm_gizmogroup_intersectable_gizmos_to_list().
| void WM_gizmogroup_ensure_init | ( | const bContext * | C, |
| wmGizmoGroup * | gzgroup ) |
Definition at line 239 of file wm_gizmo_group.cc.
References BLI_assert, CTX_wm_manager(), wmWindowManager::defaultconf, wmGizmoGroup::init_flag, wmGizmoGroupType::keymap, wmGizmoGroupType::setup, wmGizmoGroup::type, UNLIKELY, WM_gizmo_group_refresh(), WM_GIZMOGROUP_INIT_REFRESH, WM_GIZMOGROUP_INIT_SETUP, and wm_gizmogrouptype_setup_keymap().
Referenced by gizmomap_prepare_drawing(), and wm_handler_operator_call().
| wmGizmoGroup * wm_gizmogroup_find_by_type | ( | const wmGizmoMap * | gzmap, |
| const wmGizmoGroupType * | gzgt ) |
Definition at line 67 of file wm_gizmo_group.cc.
References BLI_findptr(), wmGizmoMap::groups, and offsetof.
| wmGizmo * wm_gizmogroup_find_intersected_gizmo | ( | wmWindowManager * | wm, |
| const wmGizmoGroup * | gzgroup, | ||
| bContext * | C, | ||
| const int | event_modifier, | ||
| const int | mval[2], | ||
| int * | r_part ) |
Definition at line 187 of file wm_gizmo_group.cc.
References wmGizmoGroup::gizmos, LISTBASE_FOREACH, WM_GIZMO_HIDDEN, WM_GIZMO_HIDDEN_SELECT, and wm_gizmo_keymap_uses_event_modifier().
Referenced by wm_gizmomap_highlight_find().
| void wm_gizmogroup_free | ( | bContext * | C, |
| wmGizmoGroup * | gzgroup ) |
Definition at line 73 of file wm_gizmo_group.cc.
References BLI_listbase_clear(), BLI_remlink(), BPY_DECREF_RNA_INVALIDATE(), wmGizmoGroup::customdata, wmGizmoGroup::customdata_free, ListBase::first, wmGizmoGroup::gizmos, wmGizmoMap::groups, wmGizmoMap::gzmap_context, wmGizmoMap::highlight, wmGizmoMapSelectState::len, MEM_freeN(), MEM_SAFE_FREE, wmGizmoMap::modal, wmGizmo::parent_gzgroup, wmGizmoGroup::parent_gzmap, wmGizmoGroup::py_instance, wmGizmoMap::select, wmGizmoGroup::tag_remove, wmGizmoGroup::type, wmGizmoGroupType::users, WM_gizmo_free(), WM_gizmo_select_unlink(), wm_gizmomap_highlight_set(), and wm_gizmomap_modal_set().
Referenced by WM_gizmo_group_remove_by_tool(), WM_gizmoconfig_update(), wm_gizmomap_free_data(), and WM_gizmomaptype_group_unlink().
| 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 130 of file wm_gizmo_group.cc.
References BLI_addtail(), BLI_assert, BLI_findindex(), wmGizmoGroup::gizmos, and wmGizmo::parent_gzgroup.
Referenced by wm_gizmo_register().
| void wm_gizmogroup_intersectable_gizmos_to_list | ( | wmWindowManager * | wm, |
| const wmGizmoGroup * | gzgroup, | ||
| int | event_modifier, | ||
| BLI_Buffer * | visible_gizmos ) |
Adds all gizmos of gzgroup that can be selected to the head of listbase. Added items need freeing!
Definition at line 214 of file wm_gizmo_group.cc.
References BLI_buffer_append, wmGizmoGroupType::flag, wmGizmoGroup::gizmos, LISTBASE_FOREACH_BACKWARD, wmGizmoGroup::type, WM_GIZMO_HIDDEN, WM_GIZMO_HIDDEN_SELECT, wm_gizmo_keymap_uses_event_modifier(), and WM_GIZMOGROUPTYPE_3D.
Referenced by wm_gizmomap_highlight_find().
| bool wm_gizmogroup_is_any_selected | ( | const wmGizmoGroup * | gzgroup | ) |
Definition at line 312 of file wm_gizmo_group.cc.
References wmGizmoGroupType::flag, wmGizmoGroup::gizmos, LISTBASE_FOREACH, wmGizmoGroup::type, WM_GIZMO_STATE_SELECT, and WM_GIZMOGROUPTYPE_SELECT.
Referenced by wm_handlers_do_gizmo_handler().
| bool wm_gizmogroup_is_visible_in_drawstep | ( | const wmGizmoGroup * | gzgroup, |
| const eWM_GizmoFlagMapDrawStep | drawstep ) |
Definition at line 298 of file wm_gizmo_group.cc.
References BLI_assert_unreachable, wmGizmoGroupType::flag, wmGizmoGroup::type, WM_GIZMOGROUPTYPE_3D, WM_GIZMOMAP_DRAWSTEP_2D, and WM_GIZMOMAP_DRAWSTEP_3D.
Referenced by gizmomap_prepare_drawing(), and wm_gizmomap_modal_set().
|
static |
Variation of #WM_gizmogroup_keymap_common but with keymap items for selection
TODO(@ideasman42): move to Python.
| name | Typically wmGizmoGroupType.name |
| params | Typically wmGizmoGroupType.gzmap_params |
Definition at line 790 of file wm_gizmo_group.cc.
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().
| wmGizmoGroup * wm_gizmogroup_new_from_type | ( | wmGizmoMap * | gzmap, |
| wmGizmoGroupType * | gzgt ) |
Create a new gizmo-group from gzgt.
Definition at line 51 of file wm_gizmo_group.cc.
References BLI_addtail(), wmGizmoMap::groups, MEM_callocN, wmGizmoGroup::parent_gzmap, wmGizmoGroup::type, and wmGizmoGroupType::users.
Referenced by wm_gizmomap_new_from_type_ex(), and WM_gizmomaptype_group_init_runtime_with_region().
| wmKeyMap * WM_gizmogroup_setup_keymap_generic | ( | const wmGizmoGroupType * | gzgt, |
| wmKeyConfig * | kc ) |
Definition at line 765 of file wm_gizmo_group.cc.
References WM_gizmo_keymap_generic_with_keyconfig().
Referenced by wm_gizmogrouptype_append__end().
| wmKeyMap * WM_gizmogroup_setup_keymap_generic_drag | ( | const wmGizmoGroupType * | gzgt, |
| wmKeyConfig * | kc ) |
Definition at line 770 of file wm_gizmo_group.cc.
References WM_gizmo_keymap_generic_drag_with_keyconfig().
| wmKeyMap * WM_gizmogroup_setup_keymap_generic_maybe_drag | ( | const wmGizmoGroupType * | gzgt, |
| wmKeyConfig * | kc ) |
Definition at line 776 of file wm_gizmo_group.cc.
References WM_gizmo_keymap_generic_maybe_drag_with_keyconfig().
Referenced by ED_widgetgroup_gizmo2d_resize_callbacks_set(), ED_widgetgroup_gizmo2d_rotate_callbacks_set(), ED_widgetgroup_gizmo2d_xform_callbacks_set(), blender::ed::space_node::NODE_GGT_backdrop_corner_pin(), blender::ed::space_node::NODE_GGT_backdrop_crop(), blender::ed::space_node::NODE_GGT_backdrop_sun_beams(), blender::ed::space_node::NODE_GGT_backdrop_transform(), VIEW3D_GGT_armature_spline(), VIEW3D_GGT_camera(), VIEW3D_GGT_empty_image(), VIEW3D_GGT_force_field(), VIEW3D_GGT_geometry_nodes(), VIEW3D_GGT_light_area(), VIEW3D_GGT_light_point(), VIEW3D_GGT_light_spot(), VIEW3D_GGT_light_target(), VIEW3D_GGT_xform_cage(), VIEW3D_GGT_xform_extrude(), VIEW3D_GGT_xform_gizmo(), VIEW3D_GGT_xform_gizmo_context(), and VIEW3D_GGT_xform_shear().
| wmKeyMap * WM_gizmogroup_setup_keymap_generic_select | ( | const wmGizmoGroupType * | gzgt, |
| wmKeyConfig * | kc ) |
Definition at line 857 of file wm_gizmo_group.cc.
References params, RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_gizmogroup_keymap_template_select_ex().
Referenced by wm_gizmogrouptype_append__end().
| wmKeyMap * wm_gizmogroup_tweak_modal_keymap | ( | wmKeyConfig * | keyconf | ) |
Definition at line 631 of file wm_gizmo_group.cc.
References EVT_ESCKEY, EVT_LEFTCTRLKEY, EVT_LEFTSHIFTKEY, EVT_PADENTER, EVT_RETKEY, EVT_RIGHTCTRLKEY, EVT_RIGHTSHIFTKEY, KM_ANY, KM_PRESS, KM_RELEASE, KMAP_MAX_NAME, wmKeyMap::modal_items, params, RIGHTMOUSE, STRNCPY, TWEAK_MODAL_CANCEL, TWEAK_MODAL_CONFIRM, TWEAK_MODAL_PRECISION_OFF, TWEAK_MODAL_PRECISION_ON, TWEAK_MODAL_SNAP_OFF, TWEAK_MODAL_SNAP_ON, WM_modalkeymap_add_item(), WM_modalkeymap_assign(), WM_modalkeymap_ensure(), and WM_modalkeymap_find().
Referenced by wm_gizmos_keymap().
| void wm_gizmogrouptype_setup_keymap | ( | wmGizmoGroupType * | gzgt, |
| wmKeyConfig * | keyconf ) |
Definition at line 1084 of file wm_gizmo_group.cc.
References wmGizmoGroupType::keyconf, wmGizmoGroupType::keymap, wmGizmoGroupType::setup_keymap, wmGizmoGroupType::type_update_flag, and WM_GIZMOMAPTYPE_KEYMAP_INIT.
Referenced by WM_gizmogroup_ensure_init(), WM_gizmomaptype_group_init_runtime_keymap(), and wm_gizmos_keymap().
| wmGizmoGroupTypeRef * WM_gizmomaptype_group_find | ( | wmGizmoMapType * | gzmap_type, |
| const char * | idname ) |
Definition at line 942 of file wm_gizmo_group.cc.
References wmGizmoMapType::grouptype_refs, LISTBASE_FOREACH, and STREQ.
| wmGizmoGroupTypeRef * WM_gizmomaptype_group_find_ptr | ( | wmGizmoMapType * | gzmap_type, |
| const wmGizmoGroupType * | gzgt ) |
Definition at line 930 of file wm_gizmo_group.cc.
References wmGizmoMapType::grouptype_refs, and LISTBASE_FOREACH.
Referenced by WM_gizmo_group_type_ensure_ptr_ex(), WM_gizmo_group_type_reinit_ptr_ex(), and WM_gizmomaptype_group_unlink().
| void WM_gizmomaptype_group_free | ( | wmGizmoGroupTypeRef * | gzgt_ref | ) |
Unlike WM_gizmomaptype_group_unlink this doesn't maintain correct state, simply free.
Definition at line 1030 of file wm_gizmo_group.cc.
References MEM_freeN().
Referenced by WM_gizmomaptype_group_unlink(), and wm_gizmomaptypes_free().
| void WM_gizmomaptype_group_init_runtime | ( | const Main * | bmain, |
| wmGizmoMapType * | gzmap_type, | ||
| wmGizmoGroupType * | gzgt ) |
Definition at line 977 of file wm_gizmo_group.cc.
References ListBase::first, wmGizmoGroupType::flag, LISTBASE_FOREACH, Main::screens, wmGizmoMap::type, WM_GIZMOGROUPTYPE_TOOL_INIT, and WM_gizmomaptype_group_init_runtime_with_region().
Referenced by WM_gizmoconfig_update().
| void WM_gizmomaptype_group_init_runtime_keymap | ( | const Main * | bmain, |
| wmGizmoGroupType * | gzgt ) |
Definition at line 970 of file wm_gizmo_group.cc.
References ListBase::first, Main::wm, and wm_gizmogrouptype_setup_keymap().
Referenced by WM_gizmoconfig_update().
| wmGizmoGroup * WM_gizmomaptype_group_init_runtime_with_region | ( | wmGizmoMapType * | gzmap_type, |
| wmGizmoGroupType * | gzgt, | ||
| ARegion * | region ) |
Definition at line 1004 of file wm_gizmo_group.cc.
References BLI_assert, ED_region_tag_redraw_editor_overlays(), wmGizmoMap::groups, LISTBASE_FOREACH, wmGizmoMap::type, UNUSED_VARS_NDEBUG, WM_gizmo_group_tag_remove(), wm_gizmogroup_new_from_type(), and wm_gizmomap_highlight_set().
Referenced by WM_gizmomaptype_group_init_runtime(), and wm_handler_operator_call().
| wmGizmoGroupTypeRef * WM_gizmomaptype_group_link | ( | wmGizmoMapType * | gzmap_type, |
| const char * | idname ) |
Use this for registering gizmos on startup. For runtime, use #WM_gizmomaptype_group_link_runtime.
Definition at line 953 of file wm_gizmo_group.cc.
References BLI_assert, WM_gizmogrouptype_find(), and WM_gizmomaptype_group_link_ptr().
| wmGizmoGroupTypeRef * WM_gizmomaptype_group_link_ptr | ( | wmGizmoMapType * | gzmap_type, |
| wmGizmoGroupType * | gzgt ) |
Definition at line 960 of file wm_gizmo_group.cc.
References BLI_addtail(), wmGizmoMapType::grouptype_refs, MEM_callocN, and wmGizmoGroupTypeRef::type.
Referenced by WM_gizmo_group_type_add_ptr_ex(), WM_gizmogrouptype_append_and_link(), and WM_gizmomaptype_group_link().
| void WM_gizmomaptype_group_unlink | ( | bContext * | C, |
| Main * | bmain, | ||
| wmGizmoMapType * | gzmap_type, | ||
| const wmGizmoGroupType * | gzgt ) |
Definition at line 1035 of file wm_gizmo_group.cc.
References BLI_assert, BLI_remlink(), ED_region_tag_redraw_editor_overlays(), ListBase::first, wmGizmoMap::groups, wmGizmoMapType::grouptype_refs, wmGizmoGroupType::keyconf, wmGizmoGroupType::keymap, LISTBASE_FOREACH, wmGizmoGroup::next, wmGizmoGroup::parent_gzmap, Main::screens, wmGizmoGroup::type, wmGizmoMap::type, wm_gizmogroup_free(), WM_gizmomaptype_group_find_ptr(), WM_gizmomaptype_group_free(), and WM_keymap_remove().
Referenced by WM_gizmo_group_type_reinit_ptr_ex(), WM_gizmo_group_type_remove_ptr_ex(), and WM_gizmoconfig_update().