Blender
V3.3
|
#include "BLI_listbase.h"
#include "BLI_math.h"
#include "BLI_rect.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLT_translation.h"
#include "BKE_context.h"
#include "BKE_gpencil.h"
#include "BKE_main.h"
#include "BKE_report.h"
#include "BKE_material.h"
#include "BKE_object.h"
#include "BKE_scene.h"
#include "BKE_unit.h"
#include "DNA_gpencil_types.h"
#include "DNA_meshdata_types.h"
#include "DNA_object_types.h"
#include "DNA_view3d_types.h"
#include "ED_gizmo_library.h"
#include "ED_gizmo_utils.h"
#include "ED_gpencil.h"
#include "ED_screen.h"
#include "ED_transform.h"
#include "ED_transform_snap_object_context.h"
#include "ED_view3d.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "MEM_guardedalloc.h"
#include "RNA_access.h"
#include "WM_api.h"
#include "WM_toolsystem.h"
#include "WM_types.h"
#include "DEG_depsgraph_query.h"
#include "view3d_intern.h"
#include "GPU_immediate.h"
#include "GPU_immediate_util.h"
#include "GPU_matrix.h"
#include "GPU_state.h"
#include "BLF_api.h"
Go to the source code of this file.
Classes | |
struct | RulerInfo |
struct | RulerItem |
struct | RulerInteraction |
Macros | |
#define | USE_AXIS_CONSTRAINTS |
#define | MVAL_MAX_PX_DIST 12.0f |
#define | RULER_PICK_DIST 12.0f |
#define | RULER_PICK_DIST_SQ (RULER_PICK_DIST * RULER_PICK_DIST) |
#define | PART_LINE 0xff |
#define | ARC_STEPS 24 |
Typedefs | |
typedef struct RulerInfo | RulerInfo |
typedef struct RulerItem | RulerItem |
typedef struct RulerInteraction | RulerInteraction |
Enumerations | |
enum | { RULERITEM_USE_ANGLE = (1 << 0) , RULERITEM_USE_ANGLE_ACTIVE = (1 << 1) } |
enum | { RULER_STATE_NORMAL = 0 , RULER_STATE_DRAG } |
enum | { CONSTRAIN_AXIS_NONE = -1 , CONSTRAIN_AXIS_X = 0 , CONSTRAIN_AXIS_Y = 1 , CONSTRAIN_AXIS_Z = 2 } |
enum | { CONSTRAIN_MODE_OFF = 0 , CONSTRAIN_MODE_1 = 1 , CONSTRAIN_MODE_2 = 2 } |
Variables | |
static const char * | view3d_gzgt_ruler_id = "VIEW3D_GGT_ruler" |
Ruler/Grease Pencil Conversion | |
#define | RULER_ID "RulerData3D" |
static bGPDlayer * | view3d_ruler_layer_get (bGPdata *gpd) |
static RulerItem * | gzgroup_ruler_item_first_get (wmGizmoGroup *gzgroup) |
static bool | view3d_ruler_to_gpencil (bContext *C, wmGizmoGroup *gzgroup) |
static bool | view3d_ruler_from_gpencil (const bContext *C, wmGizmoGroup *gzgroup) |
#define ARC_STEPS 24 |
#define MVAL_MAX_PX_DIST 12.0f |
Definition at line 68 of file view3d_gizmo_ruler.c.
#define PART_LINE 0xff |
Definition at line 85 of file view3d_gizmo_ruler.c.
#define RULER_ID "RulerData3D" |
Definition at line 498 of file view3d_gizmo_ruler.c.
#define RULER_PICK_DIST 12.0f |
Definition at line 81 of file view3d_gizmo_ruler.c.
#define RULER_PICK_DIST_SQ (RULER_PICK_DIST * RULER_PICK_DIST) |
Definition at line 82 of file view3d_gizmo_ruler.c.
#define USE_AXIS_CONSTRAINTS |
Supporting transform features could be removed if the actual transform system is used. Keep the option open since each transform feature is duplicating logic.
Definition at line 64 of file view3d_gizmo_ruler.c.
typedef struct RulerInteraction RulerInteraction |
anonymous enum |
Enumerator | |
---|---|
RULERITEM_USE_ANGLE | Use protractor. |
RULERITEM_USE_ANGLE_ACTIVE | Protractor vertex is selected (deleting removes it). |
Definition at line 73 of file view3d_gizmo_ruler.c.
anonymous enum |
Enumerator | |
---|---|
RULER_STATE_NORMAL | |
RULER_STATE_DRAG |
Definition at line 90 of file view3d_gizmo_ruler.c.
anonymous enum |
Enumerator | |
---|---|
CONSTRAIN_AXIS_NONE | |
CONSTRAIN_AXIS_X | |
CONSTRAIN_AXIS_Y | |
CONSTRAIN_AXIS_Z |
Definition at line 97 of file view3d_gizmo_ruler.c.
anonymous enum |
|
static |
When the gizmo-group has been created immediately before running an operator to manipulate rulers, it's possible the new gizmo-group has not yet been initialized. in 3.0 this happened because left-click drag would both select and add a new ruler, significantly increasing the likelihood of this happening. Workaround this crash by checking the gizmo's custom-data has not been cleared. The key-map has also been modified not to trigger this bug, see T95591.
Definition at line 467 of file view3d_gizmo_ruler.c.
References wmGizmoGroup::customdata, and NULL.
Referenced by view3d_ruler_add_invoke(), and view3d_ruler_remove_invoke().
|
static |
Definition at line 1191 of file view3d_gizmo_ruler.c.
References wmGizmo::highlight_part, PART_LINE, WM_CURSOR_CROSS, and WM_CURSOR_NSEW_SCROLL.
Referenced by VIEW3D_GT_ruler_item().
Definition at line 618 of file view3d_gizmo_ruler.c.
References angle(), angle_normalized_v3v3(), ARC_STEPS, axis_angle_to_quat(), BLF_color3ubv(), BLF_disable(), BLF_draw(), BLF_enable(), blf_mono_font, BLF_position(), BLF_rotation(), BLF_ROTATION, BLF_size(), BLF_width_and_height(), C, RulerItem::co, col, copy_v3_fl(), copy_v3_v3(), cross_v3_v3v3(), CTX_data_scene(), wmGizmoGroup::customdata, ED_view3d_pixel_size_no_ui_scale(), ED_view3d_project_float_global(), RulerItem::flag, GPU_blend(), GPU_BLEND_ALPHA, GPU_BLEND_NONE, GPU_COMP_F32, GPU_FETCH_FLOAT, GPU_line_smooth(), GPU_line_width(), GPU_matrix_identity_set(), GPU_matrix_pop(), GPU_matrix_pop_projection(), GPU_matrix_projection_set, GPU_matrix_push(), GPU_matrix_push_projection(), GPU_matrix_set, GPU_PRIM_LINE_STRIP, GPU_PRIM_LINES, GPU_SHADER_2D_UNIFORM_COLOR, GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR, GPU_SHADER_3D_UNIFORM_COLOR, GPU_vertformat_attr_add(), GPU_viewport_size_get_f(), immBegin(), immBindBuiltinProgram(), immEnd(), immRectf(), immUnbindProgram(), immUniform1f(), immUniform1i(), immUniform2f(), immUniform4f(), immUniformColor3fv(), immUniformColor3ubv(), immUniformColor4fv(), immVertex2f(), immVertex2fv(), immVertex3fv(), immVertexFormat(), RulerInfo::item_active, len_v2v2(), madd_v2_v2v2fl(), madd_v3_v3v3fl(), mid_v2_v2v2(), min_fff(), mul_qt_v3(), normalize_v2(), normalize_v3(), wmGizmo::parent_gzgroup, RulerInfo::region, ARegion::regiondata, ruler_item_as_string(), RULERITEM_USE_ANGLE, RULERITEM_USE_ANGLE_ACTIVE, scene, sub_v2_v2v2(), sub_v3_v3v3(), TH_TEXT, TH_WIRE, UI_GetThemeColor3ubv(), Scene::unit, V3D_PROJ_RET_OK, V3D_PROJ_TEST_CLIP_NEAR, RegionView3D::viewmat, RegionView3D::winmat, and wmOrtho2_region_pixelspace().
Referenced by VIEW3D_GT_ruler_item().
Definition at line 1172 of file view3d_gizmo_ruler.c.
References C, wmGizmoGroup::customdata, RulerInfo::gizmo, wmGizmo::interaction_data, MEM_SAFE_FREE, wmGizmo::parent_gzgroup, RulerInfo::prop_prevpoint, wmGizmo::ptr, RNA_property_unset(), RULER_STATE_DRAG, RULER_STATE_NORMAL, ruler_state_set(), RulerInfo::snap_data, RulerInfo::state, and view3d_ruler_to_gpencil().
Referenced by VIEW3D_GT_ruler_item().
Definition at line 1072 of file view3d_gizmo_ruler.c.
References C, CLAMP, RulerItem::co, RulerInteraction::co_index, RulerInfo::constrain_axis, CONSTRAIN_AXIS_NONE, RulerInfo::constrain_mode, CONSTRAIN_MODE_OFF, copy_v3_v3(), CTX_data_ensure_evaluated_depsgraph(), wmGizmoGroup::customdata, depsgraph, RulerInteraction::drag_start_co, ED_view3d_project_float_global(), RulerItem::flag, RulerInfo::gizmo, wmGizmo::highlight_part, wmGizmo::interaction_data, interp_v3_v3v3(), RulerInfo::item_active, line_point_factor_v2(), MEM_callocN, wmEvent::mval, NULL, OPERATOR_RUNNING_MODAL, wmGizmo::parent_gzgroup, PART_LINE, RulerInfo::prop_prevpoint, wmGizmo::ptr, RulerInfo::region, RNA_property_float_set_array(), RNA_property_unset(), RULER_STATE_DRAG, ruler_state_set(), RULERITEM_USE_ANGLE, RULERITEM_USE_ANGLE_ACTIVE, RulerInfo::snap_data, USE_SNAP_DETECT_FROM_KEYMAP_HACK, V3D_PROJ_TEST_NOP, view3d_ruler_item_mousemove(), and WM_event_drag_start_mval_fl().
Referenced by VIEW3D_GT_ruler_item().
|
static |
Definition at line 994 of file view3d_gizmo_ruler.c.
References C, RulerInfo::constrain_axis, CONSTRAIN_AXIS_NONE, CONSTRAIN_AXIS_X, CONSTRAIN_AXIS_Y, CONSTRAIN_AXIS_Z, RulerInfo::constrain_mode, CONSTRAIN_MODE_1, CONSTRAIN_MODE_2, CONSTRAIN_MODE_OFF, CTX_data_ensure_evaluated_depsgraph(), CTX_wm_region(), wmGizmoGroup::customdata, depsgraph, RulerInfo::do_thickness, RulerInfo::drag_state_prev, ED_region_tag_redraw_editor_overlays(), ELEM, EVT_XKEY, EVT_YKEY, EVT_ZKEY, KM_PRESS, KM_RELEASE, MOUSEMOVE, wmEvent::mval, OPERATOR_RUNNING_MODAL, wmGizmo::parent_gzgroup, RulerInfo::region, RULER_STATE_DRAG, RulerInfo::state, wmEvent::type, USE_SNAP_DETECT_FROM_KEYMAP_HACK, wmEvent::val, view3d_ruler_item_mousemove(), WM_GIZMO_TWEAK_PRECISE, and WM_GIZMO_TWEAK_SNAP.
Referenced by VIEW3D_GT_ruler_item().
Definition at line 974 of file view3d_gizmo_ruler.c.
References RulerItem::flag, wmGizmo::parent_gzgroup, PART_LINE, RULERITEM_USE_ANGLE, UNPACK2, and view3d_ruler_pick().
Referenced by VIEW3D_GT_ruler_item().
|
static |
Definition at line 489 of file view3d_gizmo_ruler.c.
References BLI_assert, wmGizmoGroup::customdata, ListBase::first, RulerInfo::gizmo, wmGizmoGroup::gizmos, and RulerInfo::snap_data.
Referenced by view3d_ruler_to_gpencil().
|
static |
Definition at line 171 of file view3d_gizmo_ruler.c.
References RulerItem::gz, NULL, WM_GIZMO_DRAW_MODAL, WM_gizmo_new_ptr(), WM_gizmo_set_flag(), and WM_gizmotype_find().
Referenced by view3d_ruler_add_invoke(), and view3d_ruler_from_gpencil().
|
static |
Definition at line 189 of file view3d_gizmo_ruler.c.
References angle_v3v3v3(), B_UNIT_LENGTH, B_UNIT_ROTATION, BKE_unit_value_as_string(), BLI_snprintf(), RulerItem::co, RulerItem::flag, len_v3v3(), RAD2DEGF, RULERITEM_USE_ANGLE, UnitSettings::scale_length, UnitSettings::system, and USER_UNIT_NONE.
Referenced by gizmo_ruler_draw().
|
static |
Definition at line 180 of file view3d_gizmo_ruler.c.
References C, wmGizmoGroup::customdata, wmGizmoGroup::gizmos, RulerItem::gz, RulerInfo::item_active, NULL, wmGizmoGroup::parent_gzmap, and WM_gizmo_unlink().
Referenced by view3d_ruler_remove_invoke().
Ensure the 'snap_context' is only cached while dragging, needed since the user may toggle modes between tool use.
Definition at line 296 of file view3d_gizmo_ruler.c.
References BLI_assert, RulerInfo::drag_state_prev, RULER_STATE_DRAG, RULER_STATE_NORMAL, state, and RulerInfo::state.
Referenced by gizmo_ruler_exit(), and gizmo_ruler_invoke().
void VIEW3D_GGT_ruler | ( | wmGizmoGroupType * | gzgt | ) |
Definition at line 1259 of file view3d_gizmo_ruler.c.
References ED_gizmo_poll_or_unlink_delayed_from_tool(), wmGizmoGroupType::flag, wmGizmoGroupType::gzmap_params, wmGizmoGroupType::idname, wmGizmoGroupType::name, wmGizmoGroupType::poll, wmGizmoMapType_Params::regionid, RGN_TYPE_WINDOW, wmGizmoGroupType::setup, SPACE_VIEW3D, wmGizmoMapType_Params::spaceid, view3d_gzgt_ruler_id, WIDGETGROUP_ruler_setup(), WM_GIZMOGROUPTYPE_3D, WM_GIZMOGROUPTYPE_DRAW_MODAL_ALL, and WM_GIZMOGROUPTYPE_SCALE.
Referenced by view3d_widgets().
void VIEW3D_GT_ruler_item | ( | wmGizmoType * | gzt | ) |
Definition at line 1199 of file view3d_gizmo_ruler.c.
References wmGizmoType::cursor_get, wmGizmoType::draw, wmGizmoType::exit, gizmo_ruler_cursor_get(), gizmo_ruler_draw(), gizmo_ruler_exit(), gizmo_ruler_invoke(), gizmo_ruler_modal(), gizmo_ruler_test_select(), wmGizmoType::idname, wmGizmoType::invoke, wmGizmoType::modal, wmGizmoType::struct_size, and wmGizmoType::test_select.
Referenced by view3d_widgets().
void VIEW3D_OT_ruler_add | ( | wmOperatorType * | ot | ) |
Definition at line 1354 of file view3d_gizmo_ruler.c.
References wmOperatorType::description, wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_INTERNAL, OPTYPE_UNDO, ot, wmOperatorType::poll, view3d_ruler_add_invoke(), and view3d_ruler_poll().
Referenced by view3d_operatortypes().
void VIEW3D_OT_ruler_remove | ( | wmOperatorType * | ot | ) |
Definition at line 1411 of file view3d_gizmo_ruler.c.
References wmOperatorType::flag, wmOperatorType::idname, wmOperatorType::invoke, wmOperatorType::name, OPTYPE_INTERNAL, OPTYPE_UNDO, ot, wmOperatorType::poll, view3d_ruler_poll(), and view3d_ruler_remove_invoke().
Referenced by view3d_operatortypes().
|
static |
Definition at line 1289 of file view3d_gizmo_ruler.c.
References BKE_report(), C, RulerItem::co, RulerInteraction::co_index, copy_v3_v3(), CTX_data_ensure_evaluated_depsgraph(), CTX_wm_region(), CTX_wm_view3d(), wmGizmoGroup::customdata, depsgraph, RulerInteraction::drag_start_co, RulerInfo::gizmo, View3D::gizmo_flag, ARegion::gizmo_map, gizmo_ruler_check_for_operator(), RulerItem::gz, wmGizmo::highlight_part, wmGizmo::interaction_data, negate_v3_v3(), NULL, OB_SOLID, RegionView3D::ofs, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_RUNNING_MODAL, RulerInfo::prop_prevpoint, wmGizmo::ptr, ARegion::regiondata, wmOperator::reports, RNA_property_float_set_array(), RPT_WARNING, ruler_item_add(), View3D::shading, RulerInfo::snap_data, View3DShading::type, USE_SNAP_DETECT_FROM_KEYMAP_HACK, V3D_GIZMO_HIDE, V3D_GIZMO_HIDE_TOOL, view3d_gzgt_ruler_id, view3d_ruler_item_mousemove(), view3d_ruler_item_project(), WM_event_drag_start_mval(), WM_gizmo_highlight_set(), WM_gizmomap_group_find(), WM_OP_INVOKE_REGION_WIN, and WM_operator_name_call().
Referenced by VIEW3D_OT_ruler_add().
|
static |
Definition at line 570 of file view3d_gizmo_ruler.c.
References BKE_gpencil_layer_frame_get(), C, RenderData::cfra, RulerItem::co, copy_v3_v3(), CTX_data_scene(), ListBase::first, RulerItem::flag, GP_GETFRAME_USE_PREV, Scene::gpd, bGPDstroke::next, NULL, bGPDstroke::points, Scene::r, ruler_item_add(), RULERITEM_USE_ANGLE, scene, bGPDframe::strokes, bGPDstroke::totpoints, view3d_ruler_layer_get(), and bGPDspoint::x.
Referenced by WIDGETGROUP_ruler_setup().
|
static |
Use for mouse-move events.
Definition at line 323 of file view3d_gizmo_ruler.c.
References RulerInfo::area, BKE_scene_orientation_get_index(), C, RulerItem::co, RulerInteraction::co_index, RulerInfo::constrain_axis, RulerInfo::constrain_mode, CONSTRAIN_MODE_2, CONSTRAIN_MODE_OFF, copy_v3_v3(), DEG_get_input_scene(), DEG_get_input_view_layer(), depsgraph, RulerInteraction::drag_start_co, ED_gizmotypes_snap_3d_context_ensure(), ED_gizmotypes_snap_3d_data_get(), ED_gizmotypes_snap_3d_is_enabled(), ED_transform_calc_orientation_from_type_ex(), ED_transform_snap_object_project_ray(), ED_transform_snap_object_project_view3d(), ListBase::first, RulerItem::flag, RulerInfo::gizmo, RulerItem::gz, wmGizmo::interaction_data, invert_m3(), madd_v3_v3v3fl(), mul_m3_m3_pre(), MVAL_MAX_PX_DIST, negate_v3(), NULL, OBACT, OBEDIT_FROM_OBACT, RulerInfo::prop_prevpoint, wmGizmo::ptr, RulerInfo::region, ARegion::regiondata, RNA_property_float_set_array(), RULERITEM_USE_ANGLE, SCE_ORIENT_DEFAULT, SCE_SNAP_MODE_FACE_RAYCAST, SCE_SNAP_TARGET_ALL, scene, RulerInfo::snap_data, SNAP_GEOM_CAGE, ScrArea::spacedata, Scene::toolsettings, ToolSettings::transform_pivot_point, UNPACK2, V3D_ORIENT_GLOBAL, V3D_ORIENT_LOCAL, and view3d_ruler_item_project().
Referenced by gizmo_ruler_invoke(), gizmo_ruler_modal(), and view3d_ruler_add_invoke().
|
static |
Definition at line 315 of file view3d_gizmo_ruler.c.
References RulerInfo::area, ED_view3d_win_to_3d_int(), ListBase::first, RulerInfo::region, ScrArea::spacedata, and xy.
Referenced by view3d_ruler_add_invoke(), and view3d_ruler_item_mousemove().
Definition at line 479 of file view3d_gizmo_ruler.c.
References GP_LAYER_IS_RULER, bGPdata::layers, LISTBASE_FOREACH, and NULL.
Referenced by view3d_ruler_from_gpencil(), and view3d_ruler_to_gpencil().
|
static |
Definition at line 222 of file view3d_gizmo_ruler.c.
References RulerItem::co, wmGizmoGroup::customdata, dist_squared_to_line_segment_v2(), ED_view3d_project_float_global(), RulerItem::flag, len_squared_v2v2(), min_axis_v3(), min_ff(), min_fff(), RulerInfo::region, RULER_PICK_DIST_SQ, RULERITEM_USE_ANGLE, UNPACK2, UNPACK3, and V3D_PROJ_TEST_NOP.
Referenced by gizmo_ruler_test_select().
Definition at line 1279 of file view3d_gizmo_ruler.c.
References C, CTX_wm_region_view3d(), bToolRef_Runtime::gizmo_group, NULL, STREQ, view3d_gzgt_ruler_id, and WM_toolsystem_runtime_from_context().
Referenced by VIEW3D_OT_ruler_add(), and VIEW3D_OT_ruler_remove().
|
static |
Definition at line 1374 of file view3d_gizmo_ruler.c.
References BKE_report(), C, CTX_wm_region(), CTX_wm_view3d(), wmGizmoGroup::customdata, ED_region_tag_redraw_editor_overlays(), RulerItem::flag, View3D::gizmo_flag, ARegion::gizmo_map, gizmo_ruler_check_for_operator(), RulerInfo::item_active, OPERATOR_CANCELLED, OPERATOR_FINISHED, OPERATOR_PASS_THROUGH, wmOperator::reports, RPT_WARNING, ruler_item_remove(), RULERITEM_USE_ANGLE, RULERITEM_USE_ANGLE_ACTIVE, V3D_GIZMO_HIDE, V3D_GIZMO_HIDE_TOOL, view3d_gzgt_ruler_id, view3d_ruler_to_gpencil(), and WM_gizmomap_group_find().
Referenced by VIEW3D_OT_ruler_remove().
|
static |
Definition at line 499 of file view3d_gizmo_ruler.c.
References bGPDstroke::aspect_ratio, BKE_gpencil_data_addnew(), BKE_gpencil_free_strokes(), BKE_gpencil_layer_addnew(), BKE_gpencil_layer_frame_get(), BLI_addtail(), C, RenderData::cfra, RulerItem::co, bGPDlayer::color, copy_v2_fl(), copy_v3_v3(), copy_v4_v4(), CTX_data_main(), CTX_data_scene(), bGPDstroke::fill_opacity_fac, RulerItem::flag, bGPDstroke::flag, bGPDlayer::flag, GP_GETFRAME_ADD_NEW, GP_LAYER_HIDE, GP_LAYER_IS_RULER, GP_STROKE_3DSPACE, Scene::gpd, RulerItem::gz, gzgroup_ruler_item_first_get(), bGPDstroke::hardeness, MEM_callocN, wmGizmo::next, NULL, bGPDstroke::points, bGPDspoint::pressure, Scene::r, RULER_ID, RULERITEM_USE_ANGLE, scene, bGPDspoint::strength, bGPDframe::strokes, bGPDstroke::thickness, bGPDlayer::thickness, bGPDstroke::totpoints, bGPDstroke::uv_scale, view3d_ruler_layer_get(), and bGPDspoint::x.
Referenced by gizmo_ruler_exit(), and view3d_ruler_remove_invoke().
|
static |
Definition at line 1221 of file view3d_gizmo_ruler.c.
References blender::compositor::area(), RulerInfo::area, C, CTX_wm_area(), CTX_wm_manager(), CTX_wm_region(), CTX_wm_window(), wmGizmoGroup::customdata, ED_gizmotypes_snap_3d_flag_set(), RulerInfo::gizmo, MEM_callocN, NULL, ot, RulerInfo::prop_prevpoint, wmGizmo::ptr, RulerInfo::region, RNA_enum_set(), RNA_struct_find_property(), SCE_SNAP_MODE_GEOM, RulerInfo::snap_data, V3D_SNAPCURSOR_SNAP_EDIT_GEOM_CAGE, view3d_ruler_from_gpencil(), RulerInfo::win, RulerInfo::wm, WM_gizmo_new_ptr(), WM_gizmo_operator_set(), WM_gizmo_set_color(), WM_gizmotype_find(), and WM_operatortype_find().
Referenced by VIEW3D_GGT_ruler().
|
static |
Definition at line 66 of file view3d_gizmo_ruler.c.
Referenced by VIEW3D_GGT_ruler(), view3d_ruler_add_invoke(), view3d_ruler_poll(), and view3d_ruler_remove_invoke().