Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
actions-canvas-snapping.cpp File Reference

Go to the source code of this file.

Typedefs

typedef std::vector< SnapInfo > SnapVector
 
typedef std::unordered_map< SnapTargetType, Glib::ustring > SnapMap
 

Functions

void set_actions_canvas_snapping (Gio::ActionMap &map)
 
const SnapMapget_snap_map ()
 
const SnapVectorget_snap_vect ()
 
SnapPreferencesget_snapping_preferences ()
 
void store_snapping_action (const Glib::ustring &action_name, bool enabled)
 
void set_canvas_snapping (SnapTargetType type, bool enabled)
 
void update_actions (Gio::ActionMap &map)
 
static void canvas_snapping_toggle (Gio::ActionMap &map, SnapTargetType type)
 
void set_simple_snap (SimpleSnap option, bool value)
 
void toggle_simple_snap_option (Gio::ActionMap &map, SimpleSnap option)
 
void apply_simple_snap_defaults (Gio::ActionMap &map)
 
void add_actions_canvas_snapping (Gio::ActionMap *map)
 
void set_actions_canvas_snapping_helper (Gio::ActionMap &map, Glib::ustring action_name, bool state, bool enabled)
 
void transition_to_simple_snapping ()
 Simple snapping groups existing "advanced" options into three easy to understand choices (bounding box, nodes, alignment snap).
 

Variables

SnapVector snap_bbox
 
SnapVector snap_node
 
SnapVector snap_alignment
 
SnapVector snap_all_the_rest
 
struct { 
 
   const char *   action_name 
 
   SimpleSnap   option 
 
