|
Blender V5.0
|
#include <cstdlib>#include <cstring>#include "MEM_guardedalloc.h"#include "BLI_listbase.h"#include "BLI_rect.h"#include "BLI_string.h"#include "BLI_vector.hh"#include "BKE_context.hh"#include "BKE_main.hh"#include "BKE_screen.hh"#include "BKE_workspace.hh"#include "RNA_access.hh"#include "WM_api.hh"#include "WM_keymap.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 333 of file wm_gizmo_group.cc.
References BLI_assert, BLI_assert_unreachable, C, 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(), ARegion::runtime, 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 457 of file wm_gizmo_group.cc.
References BLI_findindex(), C, 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 564 of file wm_gizmo_group.cc.
References BLI_assert_msg, C, 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, ARegion::runtime, wmEvent::type, wmGizmoGroup::type, WM_event_add_modal_handler(), WM_event_is_mouse_drag(), WM_gizmo_group_type_poll(), WM_tooltip_clear(), and WM_userdef_event_type_from_keymap_type().
Referenced by GIZMOGROUP_OT_gizmo_tweak().
|
static |
Definition at line 479 of file wm_gizmo_group.cc.
References BLI_assert, BLI_assert_unreachable, C, 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_RETVAL_CHECK, 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 405 of file wm_gizmo_group.cc.
References C, wmGizmo::state, WM_GIZMO_STATE_MODAL, and wm_gizmomap_modal_set().
Referenced by gizmo_tweak_invoke().
|
static |
Definition at line 413 of file wm_gizmo_group.cc.
References C, 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 380 of file wm_gizmo_group.cc.
References ED_operator_region_gizmo_active(), gizmo_select_invoke(), OPTYPE_UNDO, ot, and WM_operator_properties_mouse_select().
Referenced by wm_operatortypes_register().
| void GIZMOGROUP_OT_gizmo_tweak | ( | wmOperatorType * | ot | ) |
Definition at line 620 of file wm_gizmo_group.cc.
References ED_operator_region_gizmo_active(), gizmo_tweak_invoke(), gizmo_tweak_modal(), OPTYPE_BLOCKING, OPTYPE_GRAB_CURSOR_XY, OPTYPE_UNDO, and ot.
Referenced by wm_operatortypes_register().
| int WM_gizmo_cmp_temp_fl | ( | const void * | gz_a_ptr, |
| const void * | gz_b_ptr ) |
Definition at line 138 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 151 of file wm_gizmo_group.cc.
References wmGizmo::f, and wmGizmo::temp.
Referenced by blender::ed::transform::gizmo_mesh_extrude_draw_prepare(), and blender::ed::transform::WIDGETGROUP_xform_shear_draw_prepare().
| void WM_gizmo_group_refresh | ( | const bContext * | C, |
| wmGizmoGroup * | gzgroup ) |
Definition at line 1254 of file wm_gizmo_group.cc.
References wmGizmoGroup::any, BLI_assert, BLI_rcti_isect_pt_v(), C, 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, ARegion::runtime, wmGizmoGroup::type, ARegion::winrct, 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 267 of file wm_gizmo_group.cc.
References BLI_assert, C, 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 121 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 StringRef | idname | ) |
Definition at line 1130 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 1125 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 1119 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 StringRef | idname | ) |
Definition at line 1151 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 1146 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 1137 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 1240 of file wm_gizmo_group.cc.
References BKE_workspace_owner_id_check(), C, CTX_wm_workspace(), wmGizmoGroupType::owner_id, and wmGizmoGroupType::poll.
Referenced by gizmo_tweak_invoke(), gizmomap_prepare_drawing(), WM_gizmomap_gizmo_hash_new(), wm_gizmomap_highlight_find(), WM_gizmomap_message_subscribe(), and wm_region_test_gizmo_do_draw().
Definition at line 1191 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 1186 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 1176 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().
Definition at line 1169 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 1164 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 1158 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 StringRef | idname | ) |
Definition at line 1211 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 1205 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 1200 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 1218 of file wm_gizmo_group.cc.
References wmGizmoMap::groups, LISTBASE_FOREACH, ScrArea::regionbase, 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 888 of file wm_gizmo_group.cc.
References wmWindowManager::runtime, and WM_gizmo_keymap_generic_with_keyconfig().
| wmKeyMap * WM_gizmo_keymap_generic_drag | ( | wmWindowManager * | wm | ) |
Definition at line 908 of file wm_gizmo_group.cc.
References wmWindowManager::runtime, and WM_gizmo_keymap_generic_drag_with_keyconfig().
| wmKeyMap * WM_gizmo_keymap_generic_drag_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Definition at line 903 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 928 of file wm_gizmo_group.cc.
References wmWindowManager::runtime, 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 923 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_press_drag | ( | wmWindowManager * | wm | ) |
Definition at line 918 of file wm_gizmo_group.cc.
References wmWindowManager::runtime, and WM_gizmo_keymap_generic_press_drag_with_keyconfig().
Referenced by WIDGETGROUP_navigate_setup().
| wmKeyMap * WM_gizmo_keymap_generic_press_drag_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Definition at line 913 of file wm_gizmo_group.cc.
References RGN_TYPE_WINDOW, SPACE_EMPTY, and WM_keymap_ensure().
Referenced by WM_gizmo_keymap_generic_press_drag().
| wmKeyMap * WM_gizmo_keymap_generic_select | ( | wmWindowManager * | wm | ) |
Definition at line 898 of file wm_gizmo_group.cc.
References wmWindowManager::runtime, and WM_gizmo_keymap_generic_select_with_keyconfig().
| wmKeyMap * WM_gizmo_keymap_generic_select_with_keyconfig | ( | wmKeyConfig * | kc | ) |
Definition at line 893 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 883 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 164 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 240 of file wm_gizmo_group.cc.
References BLI_assert, C, CTX_wm_manager(), wmGizmoGroup::init_flag, wmGizmoGroupType::keymap, wmWindowManager::runtime, 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 68 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 188 of file wm_gizmo_group.cc.
References C, 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 74 of file wm_gizmo_group.cc.
References BLI_listbase_clear(), BLI_remlink(), BPY_DECREF_RNA_INVALIDATE(), C, 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 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().
| void wm_gizmogroup_intersectable_gizmos_to_list | ( | wmWindowManager * | wm, |
| const wmGizmoGroup * | gzgroup, | ||
| int | event_modifier, | ||
| blender::Vector< wmGizmo *, 128 > * | r_visible_gizmos ) |
Adds all gizmos of gzgroup that can be selected to the head of listbase. Added items need freeing!
Definition at line 215 of file wm_gizmo_group.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::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 313 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 299 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 799 of file wm_gizmo_group.cc.
References BLI_listbase_is_empty(), wmKeyMap::items, KM_ANY, KM_PRESS, KM_PRESS_DRAG, KM_SHIFT, LEFTMOUSE, name, params, wmKeyMapItem::ptr, RIGHTMOUSE, RNA_boolean_set(), U, 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 53 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 774 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 779 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 785 of file wm_gizmo_group.cc.
References WM_gizmo_keymap_generic_maybe_drag_with_keyconfig().
Referenced by blender::ed::transform::ED_widgetgroup_gizmo2d_resize_callbacks_set(), blender::ed::transform::ED_widgetgroup_gizmo2d_rotate_callbacks_set(), blender::ed::transform::ED_widgetgroup_gizmo2d_xform_callbacks_set(), blender::ed::space_node::NODE_GGT_backdrop_box_mask(), blender::ed::space_node::NODE_GGT_backdrop_corner_pin(), blender::ed::space_node::NODE_GGT_backdrop_crop(), blender::ed::space_node::NODE_GGT_backdrop_ellipse_mask(), blender::ed::space_node::NODE_GGT_backdrop_glare(), blender::ed::space_node::NODE_GGT_backdrop_split(), 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(), blender::ed::transform::VIEW3D_GGT_xform_cage(), blender::ed::transform::VIEW3D_GGT_xform_extrude(), blender::ed::transform::VIEW3D_GGT_xform_gizmo(), blender::ed::transform::VIEW3D_GGT_xform_gizmo_context(), and blender::ed::transform::VIEW3D_GGT_xform_shear().
| wmKeyMap * WM_gizmogroup_setup_keymap_generic_select | ( | const wmGizmoGroupType * | gzgt, |
| wmKeyConfig * | kc ) |
Definition at line 866 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 640 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, name, 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 1092 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 StringRef | idname ) |
Definition at line 951 of file wm_gizmo_group.cc.
References wmGizmoMapType::grouptype_refs, and LISTBASE_FOREACH.
| wmGizmoGroupTypeRef * WM_gizmomaptype_group_find_ptr | ( | wmGizmoMapType * | gzmap_type, |
| const wmGizmoGroupType * | gzgt ) |
Definition at line 939 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 1038 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 985 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 978 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 1012 of file wm_gizmo_group.cc.
References BLI_assert, ED_region_tag_redraw_editor_overlays(), wmGizmoMap::groups, LISTBASE_FOREACH, ARegion::runtime, 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, |
| blender::StringRef | idname ) |
Use this for registering gizmos on startup. For runtime, use #WM_gizmomaptype_group_link_runtime.
Definition at line 962 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 969 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 1043 of file wm_gizmo_group.cc.
References BLI_assert, BLI_remlink(), C, 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().