   bool   set 
 
simple_snap_options [] 
 
const Glib::ustring snap_pref_path = "/options/snapping/"
 
const Glib::ustring global_toggle = "snap-global-toggle"
 
const Glib::ustring SECTION = NC_("Action Section", "Snap")
 
std::vector< std::vector< Glib::ustring > > raw_data_canvas_snapping
 

Typedef Documentation

◆ SnapMap

typedef std::unordered_map<SnapTargetType, Glib::ustring> SnapMap

Definition at line 43 of file actions-canvas-snapping.cpp.

◆ SnapVector

typedef std::vector<SnapInfo> SnapVector

Definition at line 42 of file actions-canvas-snapping.cpp.

Function Documentation

◆ add_actions_canvas_snapping()

◆ apply_simple_snap_defaults()

void apply_simple_snap_defaults ( Gio::ActionMap &  map)

◆ canvas_snapping_toggle()

static void canvas_snapping_toggle ( Gio::ActionMap &  map,
SnapTargetType  type 
)
static

◆ get_snap_map()

const SnapMap & get_snap_map ( )

Definition at line 92 of file actions-canvas-snapping.cpp.

References snap_alignment, snap_all_the_rest, snap_bbox, and snap_node.

Referenced by set_canvas_snapping().

◆ get_snap_vect()

const SnapVector & get_snap_vect ( )

◆ get_snapping_preferences()

◆ set_actions_canvas_snapping()

◆ set_actions_canvas_snapping_helper()

void set_actions_canvas_snapping_helper ( Gio::ActionMap &  map,
Glib::ustring  action_name,
bool  state,
bool  enabled 
)

Definition at line 321 of file actions-canvas-snapping.cpp.

References action_name, and show_output().

Referenced by set_actions_canvas_snapping().

◆ set_canvas_snapping()

◆ set_simple_snap()

◆ store_snapping_action()

void store_snapping_action ( const Glib::ustring &  action_name,
bool  enabled 
)

◆ toggle_simple_snap_option()

void toggle_simple_snap_option ( Gio::ActionMap &  map,
SimpleSnap  option 
)

◆ transition_to_simple_snapping()

void transition_to_simple_snapping ( )

Simple snapping groups existing "advanced" options into three easy to understand choices (bounding box, nodes, alignment snap).

Behind the scene the same snapping properties to used. When entering "simple" mode those snapping properties need to be set to the correct default values; advanced mode affords complete freedom in selecting them, simple mode restricts them.

Definition at line 404 of file actions-canvas-snapping.cpp.

References apply_simple_snap_defaults().

Referenced by get_snapping_preferences().

◆ update_actions()

void update_actions ( Gio::ActionMap &  map)

Variable Documentation

◆ action_name

◆ global_toggle

const Glib::ustring global_toggle = "snap-global-toggle"

◆ option

◆ raw_data_canvas_snapping

std::vector<std::vector<Glib::ustring> > raw_data_canvas_snapping

Definition at line 245 of file actions-canvas-snapping.cpp.

Referenced by add_actions_canvas_snapping().

◆ SECTION

const Glib::ustring SECTION = NC_("Action Section", "Snap")

Definition at line 243 of file actions-canvas-snapping.cpp.

◆ set

bool set

Definition at line 86 of file actions-canvas-snapping.cpp.

Referenced by SPGrid::_checkOldGrid(), Inkscape::Extension::ParamColor::_onColorButtonChanged(), Inkscape::ObjectSet::_pathBoolOp(), Inkscape::SelTrans::_updateHandles(), SPItem::adjust_clip(), SPItem::adjust_gradient(), SPItem::adjust_hatch(), SPItem::adjust_pattern(), Inkscape::BooleanBuilder::BooleanBuilder(), SPFeComponentTransfer::build_renderer(), Inkscape::UI::Syntax::build_xml_styles(), SPIEnum< T >::cascade(), Inkscape::UI::Tools::cc_generic_knot_handler(), Inkscape::UI::Widget::CellRendererItemIcon::CellRendererItemIcon(), Inkscape::ObjectSet::cloneOriginal(), Inkscape::ObjectSet::cloneOriginalPathLPE(), Inkscape::ObjectSet::combine(), file_import_pages(), Inkscape::UI::Tools::fit_item(), get_glyphs(), GrDragger::getMgCorner(), SPMeshPatchI::getTensorPoint(), Inkscape::ObjectSet::group(), Persp3D::has_all_boxes_in_selection(), Inkscape::FontCollections::is_font_in_collection(), SPStyle::isSet(), SPIEnum< T >::merge(), SPPage::moveItems(), straightener::Edge::nodePath(), object_set_contains_both_clone_and_original(), object_set_contains_original(), objects_query_baselines(), objects_query_fontstyle(), objects_query_fontvariants(), objects_query_writing_modes(), Inkscape::LivePathEffect::TextParam::param_newWidget(), Inkscape::LivePathEffect::ScalarParam::param_transform_multiply(), Inkscape::UI::Widget::FontList::populate_font_store(), SPIEnum< T >::read(), Inkscape::Colors::ColorSet::set(), Inkscape::Colors::Color::set(), Geom::xAx::set(), Geom::xAx::set(), SVGBox::set(), SVGBox::set(), Inkscape::NRStyleData::Paint::set(), Inkscape::Colors::Color::set(), Inkscape::ObjectSet::set(), Inkscape::Selection::set(), Inkscape::UI::Widget::ComboBoxEntryToolItem::set_active_text(), Inkscape::Selection::setAnchor(), Inkscape::ObjectSet::setClipGroup(), SPKnot::setFlag(), SPObject::setKeyValue(), Inkscape::UI::MultiPathManipulator::setLiveObjects(), Inkscape::UI::PathManipulator::setLiveObjects(), Inkscape::UI::MultiPathManipulator::setLiveOutline(), Inkscape::UI::PathManipulator::setLiveOutline(), Inkscape::ObjectSet::setMask(), SPMeshPatchI::setPoint(), SPRect::setRx(), SPRect::setRy(), Inkscape::MessageContext::setVF(), sp_desktop_set_style(), sp_gradient_transform_multiply(), sp_marker_flip_horizontally(), Inkscape::UI::Tools::sp_spray_dilate(), Inkscape::UI::Tools::sp_spray_recursive(), Inkscape::Extension::ParamColor::string_to_value(), SVGBox::SVGBox(), Inkscape::ObjectSet::swapFillStroke(), Geom::Sweeper< SweepSet >::Sweeper(), Inkscape::ObjectSet::tile(), Inkscape::UI::Tools::ToolBase::ToolBase(), Inkscape::ObjectSet::toSymbol(), SPHatch::transform_multiply(), SPPattern::transform_multiply(), SPClipPath::transform_multiply(), ungroup_impl(), SPIEnum< T >::update_value_merge(), SPMeshPatchI::updateNodes(), Geom::xAx::xAx(), Geom::xAx::xAx(), Geom::xAx::xAx(), Geom::xAx::xAx(), Geom::xAx::xAx(), Geom::xAx::xAx(), Geom::xAx::xAx(), and Inkscape::XML::SignalObserver::~SignalObserver().

◆ [struct]

const struct { ... } simple_snap_options[]
Initial value:
= {
{ "simple-snap-bbox", SimpleSnap::BBox, true },
{ "simple-snap-nodes", SimpleSnap::Nodes, true },
{ "simple-snap-alignment", SimpleSnap::Alignment, false }
}

Referenced by add_actions_canvas_snapping(), get_snapping_preferences(), and set_simple_snap().

◆ snap_alignment

SnapVector snap_alignment
Initial value:
= {
{ "snap-alignment", SNAPTARGET_ALIGNMENT_CATEGORY, true },
{ "snap-alignment-self", SNAPTARGET_ALIGNMENT_HANDLE, false },
{ "snap-distribution", SNAPTARGET_DISTRIBUTION_CATEGORY, true },
}
@ SNAPTARGET_ALIGNMENT_CATEGORY
Definition snap-enums.h:125
@ SNAPTARGET_DISTRIBUTION_CATEGORY
Definition snap-enums.h:139
@ SNAPTARGET_ALIGNMENT_HANDLE
Definition snap-enums.h:134

Definition at line 64 of file actions-canvas-snapping.cpp.

Referenced by get_snap_map(), get_snap_vect(), and set_simple_snap().

◆ snap_all_the_rest

SnapVector snap_all_the_rest
Initial value:
= {
{ "snap-others", SNAPTARGET_OTHERS_CATEGORY, true },
{ "snap-object-midpoint", SNAPTARGET_OBJECT_MIDPOINT, false },
{ "snap-rotation-center", SNAPTARGET_ROTATION_CENTER, false },
{ "snap-text-baseline", SNAPTARGET_TEXT_BASELINE, true },
{ "snap-path-mask", SNAPTARGET_PATH_MASK, true },
{ "snap-path-clip", SNAPTARGET_PATH_CLIP, true },
{ "snap-page-border", SNAPTARGET_PAGE_EDGE_BORDER, true },
{ "snap-page-margin", SNAPTARGET_PAGE_MARGIN_BORDER, true },
{ "snap-grid", SNAPTARGET_GRID, true },
{ "snap-grid-line", SNAPTARGET_GRID_LINE, true },
{ "snap-guide", SNAPTARGET_GUIDE, true },
}
@ SNAPTARGET_PAGE_MARGIN_BORDER
Definition snap-enums.h:108
@ SNAPTARGET_ROTATION_CENTER
Definition snap-enums.h:117
@ SNAPTARGET_OTHERS_CATEGORY
Definition snap-enums.h:114
@ SNAPTARGET_PATH_CLIP
Definition snap-enums.h:90
@ SNAPTARGET_GUIDE
Definition snap-enums.h:100
@ SNAPTARGET_PAGE_EDGE_BORDER
Definition snap-enums.h:105
@ SNAPTARGET_GRID
Definition snap-enums.h:96
@ SNAPTARGET_TEXT_BASELINE
Definition snap-enums.h:119
@ SNAPTARGET_PATH_MASK
Definition snap-enums.h:91
@ SNAPTARGET_OBJECT_MIDPOINT
Definition snap-enums.h:115
@ SNAPTARGET_GRID_LINE
Definition snap-enums.h:97

Definition at line 71 of file actions-canvas-snapping.cpp.

Referenced by get_snap_map(), get_snap_vect(), set_simple_snap(), and toggle_simple_snap_option().

◆ snap_bbox

SnapVector snap_bbox
Initial value:
= {
{ "snap-bbox", SNAPTARGET_BBOX_CATEGORY, true },
{ "snap-bbox-edge", SNAPTARGET_BBOX_EDGE, true },
{ "snap-bbox-corner", SNAPTARGET_BBOX_CORNER, true },
{ "snap-bbox-edge-midpoint", SNAPTARGET_BBOX_EDGE_MIDPOINT, false },
{ "snap-bbox-center", SNAPTARGET_BBOX_MIDPOINT, false },
}
@ SNAPTARGET_BBOX_EDGE_MIDPOINT
Definition snap-enums.h:78
@ SNAPTARGET_BBOX_MIDPOINT
Definition snap-enums.h:79
@ SNAPTARGET_BBOX_EDGE
Definition snap-enums.h:77
@ SNAPTARGET_BBOX_CORNER
Definition snap-enums.h:76
@ SNAPTARGET_BBOX_CATEGORY
Definition snap-enums.h:73

Definition at line 45 of file actions-canvas-snapping.cpp.

Referenced by get_snap_map(), get_snap_vect(), and set_simple_snap().

◆ snap_node

SnapVector snap_node
Initial value:
= {
{ "snap-node-category", SNAPTARGET_NODE_CATEGORY, true },
{ "snap-path", SNAPTARGET_PATH, true },
{ "snap-path-intersection", SNAPTARGET_PATH_INTERSECTION, false },
{ "snap-node-cusp", SNAPTARGET_NODE_CUSP, true },
{ "snap-node-smooth", SNAPTARGET_NODE_SMOOTH, true },
{ "snap-line-midpoint", SNAPTARGET_LINE_MIDPOINT, true },
{ "snap-line-tangential", SNAPTARGET_PATH_TANGENTIAL, false },
{ "snap-line-perpendicular", SNAPTARGET_PATH_PERPENDICULAR, false },
}
@ SNAPTARGET_PATH
Definition snap-enums.h:85
@ SNAPTARGET_NODE_CUSP
Definition snap-enums.h:83
@ SNAPTARGET_LINE_MIDPOINT
Definition snap-enums.h:84
@ SNAPTARGET_NODE_SMOOTH
Definition snap-enums.h:82
@ SNAPTARGET_NODE_CATEGORY
Definition snap-enums.h:81
@ SNAPTARGET_PATH_TANGENTIAL
Definition snap-enums.h:87
@ SNAPTARGET_PATH_PERPENDICULAR
Definition snap-enums.h:86
@ SNAPTARGET_PATH_INTERSECTION
Definition snap-enums.h:88

Definition at line 53 of file actions-canvas-snapping.cpp.

Referenced by get_snap_map(), get_snap_vect(), and set_simple_snap().

◆ snap_pref_path

const Glib::ustring snap_pref_path = "/options/snapping/"