Inkscape
Vector Graphics Editor
Inkscape Namespace Reference

CMYK to sRGB conversion routines. More...

Namespaces

namespace  Algorithms
 Some STL-style algorithms.
 
namespace  Async
 
namespace  canvas_event_detail
 
namespace  Debug
 Debugging utilities.
 
namespace  Display
 Rendering-related code.
 
namespace  Extension
 Extension support.
 
namespace  Filters
 
namespace  FrameCheck
 
namespace  GC
 Boehm-GC based garbage collector.
 
namespace  Handles
 Classes related to control handle styling.
 
namespace  IO
 Low-level IO code.
 
namespace  LivePathEffect
 Live Path Effects code.
 
namespace  Modifiers
 
namespace  NodePath
 
namespace  SelectionHelper
 
namespace  SVG
 
namespace  Text
 
namespace  Trace
 Tracing backend.
 
namespace  Traits
 
namespace  UI
 User interface code.
 
namespace  ustring
 
namespace  Util
 Miscellaneous supporting code.
 
namespace  XML
 @Inkscape XML tree.
 
namespace  Xml
 

Classes

struct  accel_key_less
 
class  AlignmentSnapper
 Snapping things to on-canvas alignment guides. More...
 
class  Application
 
class  auto_connection
 
class  AutoSave
 
class  BadURIException
 
class  BooleanBuilder
 
struct  ButtonEvent
 Abstract event for mouse button (left/right/middle). More...
 
struct  ButtonPressEvent
 A mouse button (left/right/middle) is pressed. More...
 
struct  ButtonReleaseEvent
 A mouse button (left/right/middle) is released. More...
 
struct  CacheRecord
 
struct  CairoPatternFreer
 
struct  CanvasEvent
 Abstract base class for events. More...
 
class  CanvasItem
 
class  CanvasItemBpath
 
struct  CanvasItemBuffer
 Class used when rendering canvas items. More...
 
class  CanvasItemCatchall
 
class  CanvasItemContext
 
class  CanvasItemCtrl
 
class  CanvasItemCurve
 
class  CanvasItemDrawing
 
class  CanvasItemGrid
 
class  CanvasItemGridAxonom
 Canvas Item for axonometric grids. More...
 
class  CanvasItemGridTiles
 
class  CanvasItemGridXY
 Canvas Item for rectangular grids. More...
 
class  CanvasItemGroup
 
class  CanvasItemGuideHandle
 
class  CanvasItemGuideLine
 
class  CanvasItemQuad
 
class  CanvasItemRect
 
class  CanvasItemText
 
class  CanvasPage
 
class  CMSSystem
 
class  CMSTransform
 
class  CmykConverter
 
class  ColorProfile
 Color Profile. More...
 
class  ColorProfileClassSig
 
class  ColorProfileClassSigWrapper
 
class  ColorSpaceSig
 
class  ColorSpaceSigWrapper
 
class  CompositeUndoStackObserver
 Aggregates UndoStackObservers for management and triggering in an SPDocument's undo/redo system. More...
 
class  ConsoleOutputUndoObserver
 Inkscape::ConsoleOutputUndoObserver - observer for tracing calls to SPDocumentUndo::undo, SPDocumentUndo::redo, SPDocumentUndo::maybe_done. More...
 
class  CSSOStringStream
 A thin wrapper around std::ostringstream, but writing floating point numbers in the format required by CSS: ‘. More...
 
class  DistributionSnapper
 Snapping equidistant objects. More...
 
class  DocumentFonts
 
class  DocumentSubset
 
class  DocumentUndo
 
class  Drawing
 
class  DrawingCache
 
class  DrawingContext
 Minimal wrapper over Cairo. More...
 
class  DrawingGlyphs
 
class  DrawingGradient
 The base class for all gradients. More...
 
class  DrawingGroup
 
class  DrawingImage
 
class  DrawingItem
 SVG drawing item for display. More...
 
class  DrawingLinearGradient
 A linear gradient. More...
 
class  DrawingMeshGradient
 A mesh gradient. More...
 
class  DrawingPaintServer
 A DrawingPaintServer is a lightweight copy of the resources needed to paint using a paint server. More...
 
class  DrawingPattern
 Drawing tree node used for rendering paints. More...
 
class  DrawingRadialGradient
 A radial gradient. More...
 
class  DrawingShape
 
class  DrawingSolidColor
 A simple solid color, storing an RGB color and an opacity. More...
 
class  DrawingSurface
 Drawing surface that remembers its origin. More...
 
class  DrawingText
 
struct  EnterEvent
 The pointer has entered a widget or item. More...
 
class  ErrorReporter
 
class  Event
 
class  EventLog
 A simple log for maintaining a history of committed, undone and redone events along with their type. More...
 
class  EventMask
 A mask representing a subset of EventTypes. More...
 
struct  ExtendedInput
 Extended input data associated to events generated by graphics tablets. More...
 
class  FilteredStore
 
struct  FontCollection
 
class  FontCollections
 
class  FontLister
 This class enumerates fonts using libnrtype into reusable data stores and allows for random access to the font-family list and the font-style list. More...
 
class  FourCCSig
 Opaque holder of a 32-bit signature type. More...
 
class  GridSnapper
 Snapper class for grids. More...
 
class  GuideSnapper
 Snap to guides. More...
 
struct  hashed
 
class  ICCProfileInfo
 
struct  InvalidItemException
 
struct  is_group
 
struct  is_item
 
struct  ItemPair
 
struct  KeyEvent
 A key has been pressed. More...
 
struct  KeyPressEvent
 A key has been pressed. More...
 
struct  KeyReleaseEvent
 A key has been released. More...
 
class  LayerManager
 
struct  LeaveEvent
 The pointer has exited a widget or item. More...
 
class  LineSnapper
 Superclass for snappers to horizontal and vertical lines. More...
 
class  MalformedURIException
 
class  MessageContext
 A convenience class for working with MessageStacks. More...
 
class  MessageStack
 A class which holds a stack of displayed messages. More...
 
struct  MotionEvent
 Movement of the mouse pointer. More...
 
class  NRStyle
 
struct  NRStyleData
 
class  object_renderer
 
struct  object_to_group
 
struct  object_to_item
 
struct  object_to_node
 
class  ObjectHierarchy
 An Inkscape::ObjectHierarchy is useful for situations where one wishes to keep a reference to an SPObject, but fall back on one of its ancestors when that object is removed. More...
 
class  ObjectSet
 
class  ObjectSnapper
 Snapping things to objects. More...
 
class  PageManager
 
class  PaperSize
 Data class used to store common paper dimensions from pages.csv. More...
 
class  PatternManager
 
class  Pixbuf
 Class to hold image data for raster images. More...
 
struct  Pref
 Proxy object providing a "live value" interface. More...
 
class  Pref< bool >
 
class  Pref< double >
 
class  Pref< Glib::ustring >
 
class  Pref< int >
 
class  Pref< void >
 
class  PrefBase
 
class  Preferences
 Preference storage class. More...
 
class  ProfileManager
 
class  PureRotateConstrained
 
class  PureScale
 
class  PureScaleConstrained
 
class  PureSkewConstrained
 
class  PureStretchConstrained
 
class  PureTransform
 
class  PureTranslate
 
class  PureTranslateConstrained
 
struct  random_access
 
class  RecentlyUsedFonts
 
struct  RenderContext
 
class  Rubberband
 Rubberbanding selector. More...
 
struct  ScrollEvent
 Scroll the item or widget by the provided amount. More...
 
class  SelCue
 
class  Selection
 The set of selected SPObjects for a given document and layer model. More...
 
class  SelectionDescriber
 
class  SelTrans
 
class  Shortcuts
 
class  SnapCandidateItem
 
class  SnapCandidatePath
 
class  SnapCandidatePoint
 Class to store data for points which are snap candidates, either as a source or as a target. More...
 
class  SnappedCurve
 Class describing the result of an attempt to snap to a curve. More...
 
class  SnappedLine
 Class describing the result of an attempt to snap to a line. More...
 
class  SnappedLineSegment
 Class describing the result of an attempt to snap to a line segment. More...
 
class  SnappedPoint
 Class describing the result of an attempt to snap. More...
 
class  Snapper
 Parent for classes that can snap points to something. More...
 
class  SnapPreferences
 Storing of snapping preferences. More...
 
class  SPWeakPtr
 A weak pointer to an SPObject: it nulls itself upon the object's destruction. More...
 
class  SubItem
 When an item is broken, each broken part is represented by the SubItem class. More...
 
class  svg_renderer
 
class  SVGIStringStream
 
class  SVGOStringStream
 
class  UndoStackObserver
 Observes changes made to the undo and redo stacks. More...
 
class  UnsupportedURIException
 
struct  UpdateContext
 
class  URI
 Represents an URI as per RFC 2396. More...
 
class  URIReference
 A class encapsulating a reference to a particular URI; observers can be notified when the URI comes to reference a different SPObject. More...
 
struct  VariantVisitor
 
class  Version
 

Typedefs

using CacheList = std::list< CacheRecord >
 
using CairoPatternUniqPtr = std::unique_ptr< cairo_pattern_t, CairoPatternFreer >
 
using StartMethod = void(Gtk::FileDialog::*)(Gtk::Window &, Gio::SlotAsyncReady const &, Glib::RefPtr< Gio::Cancellable > const &)
 
using FinishMethod = Glib::RefPtr< Gio::File >(Gtk::FileDialog::*)(Glib::RefPtr< Gio::AsyncResult > const &)
 
using MessageId = std::uint_least32_t
 An integer ID which identifies a displayed message in a particular Inkscape::MessageStack. More...
 
typedef boost::multi_index_container< SPObject *, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::random_access< boost::multi_index::tag< random_access > >, boost::multi_index::hashed_unique< boost::multi_index::tag< hashed >, boost::multi_index::identity< SPObject * > > > > MultiIndexContainer
 
typedef boost::any_range< SPObject *, boost::random_access_traversal_tag, SPObject *const &, std::ptrdiff_t > SPObjectRange
 
typedef ObjectSet::SPItemRange SPItemRange
 
typedef ObjectSet::SPGroupRange SPGroupRange
 
typedef ObjectSet::XMLNodeRange XMLNodeRange
 
typedef std::unique_ptr< Preferences::PreferencesObserverPrefObserver
 
typedef std::tuple< std::string, std::string, std::string, std::uint32_t, std::uint32_t, double, double, bool, int > Key
 
using VisualItem = CanvasItemPtr< CanvasItemBpath >
 
using PathvectorItems = std::vector< PathvectorItem >
 
using WorkItem = std::shared_ptr< SubItem >
 
using WorkItems = std::vector< WorkItem >
 

Enumerations

enum class  HandleSize {
  XTINY = -4 , TINY = -2 , SMALL = -1 , NORMAL = 0 ,
  LARGE = 1
}
 
enum  CanvasItemColor { CANVAS_ITEM_PRIMARY , CANVAS_ITEM_SECONDARY , CANVAS_ITEM_TERTIARY }
 
enum  CanvasItemCtrlShape {
  CANVAS_ITEM_CTRL_SHAPE_SQUARE , CANVAS_ITEM_CTRL_SHAPE_DIAMOND , CANVAS_ITEM_CTRL_SHAPE_CIRCLE , CANVAS_ITEM_CTRL_SHAPE_TRIANGLE ,
  CANVAS_ITEM_CTRL_SHAPE_CROSS , CANVAS_ITEM_CTRL_SHAPE_PLUS , CANVAS_ITEM_CTRL_SHAPE_PIVOT , CANVAS_ITEM_CTRL_SHAPE_DARROW ,
  CANVAS_ITEM_CTRL_SHAPE_SARROW , CANVAS_ITEM_CTRL_SHAPE_CARROW , CANVAS_ITEM_CTRL_SHAPE_SALIGN , CANVAS_ITEM_CTRL_SHAPE_CALIGN ,
  CANVAS_ITEM_CTRL_SHAPE_MALIGN , CANVAS_ITEM_CTRL_SHAPE_TRIANGLE_ANGLED
}
 
enum  CanvasItemCtrlType {
  CANVAS_ITEM_CTRL_TYPE_DEFAULT , CANVAS_ITEM_CTRL_TYPE_ADJ_HANDLE , CANVAS_ITEM_CTRL_TYPE_ADJ_SKEW , CANVAS_ITEM_CTRL_TYPE_ADJ_ROTATE ,
  CANVAS_ITEM_CTRL_TYPE_ADJ_CENTER , CANVAS_ITEM_CTRL_TYPE_ADJ_SALIGN , CANVAS_ITEM_CTRL_TYPE_ADJ_CALIGN , CANVAS_ITEM_CTRL_TYPE_ADJ_MALIGN ,
  CANVAS_ITEM_CTRL_TYPE_ANCHOR , CANVAS_ITEM_CTRL_TYPE_POINT , CANVAS_ITEM_CTRL_TYPE_ROTATE , CANVAS_ITEM_CTRL_TYPE_MARGIN ,
  CANVAS_ITEM_CTRL_TYPE_CENTER , CANVAS_ITEM_CTRL_TYPE_SIZER , CANVAS_ITEM_CTRL_TYPE_SHAPER , CANVAS_ITEM_CTRL_TYPE_MARKER ,
  CANVAS_ITEM_CTRL_TYPE_MESH , CANVAS_ITEM_CTRL_TYPE_LPE , CANVAS_ITEM_CTRL_TYPE_NODE_AUTO , CANVAS_ITEM_CTRL_TYPE_NODE_CUSP ,
  CANVAS_ITEM_CTRL_TYPE_NODE_SMOOTH , CANVAS_ITEM_CTRL_TYPE_NODE_SYMMETRICAL , CANVAS_ITEM_CTRL_TYPE_INVISIPOINT , CANVAS_ITEM_CTRL_TYPE_GUIDE_HANDLE ,
  CANVAS_ITEM_CTRL_TYPE_POINTER , CANVAS_ITEM_CTRL_TYPE_MOVE , LAST_ITEM_CANVAS_ITEM_CTRL_TYPE
}
 
enum class  Antialiasing : unsigned char { None , Fast , Good , Best }
 
enum class  RenderMode {
  NORMAL , OUTLINE , NO_FILTERS , VISIBLE_HAIRLINES ,
  OUTLINE_OVERLAY , size
}
 
enum class  SplitMode { NORMAL , SPLIT , XRAY , size }
 
enum class  SplitDirection {
  NONE , NORTH , EAST , SOUTH ,
  WEST , HORIZONTAL , VERTICAL
}
 
enum class  ColorMode { NORMAL , GRAYSCALE , PRINT_COLORS_PREVIEW }
 
enum class  PdfImportType : unsigned char { PDF_IMPORT_INTERNAL , PDF_IMPORT_CAIRO }
 
enum  LineJoinType {
  JOIN_BEVEL , JOIN_ROUND , JOIN_MITER , JOIN_MITER_CLIP ,
  JOIN_EXTRAPOLATE , JOIN_EXTRAPOLATE1 , JOIN_EXTRAPOLATE2 , JOIN_EXTRAPOLATE3
}
 
enum  LineCapType { BUTT_FLAT , BUTT_ROUND , BUTT_SQUARE , BUTT_PEAK }
 
enum  LayerRelativePosition { LPOS_ABOVE , LPOS_CHILD , LPOS_BELOW }
 
enum  MessageType {
  NORMAL_MESSAGE , IMMEDIATE_MESSAGE , WARNING_MESSAGE , ERROR_MESSAGE ,
  INFORMATION_MESSAGE
}
 A hint about the meaning of a message; is it an ordinary message, a message advising the user of some significant or unexpected condition, or a message indicating an unambiguous error. More...
 
enum  {
  RENDERING_INTENT_UNKNOWN = 0 , RENDERING_INTENT_AUTO = 1 , RENDERING_INTENT_PERCEPTUAL = 2 , RENDERING_INTENT_RELATIVE_COLORIMETRIC = 3 ,
  RENDERING_INTENT_SATURATION = 4 , RENDERING_INTENT_ABSOLUTE_COLORIMETRIC = 5
}
 
enum  PaintTarget { FOR_FILL , FOR_STROKE }
 
enum  SnapSourceType {
  SNAPSOURCE_UNDEFINED = 0 , SNAPSOURCE_BBOX_CATEGORY = 16 , SNAPSOURCE_BBOX_CORNER , SNAPSOURCE_BBOX_MIDPOINT ,
  SNAPSOURCE_BBOX_EDGE_MIDPOINT , SNAPSOURCE_PAGE_CENTER , SNAPSOURCE_PAGE_CORNER , SNAPSOURCE_NODE_CATEGORY = 32 ,
  SNAPSOURCE_NODE_SMOOTH , SNAPSOURCE_NODE_CUSP , SNAPSOURCE_LINE_MIDPOINT , SNAPSOURCE_PATH_INTERSECTION ,
  SNAPSOURCE_RECT_CORNER , SNAPSOURCE_CONVEX_HULL_CORNER , SNAPSOURCE_ELLIPSE_QUADRANT_POINT , SNAPSOURCE_NODE_HANDLE ,
  SNAPSOURCE_DATUMS_CATEGORY = 64 , SNAPSOURCE_GUIDE , SNAPSOURCE_GUIDE_ORIGIN , SNAPSOURCE_OTHERS_CATEGORY = 128 ,
  SNAPSOURCE_ROTATION_CENTER , SNAPSOURCE_OBJECT_MIDPOINT , SNAPSOURCE_IMG_CORNER , SNAPSOURCE_TEXT_ANCHOR ,
  SNAPSOURCE_OTHER_HANDLE , SNAPSOURCE_GRID_PITCH , SNAPSOURCE_ALIGNMENT_CATEGORY = 256 , SNAPSOURCE_ALIGNMENT_BBOX_CORNER ,
  SNAPSOURCE_ALIGNMENT_BBOX_MIDPOINT , SNAPSOURCE_ALIGNMENT_BBOX_EDGE_MIDPOINT , SNAPSOURCE_ALIGNMENT_PAGE_CENTER , SNAPSOURCE_ALIGNMENT_PAGE_CORNER ,
  SNAPSOURCE_ALIGNMENT_HANDLE
}
 enumerations of snap source types and snap target types. More...
 
enum  SnapTargetType {
  SNAPTARGET_UNDEFINED = 0 , SNAPTARGET_BBOX_CATEGORY = 16 , SNAPTARGET_BBOX_CORNER , SNAPTARGET_BBOX_EDGE ,
  SNAPTARGET_BBOX_EDGE_MIDPOINT , SNAPTARGET_BBOX_MIDPOINT , SNAPTARGET_NODE_CATEGORY = 32 , SNAPTARGET_NODE_SMOOTH ,
  SNAPTARGET_NODE_CUSP , SNAPTARGET_LINE_MIDPOINT , SNAPTARGET_PATH , SNAPTARGET_PATH_PERPENDICULAR ,
  SNAPTARGET_PATH_TANGENTIAL , SNAPTARGET_PATH_INTERSECTION , SNAPTARGET_PATH_GUIDE_INTERSECTION , SNAPTARGET_PATH_CLIP ,
  SNAPTARGET_PATH_MASK , SNAPTARGET_ELLIPSE_QUADRANT_POINT , SNAPTARGET_RECT_CORNER , SNAPTARGET_DATUMS_CATEGORY = 64 ,
  SNAPTARGET_GRID , SNAPTARGET_GRID_LINE , SNAPTARGET_GRID_INTERSECTION , SNAPTARGET_GRID_PERPENDICULAR ,
  SNAPTARGET_GUIDE , SNAPTARGET_GUIDE_INTERSECTION , SNAPTARGET_GUIDE_ORIGIN , SNAPTARGET_GUIDE_PERPENDICULAR ,
  SNAPTARGET_GRID_GUIDE_INTERSECTION , SNAPTARGET_PAGE_EDGE_BORDER , SNAPTARGET_PAGE_EDGE_CENTER , SNAPTARGET_PAGE_EDGE_CORNER ,
  SNAPTARGET_PAGE_MARGIN_BORDER , SNAPTARGET_PAGE_MARGIN_CENTER , SNAPTARGET_PAGE_MARGIN_CORNER , SNAPTARGET_PAGE_BLEED_BORDER ,
  SNAPTARGET_PAGE_BLEED_CORNER , SNAPTARGET_OTHERS_CATEGORY = 128 , SNAPTARGET_OBJECT_MIDPOINT , SNAPTARGET_IMG_CORNER ,
  SNAPTARGET_ROTATION_CENTER , SNAPTARGET_TEXT_ANCHOR , SNAPTARGET_TEXT_BASELINE , SNAPTARGET_CONSTRAINED_ANGLE ,
  SNAPTARGET_CONSTRAINT , SNAPTARGET_ALIGNMENT_CATEGORY = 256 , SNAPTARGET_ALIGNMENT_BBOX_CORNER , SNAPTARGET_ALIGNMENT_BBOX_MIDPOINT ,
  SNAPTARGET_ALIGNMENT_BBOX_EDGE_MIDPOINT , SNAPTARGET_ALIGNMENT_PAGE_EDGE_CENTER , SNAPTARGET_ALIGNMENT_PAGE_EDGE_CORNER , SNAPTARGET_ALIGNMENT_PAGE_MARGIN_CENTER ,
  SNAPTARGET_ALIGNMENT_PAGE_MARGIN_CORNER , SNAPTARGET_ALIGNMENT_PAGE_BLEED_CORNER , SNAPTARGET_ALIGNMENT_HANDLE , SNAPTARGET_ALIGNMENT_INTERSECTION ,
  SNAPTARGET_DISTRIBUTION_CATEGORY = 512 , SNAPTARGET_DISTRIBUTION_X , SNAPTARGET_DISTRIBUTION_Y , SNAPTARGET_DISTRIBUTION_RIGHT ,
  SNAPTARGET_DISTRIBUTION_LEFT , SNAPTARGET_DISTRIBUTION_UP , SNAPTARGET_DISTRIBUTION_DOWN , SNAPTARGET_DISTRIBUTION_XY ,
  SNAPTARGET_MAX_ENUM_VALUE
}
 
enum class  SimpleSnap {
  BBox = 0 , Nodes , Alignment , Rest ,
  _MaxEnumValue
}
 
enum  ControlType {
  CTRL_TYPE_UNKNOWN , CTRL_TYPE_ADJ_HANDLE , CTRL_TYPE_ANCHOR , CTRL_TYPE_POINT ,
  CTRL_TYPE_ROTATE , CTRL_TYPE_SIZER , CTRL_TYPE_SHAPER , CTRL_TYPE_LINE ,
  CTRL_TYPE_LPE , CTRL_TYPE_NODE_AUTO , CTRL_TYPE_NODE_CUSP , CTRL_TYPE_NODE_SMOOTH ,
  CTRL_TYPE_NODE_SYMETRICAL , CTRL_TYPE_INVISIPOINT
}
 
enum  ControlFlags { CTRL_FLAG_NORMAL = 0 , CTRL_FLAG_ACTIVE = 1 << 0 , CTRL_FLAG_PRELIGHT = 1 << 1 , CTRL_FLAG_SELECTED = 1 << 2 }
 Flags for internal representation/tracking. More...
 
enum class  TaskType { NONE , ADD , DELETE }
 
enum class  EventType {
  ENTER , LEAVE , MOTION , BUTTON_PRESS ,
  BUTTON_RELEASE , KEY_PRESS , KEY_RELEASE , SCROLL ,
  NUM_EVENTS
}
 The type of a CanvasEvent. More...
 

Functions

bool is_icc_file (std::string const &filepath)
 
std::string get_color_profile_name (cmsHPROFILE profile)
 
std::array< uint8_t, 3 > simple_cmyk_to_rgb (float c, float m, float y, float k)
 
cmsColorSpaceSignature asICColorSpaceSig (ColorSpaceSig const &sig)
 
cmsProfileClassSignature asICColorProfileClassSig (ColorProfileClassSig const &sig)
 
bool have_viable_layer (SPDesktop *desktop, MessageContext *message)
 Check to see if the current layer is both unhidden and unlocked. More...
 
bool have_viable_layer (SPDesktop *desktop, MessageStack *message)
 Check to see if the current layer is both unhidden and unlocked. More...
 
Geom::Rect snap_rectangular_box (SPDesktop const *desktop, SPItem *item, Geom::Point const &pt, Geom::Point const &center, int state)
 
static bool _workaround_issue_70__gdk_pixbuf_loader_write (GdkPixbufLoader *loader, guchar *decoded, gsize decoded_len, GError **error)
 Incremental file read introduced to workaround https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues/70. More...
 
static int get_size_default ()
 
static double angle_of (Geom::Affine const &affine)
 
static double signed_distance (Geom::Point const &point, Geom::Line const &line)
 
static std::vector< Geom::Pointintersect_line_rectangle (Geom::Line const &line, Geom::Rect const &rect)
 
static void drawline (Inkscape::CanvasItemBuffer &buf, int x0, int y0, int x1, int y1, uint32_t rgba)
 
static void vline (Inkscape::CanvasItemBuffer &buf, int x, int ys, int ye, uint32_t rgba)
 
static double distance_to_segment (Geom::Point const &p, Geom::Point const &a1, Geom::Point const &a2)
 Calculates the closest distance from p to the segment a1-a2. More...
 
void apply_antialias (DrawingContext &dc, Antialiasing antialias)
 Apply antialias setting to Cairo. More...
 
void propagate_antialias (SPShapeRendering shape_rendering, DrawingItem &item)
 Propagate element's shape rendering attribute into internal anti-aliasing setting of DrawingItem. More...
 
static auto rendermode_to_renderflags (RenderMode mode)
 
static auto default_numthreads ()
 
CairoPatternUniqPtr copy (CairoPatternUniqPtr const &p)
 
std::vector< PaintTarget > const & allPaintTargets ()
 Convenience function to access a common vector of all enum values. More...
 
Glib::RefPtr< Gtk::FileDialog > create_file_dialog (Glib::ustring const &title, Glib::ustring const &accept_label)
 Create a Gtk::FileDialog with the given title and label for its default/accept button. More...
 
void set_filters (Gtk::FileDialog &file_dialog, Glib::RefPtr< Gio::ListStore< Gtk::FileFilter > > const &filters)
 Set available filters to a given list, & default to its 1st filter (if any). More...
 
void set_filter (Gtk::FileDialog &file_dialog, Glib::RefPtr< Gtk::FileFilter > const &filter)
 Set the available filters & the default filter, to the single filter passed. More...
 
static auto run (Gtk::FileDialog &file_dialog, Gtk::Window &parent, std::string &current_folder, StartMethod const start, FinishMethod const finish)
 
std::string choose_file_save (Glib::ustring const &title, Gtk::Window *parent, Glib::ustring const &mime_type, Glib::ustring const &file_name, std::string &current_folder)
 Synchronously run a Gtk::FileDialog to select a file for saving data. More...
 
static std::string _choose_file_open (Glib::ustring const &title, Gtk::Window *parent, std::vector< std::pair< Glib::ustring, Glib::ustring > > const &filters, std::vector< Glib::ustring > const &mime_types, std::string &current_folder)
 
std::string choose_file_open (Glib::ustring const &title, Gtk::Window *parent, std::vector< Glib::ustring > const &mime_types, std::string &current_folder)
 Synchronously run a Gtk::FileDialog to open a single file for reading data. More...
 
std::string choose_file_open (Glib::ustring const &title, Gtk::Window *parent, std::vector< std::pair< Glib::ustring, Glib::ustring > > const &filters, std::string &current_folder)
 Synchronously run a Gtk::FileDialog to open a single file for reading data. More...
 
Geom::PathVector outline (Geom::Path const &input, double width, double miter, LineJoinType join=JOIN_BEVEL, LineCapType cap=BUTT_FLAT, double tolerance=-1)
 Strokes the path given by input. More...
 
Geom::Path half_outline (Geom::Path const &input, double width, double miter, LineJoinType join=JOIN_BEVEL, double tolerance=-1)
 Offset the input path by width. More...
 
void outline_join (Geom::Path &res, Geom::Path const &outgoing, Geom::Point in_tang, Geom::Point out_tang, double width, double miter, LineJoinType join)
 Builds a join on the provided path. More...
 
std::vector< std::vector< int > > connected_components (int size, std::function< bool(int, int)> const &adj_test)
 Return the list of connected components of a graph described by an adjacency-test function. More...
 
bool is_path_empty (Geom::Path const &path)
 Check for an empty path. More...
 
std::vector< Geom::PathVectorsplit_non_intersecting_paths (Geom::PathVector &&paths, bool remove_empty=false)
 Split a collection of paths into connected components. More...
 
Geom::PathVector do_offset (Geom::PathVector const &path_in, double to_offset, double tolerance, double miter_limit, FillRule fillrule, Inkscape::LineJoinType join, Geom::Point point, Geom::PathVector &helper_path, Geom::PathVector &mix_pathv_all)
 Create a user spected offset from a pathvector. More...
 
Geom::PathVector do_offset (Geom::PathVector const &path_in, double to_offset, double tolerance, double miter_limit, FillRule fillrule, Inkscape::LineJoinType join)
 
void initialize_gettext ()
 does all required gettext initialization and takes care of the respective locale directory paths More...
 
void bind_textdomain_codeset_utf8 ()
 set gettext codeset to UTF8 More...
 
void bind_textdomain_codeset_console ()
 set gettext codeset to codeset of the system console More...
 
bool save_image (const std::string &fname, const Inkscape::Pixbuf *pixbuf)
 
bool extract_image (Gtk::Window *parent, SPImage *image)
 
std::string inkscape_version ()
 Return Inkscape version string. More...
 
std::string inkscape_revision ()
 Return Inkscape repository revision string. More...
 
static std::string _run (char const *command)
 Wrapper around g_spawn_sync which captures STDOUT and strips trailing whitespace. More...
 
std::string os_version ()
 Return OS version string. More...
 
std::string debug_info ()
 Return full debug info. More...
 
unsigned short int inkscape_build_year ()
 Return build year as 4 digit. More...
 
static std::vector< std::string > splitPath (std::string const &path)
 
std::string optimizePath (std::string const &path, std::string const &base, unsigned int parents)
 Convert an absolute path into a relative one if possible to do in the given number of parent steps. More...
 
bool fixBrokenLinks (SPDocument *doc)
 
static std::vector< Glib::ustring > findBrokenLinks (SPDocument *doc)
 Walk all links in a document and create a listing of unique broken links. More...
 
static std::map< Glib::ustring, Glib::ustring > locateLinks (Glib::ustring const &docbase, std::vector< Glib::ustring > const &brokenLinks)
 Resolve broken links as a whole and return a map for those that can be found. More...
 
static bool extractFilepath (Glib::ustring const &href, std::string &filename)
 Try to parse href into a local filename using standard methods. More...
 
static bool reconstructFilepath (Glib::ustring const &href, std::string &filename)
 Try to parse href into a local filename using some non-standard methods. More...
 
static bool searchUpwards (std::string const &base, std::string const &subpath, std::string &dest)
 
static bool is_layer (SPObject &object)
 
static SPObjectnext_sibling_layer (SPObject *layer)
 Finds the next sibling layer for a layer. More...
 
static SPObjectprevious_sibling_layer (SPObject *layer)
 Finds the previous sibling layer for a layer. More...
 
static SPObjectfirst_descendant_layer (SPObject *layer)
 Finds the first child of a layer. More...
 
static SPObjectlast_child_layer (SPObject *layer)
 Finds the last (topmost) child of a layer. More...
 
static SPObjectlast_elder_layer (SPObject *root, SPObject *layer)
 
SPObjectnext_layer (SPObject *root, SPObject *layer)
 Finds the next layer under root, relative to layer in depth-first order. More...
 
SPObjectprevious_layer (SPObject *root, SPObject *layer)
 Finds the previous layer under root, relative to layer in depth-first order. More...
 
SPObjectcreate_layer (SPObject *root, SPObject *layer, LayerRelativePosition position)
 Creates a new layer. More...
 
std::vector< SPItem * > get_layers_to_toggle (SPObject *layer, SPObject *current_root)
 
static int compute_distance (PangoFontDescription const *a, PangoFontDescription const *b)
 
gboolean font_description_better_match (PangoFontDescription *target, PangoFontDescription *old_desc, PangoFontDescription *new_desc)
 
void getBBoxPoints (Geom::OptRect const bbox, std::vector< SnapCandidatePoint > *points, bool const isTarget, bool const corners, bool const edges, bool const midpoint)
 Default version of the getBBoxPoints with default corner source types. More...
 
void getBBoxPoints (Geom::OptRect const bbox, std::vector< SnapCandidatePoint > *points, bool const isTarget, Inkscape::SnapSourceType corners, Inkscape::SnapTargetType cornert, Inkscape::SnapSourceType edges, Inkscape::SnapTargetType edget, Inkscape::SnapSourceType midpoints, Inkscape::SnapTargetType midpointt)
 
static bool uri_needs_escaping (char const *uri)
 Return true if the given URI string contains characters that need escaping. More...
 
static std::string build_relative_uri (char const *uri, char const *base)
 Replacement for buggy xmlBuildRelativeURI https://gitlab.gnome.org/GNOME/libxml2/merge_requests/12. More...
 
static int uri_unescape_triplet (const char *s)
 If s starts with a "%XX" triplet, return its byte value, 0 otherwise. More...
 
static int uri_unescape_utf8_codepoint (const char *s, char *out)
 If s starts with a percent-escaped UTF-8 sequence, unescape one code point and store it in out variable. More...
 
std::string uri_to_iri (const char *uri)
 Unescape the UTF-8 parts of the given URI. More...
 
void convert_text_to_curves (SPDocument *)
 Convert all text in the document to path, in-place. More...
 
void copy_object_properties (XML::Node *dest, XML::Node const *src)
 Copy generic object properties, like: More...
 
static Inkscape::XML::DocumentloadImpl (std::string const &prefsFilename, Glib::ustring &errMsg)
 
static void migrateDetails (Inkscape::XML::Document *from, Inkscape::XML::Document *to)
 
Geom::Scale calcScaleFactors (Geom::Point const &initial_point, Geom::Point const &new_point, Geom::Point const &origin, bool const skew=false)
 
char const * refX_named_to_percent (char const *str)
 
char const * refY_named_to_percent (char const *str)
 
Glib::RefPtr< Gdk::Cursor > load_svg_cursor (Gtk::Widget &widget, std::string const &file_name, std::uint32_t const fill, std::uint32_t const stroke, double fill_opacity, double stroke_opacity)
 Loads an SVG cursor from the specified file name. More...
 
void set_svg_cursor (Gtk::Widget &widget, std::string const &file_name, std::uint32_t const fill, std::uint32_t const stroke, double fill_opacity, double stroke_opacity)
 Loads an SVG cursor from the specified file name, and sets it as the cursor of the given widget. More...
 
static Gtk::AccelKey get_from_event_impl (unsigned const event_keyval, unsigned const event_keycode, GdkModifierType const event_state, unsigned const event_group, bool const fix)
 
template<typename T >
static void append (std::vector< T > &target, std::vector< T > &&source)
 
static Glib::ustring join (std::vector< Glib::ustring > const &accels, char const separator)
 
Gdk::ModifierType parse_modifier_string (char const *const modifiers_string)
 
Glib::ustring rgba_to_css_color (double r, double g, double b)
 
Glib::ustring rgba_to_css_color (const Gdk::RGBA &color)
 
Glib::ustring rgba_to_css_color (const SPColor &color)
 
Glib::ustring double_to_css_value (double value)
 
std::shared_ptr< SPDocumentload_document (const char *svg_file_path)
 
static Geom::PathVector clean_pathvector (Geom::PathVector &&pathv)
 
static void extract_pathvectors_recursive (SPItem *root, SPItem *item, PathvectorItems &result, Geom::Affine const &transform)
 
static FillRule sp_to_livarot (SPWindRule fillrule)
 
ExtendedInput extinput_from_gdkevent (Gdk::Event const &event)
 Read the extended input data from a Gdk::Event. More...
 
template<typename E , typename... Fs>
void inspect_event (E &&event, Fs... funcs)
 Perform pattern-matching on a CanvasEvent. More...
 
bool mod_shift (unsigned modifiers)
 
bool mod_ctrl (unsigned modifiers)
 
bool mod_alt (unsigned modifiers)
 
bool mod_shift_only (unsigned modifiers)
 
bool mod_ctrl_only (unsigned modifiers)
 
bool mod_alt_only (unsigned modifiers)
 
bool mod_shift (KeyEvent const &event)
 
bool mod_ctrl (KeyEvent const &event)
 
bool mod_alt (KeyEvent const &event)
 
bool mod_shift_only (KeyEvent const &event)
 
bool mod_ctrl_only (KeyEvent const &event)
 
bool mod_alt_only (KeyEvent const &event)
 
bool state_held_shift (unsigned state)
 
bool state_held_ctrl (unsigned state)
 
bool state_held_alt (unsigned state)
 
bool state_held_only_shift (unsigned state)
 
bool state_held_only_ctrl (unsigned state)
 
bool state_held_only_alt (unsigned state)
 
bool state_held_any_modifiers (unsigned state)
 
bool state_held_no_modifiers (unsigned state)
 
template<unsigned button>
bool state_held_button (unsigned state)
 
bool held_shift (CanvasEvent const &event)
 
bool held_ctrl (CanvasEvent const &event)
 
bool held_alt (CanvasEvent const &event)
 
bool held_only_shift (CanvasEvent const &event)
 
bool held_only_ctrl (CanvasEvent const &event)
 
bool held_only_alt (CanvasEvent const &event)
 
bool held_any_modifiers (CanvasEvent const &event)
 
bool held_no_modifiers (CanvasEvent const &event)
 
template<unsigned button>
bool held_button (CanvasEvent const &event)
 
void dump_event (CanvasEvent const &event, char const *prefix, bool merge=true)
 Print an event to stdout. More...
 
constexpr EventMask operator~ (EventType a)
 
constexpr EventMask operator& (EventType a, EventMask b)
 
constexpr EventMask operator| (EventType a, EventMask b)
 
const EnumDataConverter< SPBlendModeSPBlendModeConverter (SPBlendModeData, SP_CSS_BLEND_COUNT)
 
Cairo::RefPtr< Cairo::Surface > draw_handles_preview (int device_scale)
 
Cairo::RefPtr< Cairo::Surface > add_background_to_image (Cairo::RefPtr< Cairo::Surface > image, uint32_t rgb, double margin, double radius, int device_scale, std::optional< uint32_t > border=std::optional< uint32_t >())
 
std::unique_ptr< SPDocumentink_markers_preview_doc (const Glib::ustring &group_id)
 Returns a new document containing default start, mid, and end markers. More...
 
Cairo::RefPtr< Cairo::Surface > create_marker_image (const Glib::ustring &group_id, SPDocument *_sandbox, Gdk::RGBA marker_color, Geom::IntPoint pixel_size, const char *mname, SPDocument *source, Inkscape::Drawing &drawing, std::optional< guint32 > checkerboard, bool no_clip, double scale, int device_scale)
 Creates a copy of the marker named mname, determines its visible and renderable area in the bounding box, and then renders it. More...
 
void draw_gradient (const Cairo::RefPtr< Cairo::Context > &cr, SPGradient *gradient, int x, int width)
 Renders a preview of a gradient into the passed context. More...
 
std::set< unsigned int > parseIntRange (const std::string &input, unsigned int start=1, unsigned int end=0)
 Parse integer ranges out of a string using regex. More...
 
template<typename... Fs>
 VariantVisitor (Fs...) -> VariantVisitor< Fs... >
 
bool is_query_style_updateable (const int style)
 
std::pair< char const *, char const * > getHrefAttribute (XML::Node const &node)
 Get the 'href' or 'xlink:href' (fallback) attribute from an XML node. More...
 
void setHrefAttribute (XML::Node &node, Util::const_char_ptr value)
 If the 'href' attribute already exists for the given node, then set a new value for it. More...
 

Variables

constexpr int MIN_INDEX = 1
 
constexpr int MAX_INDEX = 15
 
constexpr uint32_t CANVAS_ITEM_COLORS [] = { 0x0000ff7f, 0xff00007f, 0xffff007f }
 
static auto constexpr grayscale_matrix
 
char const * revision_string
 code revision string More...
 
char const * version_string
 full version string More...
 
char const * version_string_without_revision
 version string excluding revision and date More...
 
unsigned short int const build_year
 four digit year of build More...
 
unsigned int const version_major
 
unsigned int const version_minor
 
unsigned int const version_patch
 
auto const URI_ALLOWED_NON_ALNUM = "!#$%&'()*+,-./:;=?@_~"
 
static Inkscape::XML::DocumentmigrateFromDoc = nullptr
 
static Glib::ustring const RAWCACHE_CODE_NULL {"N"}
 
static Glib::ustring const RAWCACHE_CODE_VALUE {"V"}
 
static constexpr std::array< uint32_t, 6 > fill_lite = {0x00000055, 0x0291ffff, 0x8eceffff, 0x0291ffff, 0xf299d6ff, 0xff0db3ff}
 
static constexpr std::array< uint32_t, 6 > fill_dark = {0xffffff55, 0x0291ffff, 0x8eceffff, 0x0291ffff, 0xf299d6ff, 0xff0db3ff}
 
constexpr auto INK_GDK_MODIFIER_MASK = GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_CONTROL_MASK
 All modifiers used by Inkscape. More...
 
constexpr bool DEBUG_EVENTS = false
 Whether event debug printing is enabled. More...
 
const int SP_CSS_BLEND_COUNT = SP_CSS_BLEND_ENDMODE + 5
 
const EnumData< SPBlendModeSPBlendModeData [SP_CSS_BLEND_COUNT]
 
const Util::EnumDataConverter< SPBlendModeSPBlendModeConverter
 
const std::string RECENTLY_USED_FONTS = _("Recently Used Fonts")
 
const std::string DOCUMENT_FONTS = _("Document Fonts")
 
const char * RECENTFONTS_FILENAME = "recently_used_fonts.log"
 

Detailed Description

CMYK to sRGB conversion routines.

SVG to Pixbuf renderer.

Helper methods for resolving URI References.

The reference corresponding to a satelite in a LivePathEffectObject.

This class provided buffered endpoints for input and output.

Main Inkscape namespace.

A class to represent on-screen text.

A class to represent a control textrilateral.

A class to represent a control rectangle.

A class to represent a control quadrilateral.

A class to represent a control guide line.

A CanvasItem that contains other CanvasItems.

A class to render the SVG drawing.

A class to represent a single Bezier control curve.

A class to represent a single Bezier control curve, either a line or a cubic Bezier.

A class to represent a control node.

A class to catch events after everyone else has had a go.

Buffer for rendering canvas items.

A class to represent a Bezier path.

Author: Michael Kowalski

Copyright (C) 2023 Michael Kowalski

Released under GNU GPL v2+, read the file 'COPYING' for more information.

Used to highlight selected text.

Used for rubberband selector, page outline, etc.

This namespace contains all code internal to Inkscape.

Authors: Lauris Kaplinski lauri.nosp@m.s@ka.nosp@m.plins.nosp@m.ki.c.nosp@m.om Marc Jeanmougin

Copyright (C) 2001-2002 Lauris Kaplinski Copyright (C) 2001 Ximian, Inc.

Released under GNU GPL v2+, read the file 'COPYING' for more information.

Author: Michael Kowalski

Copyright (C) 2020-2021 Michael Kowalski

Released under GNU GPL v2+, read the file 'COPYING' for more information.

Typedef Documentation

◆ CacheList

using Inkscape::CacheList = typedef std::list<CacheRecord>

Definition at line 74 of file drawing-item.h.

◆ CairoPatternUniqPtr

Definition at line 35 of file nr-style.h.

◆ FinishMethod

using Inkscape::FinishMethod = typedef Glib::RefPtr<Gio::File> (Gtk::FileDialog::*) (Glib::RefPtr<Gio::AsyncResult> const &)

Definition at line 47 of file choose-file.cpp.

◆ Key

typedef std::tuple<std::string, std::string, std::string, std::uint32_t, std::uint32_t, double, double, bool, int> Inkscape::Key

Definition at line 47 of file cursor-utils.cpp.

◆ MessageId

using Inkscape::MessageId = typedef std::uint_least32_t

An integer ID which identifies a displayed message in a particular Inkscape::MessageStack.

See also
Inkscape::MessageStack

Definition at line 39 of file message.h.

◆ MultiIndexContainer

typedef boost::multi_index_container< SPObject*, boost::multi_index::indexed_by< boost::multi_index::sequenced<>, boost::multi_index::random_access< boost::multi_index::tag<random_access> >, boost::multi_index::hashed_unique< boost::multi_index::tag<hashed>, boost::multi_index::identity<SPObject*> > > > Inkscape::MultiIndexContainer

Definition at line 123 of file object-set.h.

◆ PathvectorItems

using Inkscape::PathvectorItems = typedef std::vector<PathvectorItem>

Definition at line 82 of file booleans-subitems.cpp.

◆ PrefObserver

Definition at line 700 of file preferences.h.

◆ SPGroupRange

Definition at line 562 of file object-set.h.

◆ SPItemRange

Definition at line 561 of file object-set.h.

◆ SPObjectRange

typedef boost::any_range< SPObject*, boost::random_access_traversal_tag, SPObject* const&, std::ptrdiff_t> Inkscape::SPObjectRange

Definition at line 129 of file object-set.h.

◆ StartMethod

using Inkscape::StartMethod = typedef void (Gtk::FileDialog::*) (Gtk::Window &, Gio::SlotAsyncReady const &, Glib::RefPtr<Gio::Cancellable> const &)

Definition at line 43 of file choose-file.cpp.

◆ VisualItem

Definition at line 34 of file booleans-builder.h.

◆ WorkItem

using Inkscape::WorkItem = typedef std::shared_ptr<SubItem>

Definition at line 25 of file booleans-subitems.h.

◆ WorkItems

using Inkscape::WorkItems = typedef std::vector<WorkItem>

Definition at line 26 of file booleans-subitems.h.

◆ XMLNodeRange

Definition at line 563 of file object-set.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
RENDERING_INTENT_UNKNOWN 
RENDERING_INTENT_AUTO 
RENDERING_INTENT_PERCEPTUAL 
RENDERING_INTENT_RELATIVE_COLORIMETRIC 
RENDERING_INTENT_SATURATION 
RENDERING_INTENT_ABSOLUTE_COLORIMETRIC 

Definition at line 29 of file color-profile.h.

◆ Antialiasing

enum class Inkscape::Antialiasing : unsigned char
strong
Enumerator
None 
Fast 
Good 
Best 

Definition at line 46 of file drawing-item.h.

◆ CanvasItemColor

Enumerator
CANVAS_ITEM_PRIMARY 
CANVAS_ITEM_SECONDARY 
CANVAS_ITEM_TERTIARY 

Definition at line 19 of file canvas-item-enums.h.

◆ CanvasItemCtrlShape

Enumerator
CANVAS_ITEM_CTRL_SHAPE_SQUARE 
CANVAS_ITEM_CTRL_SHAPE_DIAMOND 
CANVAS_ITEM_CTRL_SHAPE_CIRCLE 
CANVAS_ITEM_CTRL_SHAPE_TRIANGLE 
CANVAS_ITEM_CTRL_SHAPE_CROSS 
CANVAS_ITEM_CTRL_SHAPE_PLUS 
CANVAS_ITEM_CTRL_SHAPE_PIVOT 
CANVAS_ITEM_CTRL_SHAPE_DARROW 
CANVAS_ITEM_CTRL_SHAPE_SARROW 
CANVAS_ITEM_CTRL_SHAPE_CARROW 
CANVAS_ITEM_CTRL_SHAPE_SALIGN 
CANVAS_ITEM_CTRL_SHAPE_CALIGN 
CANVAS_ITEM_CTRL_SHAPE_MALIGN 
CANVAS_ITEM_CTRL_SHAPE_TRIANGLE_ANGLED 

Definition at line 25 of file canvas-item-enums.h.

◆ CanvasItemCtrlType

Enumerator
CANVAS_ITEM_CTRL_TYPE_DEFAULT 
CANVAS_ITEM_CTRL_TYPE_ADJ_HANDLE 
CANVAS_ITEM_CTRL_TYPE_ADJ_SKEW 
CANVAS_ITEM_CTRL_TYPE_ADJ_ROTATE 
CANVAS_ITEM_CTRL_TYPE_ADJ_CENTER 
CANVAS_ITEM_CTRL_TYPE_ADJ_SALIGN 
CANVAS_ITEM_CTRL_TYPE_ADJ_CALIGN 
CANVAS_ITEM_CTRL_TYPE_ADJ_MALIGN 
CANVAS_ITEM_CTRL_TYPE_ANCHOR 
CANVAS_ITEM_CTRL_TYPE_POINT 
CANVAS_ITEM_CTRL_TYPE_ROTATE 
CANVAS_ITEM_CTRL_TYPE_MARGIN 
CANVAS_ITEM_CTRL_TYPE_CENTER 
CANVAS_ITEM_CTRL_TYPE_SIZER 
CANVAS_ITEM_CTRL_TYPE_SHAPER 
CANVAS_ITEM_CTRL_TYPE_MARKER 
CANVAS_ITEM_CTRL_TYPE_MESH 
CANVAS_ITEM_CTRL_TYPE_LPE 
CANVAS_ITEM_CTRL_TYPE_NODE_AUTO 
CANVAS_ITEM_CTRL_TYPE_NODE_CUSP 
CANVAS_ITEM_CTRL_TYPE_NODE_SMOOTH 
CANVAS_ITEM_CTRL_TYPE_NODE_SYMMETRICAL 
CANVAS_ITEM_CTRL_TYPE_INVISIPOINT 
CANVAS_ITEM_CTRL_TYPE_GUIDE_HANDLE 
CANVAS_ITEM_CTRL_TYPE_POINTER 
CANVAS_ITEM_CTRL_TYPE_MOVE 
LAST_ITEM_CANVAS_ITEM_CTRL_TYPE 

Definition at line 42 of file canvas-item-enums.h.

◆ ColorMode

enum class Inkscape::ColorMode
strong
Enumerator
NORMAL 
GRAYSCALE 
PRINT_COLORS_PREVIEW 

Definition at line 47 of file rendermode.h.

◆ ControlFlags

Flags for internal representation/tracking.

Enumerator
CTRL_FLAG_NORMAL 
CTRL_FLAG_ACTIVE 
CTRL_FLAG_PRELIGHT 
CTRL_FLAG_SELECTED 

Definition at line 38 of file control-types.h.

◆ ControlType

Enumerator
CTRL_TYPE_UNKNOWN 
CTRL_TYPE_ADJ_HANDLE 
CTRL_TYPE_ANCHOR 
CTRL_TYPE_POINT 
CTRL_TYPE_ROTATE 
CTRL_TYPE_SIZER 
CTRL_TYPE_SHAPER 
CTRL_TYPE_LINE 
CTRL_TYPE_LPE 
CTRL_TYPE_NODE_AUTO 
CTRL_TYPE_NODE_CUSP 
CTRL_TYPE_NODE_SMOOTH 
CTRL_TYPE_NODE_SYMETRICAL 
CTRL_TYPE_INVISIPOINT 

Definition at line 18 of file control-types.h.

◆ EventType

enum class Inkscape::EventType
strong

The type of a CanvasEvent.

Enumerator
ENTER 
LEAVE 
MOTION 
BUTTON_PRESS 
BUTTON_RELEASE 
KEY_PRESS 
KEY_RELEASE 
SCROLL 
NUM_EVENTS 

Definition at line 21 of file enums.h.

◆ HandleSize

enum class Inkscape::HandleSize
strong
Enumerator
XTINY 
TINY 
SMALL 
NORMAL 
LARGE 

Definition at line 34 of file canvas-item-ctrl.h.

◆ LayerRelativePosition

Enumerator
LPOS_ABOVE 
LPOS_CHILD 
LPOS_BELOW 

Definition at line 82 of file layer-manager.h.

◆ LineCapType

Enumerator
BUTT_FLAT 
BUTT_ROUND 
BUTT_SQUARE 
BUTT_PEAK 

Definition at line 33 of file geom-pathstroke.h.

◆ LineJoinType

Enumerator
JOIN_BEVEL 
JOIN_ROUND 
JOIN_MITER 
JOIN_MITER_CLIP 
JOIN_EXTRAPOLATE 
JOIN_EXTRAPOLATE1 
JOIN_EXTRAPOLATE2 
JOIN_EXTRAPOLATE3 

Definition at line 22 of file geom-pathstroke.h.

◆ MessageType

A hint about the meaning of a message; is it an ordinary message, a message advising the user of some significant or unexpected condition, or a message indicating an unambiguous error.

Enumerator
NORMAL_MESSAGE 
IMMEDIATE_MESSAGE 
WARNING_MESSAGE 
ERROR_MESSAGE 
INFORMATION_MESSAGE 

Definition at line 25 of file message.h.

◆ PaintTarget

Enumerator
FOR_FILL 
FOR_STROKE 

Definition at line 66 of file sp-gradient.h.

◆ PdfImportType

enum class Inkscape::PdfImportType : unsigned char
strong
Enumerator
PDF_IMPORT_INTERNAL 
PDF_IMPORT_CAIRO 

Definition at line 68 of file pdf-input.h.

◆ RenderMode

enum class Inkscape::RenderMode
strong
Enumerator
NORMAL 
OUTLINE 
NO_FILTERS 
VISIBLE_HAIRLINES 
OUTLINE_OVERLAY 
size 

Definition at line 21 of file rendermode.h.

◆ SimpleSnap

enum class Inkscape::SimpleSnap
strong
Enumerator
BBox 
Nodes 
Alignment 
Rest 
_MaxEnumValue 

Definition at line 153 of file snap-enums.h.

◆ SnapSourceType

enumerations of snap source types and snap target types.

Enumerator
SNAPSOURCE_UNDEFINED 
SNAPSOURCE_BBOX_CATEGORY 
SNAPSOURCE_BBOX_CORNER 
SNAPSOURCE_BBOX_MIDPOINT 
SNAPSOURCE_BBOX_EDGE_MIDPOINT 
SNAPSOURCE_PAGE_CENTER 
SNAPSOURCE_PAGE_CORNER 
SNAPSOURCE_NODE_CATEGORY 
SNAPSOURCE_NODE_SMOOTH 
SNAPSOURCE_NODE_CUSP 
SNAPSOURCE_LINE_MIDPOINT 
SNAPSOURCE_PATH_INTERSECTION 
SNAPSOURCE_RECT_CORNER 
SNAPSOURCE_CONVEX_HULL_CORNER 
SNAPSOURCE_ELLIPSE_QUADRANT_POINT 
SNAPSOURCE_NODE_HANDLE 
SNAPSOURCE_DATUMS_CATEGORY 
SNAPSOURCE_GUIDE 
SNAPSOURCE_GUIDE_ORIGIN 
SNAPSOURCE_OTHERS_CATEGORY 
SNAPSOURCE_ROTATION_CENTER 
SNAPSOURCE_OBJECT_MIDPOINT 
SNAPSOURCE_IMG_CORNER 
SNAPSOURCE_TEXT_ANCHOR 
SNAPSOURCE_OTHER_HANDLE 
SNAPSOURCE_GRID_PITCH 
SNAPSOURCE_ALIGNMENT_CATEGORY 
SNAPSOURCE_ALIGNMENT_BBOX_CORNER 
SNAPSOURCE_ALIGNMENT_BBOX_MIDPOINT 
SNAPSOURCE_ALIGNMENT_BBOX_EDGE_MIDPOINT 
SNAPSOURCE_ALIGNMENT_PAGE_CENTER 
SNAPSOURCE_ALIGNMENT_PAGE_CORNER 
SNAPSOURCE_ALIGNMENT_HANDLE 

Definition at line 18 of file snap-enums.h.

◆ SnapTargetType

Enumerator
SNAPTARGET_UNDEFINED 
SNAPTARGET_BBOX_CATEGORY 
SNAPTARGET_BBOX_CORNER 
SNAPTARGET_BBOX_EDGE 
SNAPTARGET_BBOX_EDGE_MIDPOINT 
SNAPTARGET_BBOX_MIDPOINT 
SNAPTARGET_NODE_CATEGORY 
SNAPTARGET_NODE_SMOOTH 
SNAPTARGET_NODE_CUSP 
SNAPTARGET_LINE_MIDPOINT 
SNAPTARGET_PATH 
SNAPTARGET_PATH_PERPENDICULAR 
SNAPTARGET_PATH_TANGENTIAL 
SNAPTARGET_PATH_INTERSECTION 
SNAPTARGET_PATH_GUIDE_INTERSECTION 
SNAPTARGET_PATH_CLIP 
SNAPTARGET_PATH_MASK 
SNAPTARGET_ELLIPSE_QUADRANT_POINT 
SNAPTARGET_RECT_CORNER 
SNAPTARGET_DATUMS_CATEGORY 
SNAPTARGET_GRID 
SNAPTARGET_GRID_LINE 
SNAPTARGET_GRID_INTERSECTION 
SNAPTARGET_GRID_PERPENDICULAR 
SNAPTARGET_GUIDE 
SNAPTARGET_GUIDE_INTERSECTION 
SNAPTARGET_GUIDE_ORIGIN 
SNAPTARGET_GUIDE_PERPENDICULAR 
SNAPTARGET_GRID_GUIDE_INTERSECTION 
SNAPTARGET_PAGE_EDGE_BORDER 
SNAPTARGET_PAGE_EDGE_CENTER 
SNAPTARGET_PAGE_EDGE_CORNER 
SNAPTARGET_PAGE_MARGIN_BORDER 
SNAPTARGET_PAGE_MARGIN_CENTER 
SNAPTARGET_PAGE_MARGIN_CORNER 
SNAPTARGET_PAGE_BLEED_BORDER 
SNAPTARGET_PAGE_BLEED_CORNER 
SNAPTARGET_OTHERS_CATEGORY 
SNAPTARGET_OBJECT_MIDPOINT 
SNAPTARGET_IMG_CORNER 
SNAPTARGET_ROTATION_CENTER 
SNAPTARGET_TEXT_ANCHOR 
SNAPTARGET_TEXT_BASELINE 
SNAPTARGET_CONSTRAINED_ANGLE 
SNAPTARGET_CONSTRAINT 
SNAPTARGET_ALIGNMENT_CATEGORY 
SNAPTARGET_ALIGNMENT_BBOX_CORNER 
SNAPTARGET_ALIGNMENT_BBOX_MIDPOINT 
SNAPTARGET_ALIGNMENT_BBOX_EDGE_MIDPOINT 
SNAPTARGET_ALIGNMENT_PAGE_EDGE_CENTER 
SNAPTARGET_ALIGNMENT_PAGE_EDGE_CORNER 
SNAPTARGET_ALIGNMENT_PAGE_MARGIN_CENTER 
SNAPTARGET_ALIGNMENT_PAGE_MARGIN_CORNER 
SNAPTARGET_ALIGNMENT_PAGE_BLEED_CORNER 
SNAPTARGET_ALIGNMENT_HANDLE 
SNAPTARGET_ALIGNMENT_INTERSECTION 
SNAPTARGET_DISTRIBUTION_CATEGORY 
SNAPTARGET_DISTRIBUTION_X 
SNAPTARGET_DISTRIBUTION_Y 
SNAPTARGET_DISTRIBUTION_RIGHT 
SNAPTARGET_DISTRIBUTION_LEFT 
SNAPTARGET_DISTRIBUTION_UP 
SNAPTARGET_DISTRIBUTION_DOWN 
SNAPTARGET_DISTRIBUTION_XY 
SNAPTARGET_MAX_ENUM_VALUE 

Definition at line 70 of file snap-enums.h.

◆ SplitDirection

enum class Inkscape::SplitDirection
strong
Enumerator
NONE 
NORTH 
EAST 
SOUTH 
WEST 
HORIZONTAL 
VERTICAL 

Definition at line 37 of file rendermode.h.

◆ SplitMode

enum class Inkscape::SplitMode
strong
Enumerator
NORMAL 
SPLIT 
XRAY 
size 

Definition at line 30 of file rendermode.h.

◆ TaskType

enum class Inkscape::TaskType
strong
Enumerator
NONE 
ADD 
DELETE 

Definition at line 42 of file booleans-builder.h.

Function Documentation

◆ _choose_file_open()

static std::string Inkscape::_choose_file_open ( Glib::ustring const &  title,
Gtk::Window *  parent,
std::vector< std::pair< Glib::ustring, Glib::ustring > > const &  filters,
std::vector< Glib::ustring > const &  mime_types,
std::string &  current_folder 
)
static

◆ _run()

static std::string Inkscape::_run ( char const *  command)
static

Wrapper around g_spawn_sync which captures STDOUT and strips trailing whitespace.

If an error occurs, report it to STDERR and return an empty string.

Definition at line 61 of file inkscape-version-info.cpp.

Referenced by os_version().

◆ _workaround_issue_70__gdk_pixbuf_loader_write()

static bool Inkscape::_workaround_issue_70__gdk_pixbuf_loader_write ( GdkPixbufLoader *  loader,
guchar *  decoded,
gsize  decoded_len,
GError **  error 
)
static

Incremental file read introduced to workaround https://gitlab.gnome.org/GNOME/gdk-pixbuf/issues/70.

Definition at line 134 of file cairo-utils.cpp.

◆ add_background_to_image()

Cairo::RefPtr< Cairo::Surface > Inkscape::add_background_to_image ( Cairo::RefPtr< Cairo::Surface >  image,
uint32_t  rgb,
double  margin,
double  radius,
int  device_scale,
std::optional< uint32_t >  border = std::optional< uint32_t >() 
)

◆ allPaintTargets()

std::vector< PaintTarget > const & Inkscape::allPaintTargets ( )

Convenience function to access a common vector of all enum values.

Definition at line 71 of file gradient-chemistry.cpp.

Referenced by GrDrag::addStopNearPoint().

◆ angle_of()

static double Inkscape::angle_of ( Geom::Affine const &  affine)
static

Definition at line 347 of file canvas-item-ctrl.cpp.

References Geom::atan2().

Referenced by Inkscape::CanvasItemCtrl::_update().

◆ append()

template<typename T >
static void Inkscape::append ( std::vector< T > &  target,
std::vector< T > &&  source 
)
static

Definition at line 515 of file shortcuts.cpp.

Referenced by Inkscape::UI::Widget::ColorScales< MODE >::_initUI(), Inkscape::UI::Widget::DialogPage::add_group_header(), Inkscape::UI::Widget::DialogPage::add_group_note(), Inkscape::UI::Widget::Licensor::add_item(), Inkscape::UI::Widget::UnitMenu::addUnit(), Inkscape::UI::Dialog::AlignAndDistribute::AlignAndDistribute(), Inkscape::UI::Widget::AlignmentSelector::AlignmentSelector(), Inkscape::UI::Widget::AnchorSelector::AnchorSelector(), Inkscape::UI::Widget::ComboBoxEntryToolItem::ComboBoxEntryToolItem(), Inkscape::UI::Widget::ComboToolItem::ComboToolItem(), Inkscape::UI::Widget::CompletionPopup::CompletionPopup(), Inkscape::UI::Dialog::FilterEffectsDialog::FilterModifier::create_menu(), Inkscape::UI::Toolbar::Toolbars::create_toolbars(), Inkscape::UI::Widget::DashSelector::DashSelector(), Inkscape::UI::Dialog::DialogContainer::DialogContainer(), Inkscape::UI::Dialog::DocumentResources::DocumentResources(), Inkscape::UI::Dialog::SvgFontsDialog::EntryWidget::EntryWidget(), Inkscape::UI::Dialog::Export::Export(), Inkscape::UI::Dialog::ExtensionsGallery::ExtensionsGallery(), Inkscape::UI::Widget::FillNStroke::FillNStroke(), Inkscape::UI::Dialog::FontCollectionsManager::FontCollectionsManager(), Inkscape::UI::Widget::FontVariationAxis::FontVariationAxis(), Inkscape::Shortcuts::get_file_names(), Inkscape::UI::Widget::GradientEditor::GradientEditor(), Inkscape::UI::Widget::PrefCombo::init(), Inkscape::UI::Dialog::InkscapePreferences::InkscapePreferences(), Inkscape::UI::Dialog::LivePathEffectEditor::LivePathEffectEditor(), Inkscape::UI::Dialog::ObjectAttributes::ObjectAttributes(), Inkscape::UI::Widget::PrefRadioButtons::PrefRadioButtons(), Inkscape::UI::Widget::RenderingOptions::RenderingOptions(), Inkscape::UI::Widget::SelectedStyle::SelectedStyle(), Inkscape::UI::Widget::UnitMenu::setUnitType(), Inkscape::UI::Dialog::ExtensionList::setup(), Inkscape::UI::Widget::SimpleFilterModifier::SimpleFilterModifier(), Inkscape::UI::Widget::StrokeStyle::StrokeStyle(), Inkscape::UI::Dialog::SwatchesPanel::SwatchesPanel(), Inkscape::UI::Dialog::TextEdit::TextEdit(), Inkscape::UI::Widget::FontVariations::update(), and Inkscape::UI::Dialog::XmlTree::XmlTree().

◆ apply_antialias()

void Inkscape::apply_antialias ( DrawingContext dc,
Antialiasing  antialias 
)

◆ asICColorProfileClassSig()

cmsProfileClassSignature Inkscape::asICColorProfileClassSig ( ColorProfileClassSig const &  sig)

Definition at line 69 of file color-profile.cpp.

◆ asICColorSpaceSig()

cmsColorSpaceSignature Inkscape::asICColorSpaceSig ( ColorSpaceSig const &  sig)

◆ bind_textdomain_codeset_console()

void Inkscape::bind_textdomain_codeset_console ( )

set gettext codeset to codeset of the system console

  • on *nix this is typically the current locale,
  • on Windows we don't care and simply use UTF8 any conversion would need to happen in our console wrappers (see winconsole.cpp) anyway as we have no easy way of determining console encoding from inkscape/inkview.exe process; for now do something even easier - switch console encoding to UTF8 and be done with it! this also works nicely on MSYS consoles where UTF8 encoding is used by default, too

Definition at line 67 of file gettext.cpp.

◆ bind_textdomain_codeset_utf8()

void Inkscape::bind_textdomain_codeset_utf8 ( )

set gettext codeset to UTF8

Definition at line 56 of file gettext.cpp.

◆ build_relative_uri()

static std::string Inkscape::build_relative_uri ( char const *  uri,
char const *  base 
)
static

Replacement for buggy xmlBuildRelativeURI https://gitlab.gnome.org/GNOME/libxml2/merge_requests/12.

Special case: Don't cross filesystem root, e.g. drive letter on Windows. This is an optimization to keep things practical, it's not required for correctness.

Parameters
urian absolute URI
basean absolute URI without any ".." path segments
Returns
relative URI if possible, otherwise uri unchanged

Definition at line 234 of file uri.cpp.

Referenced by Inkscape::URI::str().

◆ calcScaleFactors()

Geom::Scale Inkscape::calcScaleFactors ( Geom::Point const &  initial_point,
Geom::Point const &  new_point,
Geom::Point const &  origin,
bool const  skew = false 
)

◆ choose_file_open() [1/2]

std::string Inkscape::choose_file_open ( Glib::ustring const &  title,
Gtk::Window *  parent,
std::vector< Glib::ustring > const &  mime_types,
std::string &  current_folder 
)

Synchronously run a Gtk::FileDialog to open a single file for reading data.

Parameters
mime_typeMIME types to offer as file filters in the dialog.
current_folderPath of initial folder to show, updated to parent of selected file if any
Returns
name of selected file as local path, or empty if no file selected or not representable

Definition at line 149 of file choose-file.cpp.

References _choose_file_open(), and parent.

Referenced by Inkscape::UI::Dialog::choose_palette_file().

◆ choose_file_open() [2/2]

std::string Inkscape::choose_file_open ( Glib::ustring const &  title,
Gtk::Window *  parent,
std::vector< std::pair< Glib::ustring, Glib::ustring > > const &  filters,
std::string &  current_folder 
)

Synchronously run a Gtk::FileDialog to open a single file for reading data.

Parameters
filtersVector of pairs of <name, pattern> to create file filters to offer in the dialog
current_folderPath of initial folder to show, updated to parent of selected file if any
Returns
name of selected file as local path, or empty if no file selected or not representable

Definition at line 156 of file choose-file.cpp.

References _choose_file_open(), and parent.

◆ choose_file_save()

std::string Inkscape::choose_file_save ( Glib::ustring const &  title,
Gtk::Window *  parent,
Glib::ustring const &  mime_type,
Glib::ustring const &  file_name,
std::string &  current_folder 
)

Synchronously run a Gtk::FileDialog to select a file for saving data.

Parameters
mime_typeMIME type to use as a file filter in the dialog.
file_nameName of the initial file to show in the dialogʼs text entry.
current_folderPath of initial folder to show, updated to parent of selected file if any
Returns
name of selected file as local path, or empty if no file selected or not representable

Definition at line 86 of file choose-file.cpp.

References create, create_file_dialog(), parent, run(), Inkscape::Extension::save(), and set_filter().

Referenced by Inkscape::UI::Dialog::choose_file(), and extract_image().

◆ clean_pathvector()

static Geom::PathVector Inkscape::clean_pathvector ( Geom::PathVector &&  pathv)
static

Definition at line 37 of file booleans-subitems.cpp.

References is_path_empty(), and result.

Referenced by Inkscape::SubItem::operator+=().

◆ compute_distance()

static int Inkscape::compute_distance ( PangoFontDescription const *  a,
PangoFontDescription const *  b 
)
static

Definition at line 1121 of file font-lister.cpp.

References Geom::abs(), and Geom::distance().

Referenced by font_description_better_match().

◆ connected_components()

std::vector< std::vector< int > > Inkscape::connected_components ( int  size,
std::function< bool(int, int)> const &  adj_test 
)

Return the list of connected components of a graph described by an adjacency-test function.

Parameters
sizeThe number of nodes in the graph. (Nodes are labelled from 0 to size - 1.)
adj_testThe adjacency-test function.

Definition at line 1161 of file geom-pathstroke.cpp.

References size.

Referenced by split_non_intersecting_paths().

◆ convert_text_to_curves()

◆ copy()

◆ copy_object_properties()

void Inkscape::copy_object_properties ( XML::Node dest,
XML::Node const *  src 
)

Copy generic object properties, like:

  • id
  • label
  • title
  • description
  • style
  • clip
  • mask
  • transformation center
  • highlight color
  • interactivity (event attributes)
Parameters
destXML node to copy to
srcXML node to copy from

Definition at line 800 of file path-chemistry.cpp.

References ink_copy_generic_attributes(), and ink_copy_generic_children().

Referenced by Inkscape::ObjectSet::combine(), item_to_paths(), Inkscape::ObjectSet::pathBoolOp(), sp_selected_item_to_curved_repr(), sp_selected_path_create_offset_object(), and sp_selected_path_do_offset().

◆ create_file_dialog()

Glib::RefPtr< Gtk::FileDialog > Inkscape::create_file_dialog ( Glib::ustring const &  title,
Glib::ustring const &  accept_label 
)

Create a Gtk::FileDialog with the given title and label for its default/accept button.

Definition at line 18 of file choose-file.cpp.

References create.

Referenced by _choose_file_open(), choose_file_save(), and Inkscape::Extension::ParamPath::on_button_clicked().

◆ create_layer()

SPObject * Inkscape::create_layer ( SPObject root,
SPObject layer,
LayerRelativePosition  position 
)

Creates a new layer.

Advances to the next layer id indicated by the string "layerNN", then creates a new group object of that id with attribute inkscape:groupmode='layer', and finally appends the new group object to root after object layer.

Precondition
root should be either layer or an ancestor of it

Definition at line 425 of file layer-manager.cpp.

References Inkscape::XML::Node::addChild(), Inkscape::XML::Document::createElement(), SPDocument::getObjectById(), SPDocument::getObjectByRepr(), SPObject::getRepr(), SPDocument::getReprDoc(), last_child_layer(), LPOS_BELOW, LPOS_CHILD, Inkscape::XML::Node::parent(), root, and Inkscape::XML::Node::setAttribute().

Referenced by Inkscape::UI::Dialog::LayerPropertiesDialog::_doCreate(), Inkscape::UI::Dialog::get_or_create_layer_for_glyph(), and layer_new_above().

◆ create_marker_image()

Cairo::RefPtr< Cairo::Surface > Inkscape::create_marker_image ( const Glib::ustring &  group_id,
SPDocument _sandbox,
Gdk::RGBA  marker_color,
Geom::IntPoint  pixel_size,
const char *  mname,
SPDocument source,
Inkscape::Drawing drawing,
std::optional< guint32 checkerboard,
bool  no_clip,
double  scale,
int  device_scale 
)

Creates a copy of the marker named mname, determines its visible and renderable area in the bounding box, and then renders it.

This allows us to fill in preview images of each marker in the marker combobox.

Referenced by Inkscape::UI::Widget::MarkerComboBox::create_marker_image().

◆ debug_info()

std::string Inkscape::debug_info ( )

Return full debug info.

Returns full debug info including:

  • Inkscape version
  • versions of various dependencies
  • OS name and version
Returns
debug info

Definition at line 117 of file inkscape-version-info.cpp.

References inkscape_version(), and os_version().

Referenced by Inkscape::Application::crash_handler(), InkscapeApplication::on_handle_local_options(), print_debug_info(), and Inkscape::UI::Dialog::show_about().

◆ default_numthreads()

static auto Inkscape::default_numthreads ( )
static

Definition at line 45 of file drawing.cpp.

Referenced by Inkscape::Drawing::_loadPrefs().

◆ distance_to_segment()

static double Inkscape::distance_to_segment ( Geom::Point const &  p,
Geom::Point const &  a1,
Geom::Point const &  a2 
)
static

Calculates the closest distance from p to the segment a1-a2.

Definition at line 195 of file drawing-image.cpp.

References Geom::distance(), Geom::BezierCurveN< degree >::nearestTime(), and Geom::BezierCurve::pointAt().

Referenced by Inkscape::DrawingImage::_pickItem().

◆ do_offset() [1/2]

Geom::PathVector Inkscape::do_offset ( Geom::PathVector const &  path_in,
double  to_offset,
double  tolerance,
double  miter_limit,
FillRule  fillrule,
Inkscape::LineJoinType  join 
)

Definition at line 1347 of file geom-pathstroke.cpp.

References do_offset(), Geom::infinity(), and join().

◆ do_offset() [2/2]

◆ double_to_css_value()

Glib::ustring Inkscape::double_to_css_value ( double  value)

Definition at line 57 of file svg-renderer.cpp.

Referenced by Inkscape::UI::Widget::GradientWithStops::draw_func().

◆ draw_gradient()

void Inkscape::draw_gradient ( const Cairo::RefPtr< Cairo::Context > &  cr,
SPGradient gradient,
int  x,
int  width 
)

Renders a preview of a gradient into the passed context.

Referenced by Inkscape::UI::Widget::GradientWithStops::draw_func().

◆ draw_handles_preview()

◆ drawline()

static void Inkscape::drawline ( Inkscape::CanvasItemBuffer buf,
int  x0,
int  y0,
int  x1,
int  y1,
uint32_t  rgba 
)
static

Definition at line 382 of file canvas-item-grid.cpp.

References buf.

Referenced by Inkscape::CanvasItemGridAxonom::_render().

◆ dump_event()

void Inkscape::dump_event ( CanvasEvent const &  event,
char const *  prefix,
bool  merge = true 
)
inline

Print an event to stdout.

  • event The event to print.
  • prefix A string to print before the event, to help identify its context.
  • merge Whether to compress consecutive motion events into one.

Definition at line 29 of file debug.h.

References inspect_event(), Geom::merge(), Inkscape::CanvasEvent::modifiers, MOTION, Spiro::n, NUM_EVENTS, and Inkscape::CanvasEvent::type().

Referenced by Inkscape::UI::Tools::ToolBase::root_handler(), Inkscape::UI::Tools::TextTool::root_handler(), sp_desktop_root_handler(), sp_dt_guide_event(), Inkscape::UI::Tools::ToolBase::start_root_handler(), and Inkscape::UI::Tools::ToolBase::tool_root_handler().

◆ extinput_from_gdkevent()

ExtendedInput Inkscape::extinput_from_gdkevent ( Gdk::Event const &  event)
inline

◆ extract_image()

bool Inkscape::extract_image ( Gtk::Window *  parent,
SPImage image 
)

◆ extract_pathvectors_recursive()

static void Inkscape::extract_pathvectors_recursive ( SPItem root,
SPItem item,
PathvectorItems result,
Geom::Affine const &  transform 
)
static

◆ extractFilepath()

static bool Inkscape::extractFilepath ( Glib::ustring const &  href,
std::string &  filename 
)
static

Try to parse href into a local filename using standard methods.

Returns
true if successful.

Definition at line 137 of file fix-broken-links.cpp.

Referenced by findBrokenLinks(), and locateLinks().

◆ findBrokenLinks()

static std::vector< Glib::ustring > Inkscape::findBrokenLinks ( SPDocument doc)
static

Walk all links in a document and create a listing of unique broken links.

Returns
a list of all broken links.

Definition at line 187 of file fix-broken-links.cpp.

References extractFilepath(), Inkscape::IO::file_test(), SPDocument::getDocumentBase(), getHrefAttribute(), SPDocument::getResourceList(), image, reconstructFilepath(), and result.

Referenced by fixBrokenLinks().

◆ first_descendant_layer()

static SPObject * Inkscape::first_descendant_layer ( SPObject layer)
static

Finds the first child of a layer.

Returns
the layer itself if layer has no sublayers

Definition at line 336 of file layer-manager.cpp.

References SPObject::children, and is_layer().

Referenced by next_layer().

◆ fixBrokenLinks()

◆ font_description_better_match()

gboolean Inkscape::font_description_better_match ( PangoFontDescription target,
PangoFontDescription old_desc,
PangoFontDescription new_desc 
)

Definition at line 1151 of file font-lister.cpp.

References compute_distance().

Referenced by Inkscape::FontLister::get_best_style_match().

◆ get_color_profile_name()

std::string Inkscape::get_color_profile_name ( cmsHPROFILE  profile)

◆ get_from_event_impl()

static Gtk::AccelKey Inkscape::get_from_event_impl ( unsigned const  event_keyval,
unsigned const  event_keycode,
GdkModifierType const  event_state,
unsigned const  event_group,
bool const  fix 
)
static

◆ get_layers_to_toggle()

std::vector< SPItem * > Inkscape::get_layers_to_toggle ( SPObject layer,
SPObject current_root 
)

◆ get_size_default()

static int Inkscape::get_size_default ( )
static

◆ getBBoxPoints() [1/2]

void Inkscape::getBBoxPoints ( Geom::OptRect const  bbox,
std::vector< SnapCandidatePoint > *  points,
bool const  isTarget,
bool const  corners,
bool const  edges,
bool const  midpoint 
)

◆ getBBoxPoints() [2/2]

void Inkscape::getBBoxPoints ( Geom::OptRect const  bbox,
std::vector< SnapCandidatePoint > *  points,
bool const  isTarget,
Inkscape::SnapSourceType  corners,
Inkscape::SnapTargetType  cornert,
Inkscape::SnapSourceType  edges,
Inkscape::SnapTargetType  edget,
Inkscape::SnapSourceType  midpoints,
Inkscape::SnapTargetType  midpointt 
)

Definition at line 759 of file object-snapper.cpp.

◆ getHrefAttribute()

◆ half_outline()

Geom::Path Inkscape::half_outline ( Geom::Path const &  input,
double  width,
double  miter,
LineJoinType  join = JOIN_BEVEL,
double  tolerance = -1 
)

Offset the input path by width.

Joins may behave oddly if the width is negative.

Parameters
[in]inputInput path.
[in]widthAmount to offset.
[in]miterMiter limit. Only used when join is one of JOIN_MITER, JOIN_MITER_CLIP, and JOIN_EXTRAPOLATE.
[in]joinLine join type used during offset. Member of LineJoinType enum.
[in]toleranceTolerance, values smaller than 0 lead to automatic tolerance depending on width.
Returns
Offsetted output.

Definition at line 1045 of file geom-pathstroke.cpp.

References Geom::abs(), Geom::Path::append(), Geom::are_near(), Geom::Path::back(), Geom::Path::back_closed(), Geom::Path::begin(), Geom::Path::clear(), Geom::Path::close(), Geom::Path::closed(), Geom::Path::erase(), Geom::Path::erase_last(), Geom::Curve::finalPoint(), Geom::Path::front(), Geom::Path::initialPoint(), Geom::Curve::initialPoint(), join(), outline_join(), Geom::Path::setStitching(), Geom::Path::size(), Geom::Path::size_default(), Geom::Path::size_open(), Geom::Path::start(), start, and width.

Referenced by do_offset(), Inkscape::LivePathEffect::LPETaperStroke::doBeforeEffect(), and outline().

◆ have_viable_layer() [1/2]

◆ have_viable_layer() [2/2]

bool Inkscape::have_viable_layer ( SPDesktop desktop,
MessageStack message 
)

Check to see if the current layer is both unhidden and unlocked.

If not, set a message about it on the given context.

Parameters
desktopDesktop.
messageMessage context to put messages on.
Returns
true if the current layer is both unhidden and unlocked, otherwise false.

Definition at line 71 of file context-fns.cpp.

References Inkscape::LayerManager::currentLayer(), Inkscape::MessageStack::flash(), SPDesktop::itemIsHidden(), SPDesktop::layerManager(), and WARNING_MESSAGE.

◆ held_alt()

◆ held_any_modifiers()

bool Inkscape::held_any_modifiers ( CanvasEvent const &  event)
inline

◆ held_button()

template<unsigned button>
bool Inkscape::held_button ( CanvasEvent const &  event)
inline

Definition at line 374 of file canvas-event.h.

References Inkscape::CanvasEvent::modifiers.

◆ held_ctrl()

◆ held_no_modifiers()

bool Inkscape::held_no_modifiers ( CanvasEvent const &  event)
inline

◆ held_only_alt()

bool Inkscape::held_only_alt ( CanvasEvent const &  event)
inline

◆ held_only_ctrl()

bool Inkscape::held_only_ctrl ( CanvasEvent const &  event)
inline

◆ held_only_shift()

bool Inkscape::held_only_shift ( CanvasEvent const &  event)
inline

◆ held_shift()

◆ initialize_gettext()

void Inkscape::initialize_gettext ( )

does all required gettext initialization and takes care of the respective locale directory paths

Definition at line 30 of file gettext.cpp.

References Inkscape::IO::file_test(), and get_inkscape_datadir().

Referenced by InkscapeApplication::InkscapeApplication(), and InkviewApplication::InkviewApplication().

◆ ink_markers_preview_doc()

std::unique_ptr< SPDocument > Inkscape::ink_markers_preview_doc ( const Glib::ustring &  group_id)

Returns a new document containing default start, mid, and end markers.

Note 1: group IDs are matched against "group_id" to render correct preview object. Note 2: paths/lines are kept outside of groups, so they don't inflate visible bounds Note 3: invisible rects inside groups keep visual bounds from getting too small, so we can see relative marker sizes

Referenced by Inkscape::UI::Widget::MarkerComboBox::MarkerComboBox().

◆ inkscape_build_year()

unsigned short int Inkscape::inkscape_build_year ( )

Return build year as 4 digit.

Returns
Inkscape build year

Definition at line 151 of file inkscape-version-info.cpp.

References build_year.

Referenced by Inkscape::UI::Dialog::show_about().

◆ inkscape_revision()

std::string Inkscape::inkscape_revision ( )

Return Inkscape repository revision string.

Returns
code revision string

Definition at line 51 of file inkscape-version-info.cpp.

References revision_string.

Referenced by add_actions_base(), and InkscapeApplication::InkscapeApplication().

◆ inkscape_version()

std::string Inkscape::inkscape_version ( )

Return Inkscape version string.

Returns the Inkscape version string including program name.

Returns
version string

Definition at line 42 of file inkscape-version-info.cpp.

References version_string.

Referenced by debug_info(), InkscapeApplication::on_handle_local_options(), print_inkscape_version(), Inkscape::UI::Dialog::show_about(), and Inkscape::UI::Dialog::StartScreen::StartScreen().

◆ inspect_event()

template<typename E , typename... Fs>
void Inkscape::inspect_event ( E &&  event,
Fs...  funcs 
)

Perform pattern-matching on a CanvasEvent.

This function takes an event and a list of function objects, and passes the event to the function object whose argument type best matches the dynamic type of the event.

  • event The CanvasEvent to inspect.
  • funcs A list of function objects, each taking a single argument.

Definition at line 290 of file canvas-event.h.

References BUTTON_PRESS, BUTTON_RELEASE, ENTER, KEY_PRESS, KEY_RELEASE, LEAVE, MOTION, and SCROLL.

Referenced by Inkscape::UI::ControlPoint::_eventHandler(), Inkscape::UI::Handle::_eventHandler(), Inkscape::UI::Node::_eventHandler(), Inkscape::UI::Tools::ToolBase::_filterEventForSnapping(), Inkscape::UI::Tools::cc_generic_knot_handler(), dump_event(), Inkscape::UI::Tools::endpt_handler(), Inkscape::UI::ModifierTracker::event(), Inkscape::UI::View::SVGViewWidget::event(), Inkscape::UI::MultiPathManipulator::event(), Inkscape::UI::PathManipulator::event(), SPKnot::eventHandler(), Inkscape::CanvasItemDrawing::handle_event(), Inkscape::UI::Tools::ArcTool::item_handler(), Inkscape::UI::Tools::ConnectorTool::item_handler(), Inkscape::UI::Tools::FloodTool::item_handler(), Inkscape::UI::Tools::LpeTool::item_handler(), Inkscape::UI::Tools::NodeTool::item_handler(), Inkscape::UI::Tools::PenTool::item_handler(), Inkscape::UI::Tools::RectTool::item_handler(), Inkscape::UI::Tools::SelectTool::item_handler(), Inkscape::UI::Tools::TextTool::item_handler(), Inkscape::UI::Tools::ToolBase::menu_popup(), Inkscape::UI::Tools::PagesTool::menu_popup(), Inkscape::UI::Tools::ToolBase::root_handler(), Inkscape::UI::Tools::EraserTool::root_handler(), Inkscape::UI::Tools::ArcTool::root_handler(), Inkscape::UI::Tools::InteractiveBooleansTool::root_handler(), Inkscape::UI::Tools::Box3dTool::root_handler(), Inkscape::UI::Tools::CalligraphicTool::root_handler(), Inkscape::UI::Tools::ConnectorTool::root_handler(), Inkscape::UI::Tools::DropperTool::root_handler(), Inkscape::UI::Tools::FloodTool::root_handler(), Inkscape::UI::Tools::FreehandBase::root_handler(), Inkscape::UI::Tools::GradientTool::root_handler(), Inkscape::UI::Tools::LpeTool::root_handler(), Inkscape::UI::Tools::MarkerTool::root_handler(), Inkscape::UI::Tools::MeasureTool::root_handler(), Inkscape::UI::Tools::MeshTool::root_handler(), Inkscape::UI::Tools::NodeTool::root_handler(), Inkscape::UI::Tools::PagesTool::root_handler(), Inkscape::UI::Tools::PenTool::root_handler(), Inkscape::UI::Tools::PencilTool::root_handler(), Inkscape::UI::Tools::RectTool::root_handler(), Inkscape::UI::Tools::SelectTool::root_handler(), Inkscape::UI::Tools::SpiralTool::root_handler(), Inkscape::UI::Tools::SprayTool::root_handler(), Inkscape::UI::Tools::StarTool::root_handler(), Inkscape::UI::Tools::TextTool::root_handler(), Inkscape::UI::Tools::TweakTool::root_handler(), Inkscape::UI::Tools::ZoomTool::root_handler(), Inkscape::UI::Tools::ObjectPickerTool::root_handler(), Inkscape::UI::Tools::ToolBase::set_on_buttons(), sp_dt_guide_event(), and sp_sel_trans_handle_event().

◆ intersect_line_rectangle()

static std::vector< Geom::Point > Inkscape::intersect_line_rectangle ( Geom::Line const &  line,
Geom::Rect const &  rect 
)
static

◆ is_icc_file()

bool Inkscape::is_icc_file ( std::string const &  filepath)

Definition at line 35 of file cms-util.cpp.

References is_icc_file(), len, and Inkscape::UI::Widget::profile().

Referenced by is_icc_file(), and Inkscape::CMSSystem::load_profiles().

◆ is_layer()

static bool Inkscape::is_layer ( SPObject object)
static

◆ is_path_empty()

bool Inkscape::is_path_empty ( Geom::Path const &  path)

Check for an empty path.

Return true if the given path has close to zero area.

Definition at line 1190 of file geom-pathstroke.cpp.

References Geom::abs(), Geom::area(), Geom::centroid(), and Geom::Path::toPwSb().

Referenced by Inkscape::SubItem::build_mosaic(), clean_pathvector(), and split_non_intersecting_paths().

◆ is_query_style_updateable()

bool Inkscape::is_query_style_updateable ( const int  style)
inline

◆ join()

◆ last_child_layer()

static SPObject * Inkscape::last_child_layer ( SPObject layer)
static

Finds the last (topmost) child of a layer.

Returns
NULL if layer has no sublayers

Definition at line 352 of file layer-manager.cpp.

References SPObject::children, and is_layer().

Referenced by create_layer(), and previous_layer().

◆ last_elder_layer()

static SPObject * Inkscape::last_elder_layer ( SPObject root,
SPObject layer 
)
static

Definition at line 358 of file layer-manager.cpp.

References SPObject::parent, previous_sibling_layer(), result, and root.

Referenced by previous_layer().

◆ load_document()

std::shared_ptr< SPDocument > Inkscape::load_document ( const char *  svg_file_path)

Definition at line 64 of file svg-renderer.cpp.

References ink_file_open().

◆ load_svg_cursor()

Glib::RefPtr< Gdk::Cursor > Inkscape::load_svg_cursor ( Gtk::Widget &  widget,
std::string const &  file_name,
std::uint32_t const  fill,
std::uint32_t const  stroke,
double  fill_opacity,
double  stroke_opacity 
)

◆ loadImpl()

static Inkscape::XML::Document * Inkscape::loadImpl ( std::string const &  prefsFilename,
Glib::ustring &  errMsg 
)
static

◆ locateLinks()

static std::map< Glib::ustring, Glib::ustring > Inkscape::locateLinks ( Glib::ustring const &  docbase,
std::vector< Glib::ustring > const &  brokenLinks 
)
static

Resolve broken links as a whole and return a map for those that can be found.

Note: this will allow for future enhancements including relinking to new locations with the most broken files found, etc.

Returns
a map of found links.

Definition at line 225 of file fix-broken-links.cpp.

References extractFilepath(), Inkscape::IO::file_test(), optimizePath(), reconstructFilepath(), result, and searchUpwards().

Referenced by fixBrokenLinks().

◆ migrateDetails()

static void Inkscape::migrateDetails ( Inkscape::XML::Document from,
Inkscape::XML::Document to 
)
static

◆ mod_alt() [1/2]

bool Inkscape::mod_alt ( KeyEvent const &  event)
inline

Definition at line 342 of file canvas-event.h.

References mod_alt(), and Inkscape::CanvasEvent::modifiers.

◆ mod_alt() [2/2]

◆ mod_alt_only() [1/2]

bool Inkscape::mod_alt_only ( KeyEvent const &  event)
inline

Definition at line 345 of file canvas-event.h.

References mod_alt_only(), and Inkscape::CanvasEvent::modifiers.

◆ mod_alt_only() [2/2]

◆ mod_ctrl() [1/2]

bool Inkscape::mod_ctrl ( KeyEvent const &  event)
inline

Definition at line 341 of file canvas-event.h.

References mod_ctrl(), and Inkscape::CanvasEvent::modifiers.

◆ mod_ctrl() [2/2]

◆ mod_ctrl_only() [1/2]

bool Inkscape::mod_ctrl_only ( KeyEvent const &  event)
inline

Definition at line 344 of file canvas-event.h.

References mod_ctrl_only(), and Inkscape::CanvasEvent::modifiers.

◆ mod_ctrl_only() [2/2]

◆ mod_shift() [1/2]

bool Inkscape::mod_shift ( KeyEvent const &  event)
inline

Definition at line 340 of file canvas-event.h.

References mod_shift(), and Inkscape::CanvasEvent::modifiers.

◆ mod_shift() [2/2]

◆ mod_shift_only() [1/2]

bool Inkscape::mod_shift_only ( KeyEvent const &  event)
inline

Definition at line 343 of file canvas-event.h.

References mod_shift_only(), and Inkscape::CanvasEvent::modifiers.

◆ mod_shift_only() [2/2]

◆ next_layer()

SPObject * Inkscape::next_layer ( SPObject root,
SPObject layer 
)

Finds the next layer under root, relative to layer in depth-first order.

Returns
NULL if there are no further layers under root

Definition at line 378 of file layer-manager.cpp.

References first_descendant_layer(), next_sibling_layer(), SPObject::parent, result, and root.

Referenced by layer_delete(), layer_previous(), and Inkscape::ObjectSet::toNextLayer().

◆ next_sibling_layer()

static SPObject * Inkscape::next_sibling_layer ( SPObject layer)
static

Finds the next sibling layer for a layer.

Returns
NULL if there are no further layers under a parent

Definition at line 312 of file layer-manager.cpp.

References SPObject::children, is_layer(), and SPObject::parent.

Referenced by next_layer().

◆ operator&()

constexpr EventMask Inkscape::operator& ( EventType  a,
EventMask  b 
)
constexpr

Definition at line 56 of file enums.h.

◆ operator|()

constexpr EventMask Inkscape::operator| ( EventType  a,
EventMask  b 
)
constexpr

Definition at line 57 of file enums.h.

◆ operator~()

constexpr EventMask Inkscape::operator~ ( EventType  a)
constexpr

Definition at line 55 of file enums.h.

◆ optimizePath()

std::string Inkscape::optimizePath ( std::string const &  path,
std::string const &  base,
unsigned int  parents 
)

Convert an absolute path into a relative one if possible to do in the given number of parent steps.

  • path - The absolute path to convert
  • base - The base or reference path to be relative to
  • parents - The number of parents or .. segments to allow

Definition at line 65 of file fix-broken-links.cpp.

References result, and splitPath().

Referenced by locateLinks(), Inkscape::UI::Dialog::BatchExport::setBatchPath(), and SPObject::setExportFilename().

◆ os_version()

std::string Inkscape::os_version ( )

Return OS version string.

Returns the OS version string including OS name.

Relies on glib's 'g_get_os_info'. Might be undefined on some OSs. "(unknown)" is returned in this case.

Returns
version string

Definition at line 84 of file inkscape-version-info.cpp.

References _run().

Referenced by debug_info().

◆ outline()

Geom::PathVector Inkscape::outline ( Geom::Path const &  input,
double  width,
double  miter,
LineJoinType  join = JOIN_BEVEL,
LineCapType  cap = BUTT_FLAT,
double  tolerance = -1 
)

Strokes the path given by input.

Joins may behave oddly if the width is negative.

Parameters
[in]inputInput path.
[in]widthStroke width.
[in]miterMiter limit. Only used when join is one of JOIN_MITER, JOIN_MITER_CLIP, and JOIN_EXTRAPOLATE.
[in]joinLine join type used during offset. Member of LineJoinType enum.
[in]capLine cap type used during stroking. Member of LineCapType enum.
[in]toleranceTolerance, values smaller than 0 lead to automatic tolerance depending on width.
Returns
Stroked path. If the input path is closed, the resultant vector will contain two paths. Otherwise, there should be only one in the output.

Definition at line 995 of file geom-pathstroke.cpp.

References Geom::PathIteratorSink< OutputIterator >::append(), BUTT_PEAK, BUTT_ROUND, BUTT_SQUARE, Geom::Path::closed(), Geom::PathIteratorSink< OutputIterator >::closePath(), Geom::PathIteratorSink< OutputIterator >::flush(), half_outline(), Geom::Path::initialPoint(), join(), Geom::PathIteratorSink< OutputIterator >::moveTo(), Geom::PathBuilder::peek(), Geom::Path::reversed(), Geom::Path::size(), and width.

Referenced by Inkscape::DrawingItem::_markForRendering(), Inkscape::DrawingImage::_pickItem(), Inkscape::DrawingShape::_pickItem(), Inkscape::DrawingGlyphs::_pickItem(), Inkscape::DrawingImage::_renderItem(), Inkscape::DrawingShape::_renderItem(), Inkscape::DrawingText::_renderItem(), Inkscape::DrawingGroup::_updateItem(), Inkscape::UI::Widget::Graphics::calc_splitview_cliprects(), do_offset(), Inkscape::LivePathEffect::LPEJoinType::doEffect_path(), find_group_at_point(), find_items_at_point(), SPText::getInclusionShape(), SPDocument::getItemFromListAtPointBottom(), SPMeshNodeArray::outline_path(), Inkscape::DrawingItem::pick(), Inkscape::DrawingItem::render(), Inkscape::DrawingItem::update(), and Inkscape::CanvasPage::update().

◆ outline_join()

void Inkscape::outline_join ( Geom::Path res,
Geom::Path const &  outgoing,
Geom::Point  in_tang,
Geom::Point  out_tang,
double  width,
double  miter,
LineJoinType  join 
)

Builds a join on the provided path.

Joins may behave oddly if the width is negative.

Parameters
[in,out]resThe path to build the join on. The outgoing path (or a portion thereof) will be appended after the join is created. Previous segments may be modified as an optimization, beware!
[in]outgoingThe segment to append on the outgoing portion of the join.
[in]in_tangThe end tangent to consider on the input path.
[in]out_tangThe begin tangent to consider on the output path.
[in]width
[in]miter
[in]join

Definition at line 1116 of file geom-pathstroke.cpp.

References Geom::Path::append(), Geom::are_near(), Geom::cross(), Geom::Path::finalPoint(), Geom::Path::front(), Geom::Path::initialPoint(), Geom::Curve::initialPoint(), join(), JOIN_BEVEL, JOIN_EXTRAPOLATE, JOIN_EXTRAPOLATE1, JOIN_EXTRAPOLATE2, JOIN_EXTRAPOLATE3, JOIN_MITER_CLIP, JOIN_ROUND, Geom::Path::setFinal(), Geom::Path::size(), and width.

Referenced by half_outline().

◆ parse_modifier_string()

Gdk::ModifierType Inkscape::parse_modifier_string ( char const *const  modifiers_string)

Definition at line 670 of file shortcuts.cpp.

References Geom::mod().

Referenced by Inkscape::Shortcuts::_read().

◆ parseIntRange()

std::set< unsigned int > Inkscape::parseIntRange ( const std::string &  input,
unsigned int  start = 1,
unsigned int  end = 0 
)
inline

Parse integer ranges out of a string using regex.

Parameters
input- A string containing number ranges that can either be comma separated or dash separated for non and continuous ranges.
start- Optional first number in the acceptable range.
end- The last number in the acceptable range.
Returns
a sorted set of unique numbers.

Definition at line 28 of file parse-int-range.h.

References Inkscape::UI::Controller::Detail::add(), end, Geom::max(), Geom::min(), parseIntRange(), and start.

Referenced by Inkscape::Extension::Internal::PdfImportDialog::_onPageNumberChanged(), InkFileExportCmd::do_export_png(), InkFileExportCmd::do_export_vector(), Inkscape::PageManager::getPages(), Inkscape::Extension::Internal::PdfInput::open(), and parseIntRange().

◆ previous_layer()

SPObject * Inkscape::previous_layer ( SPObject root,
SPObject layer 
)

Finds the previous layer under root, relative to layer in depth-first order.

Returns
NULL if there are no prior layers under root.

Definition at line 398 of file layer-manager.cpp.

References child, last_child_layer(), last_elder_layer(), SPObject::parent, previous_sibling_layer(), result, and root.

Referenced by Inkscape::LayerManager::getAllLayers(), layer_delete(), layer_next(), Inkscape::LayerManager::toggleHideAllLayers(), Inkscape::LayerManager::toggleLockAllLayers(), and Inkscape::ObjectSet::toPrevLayer().

◆ previous_sibling_layer()

static SPObject * Inkscape::previous_sibling_layer ( SPObject layer)
static

Finds the previous sibling layer for a layer.

Returns
NULL if there are no further layers under a parent

Definition at line 325 of file layer-manager.cpp.

References SPObject::children, is_layer(), SPObject::parent, and start.

Referenced by last_elder_layer(), and previous_layer().

◆ propagate_antialias()

void Inkscape::propagate_antialias ( SPShapeRendering  shape_rendering,
DrawingItem item 
)

Propagate element's shape rendering attribute into internal anti-aliasing setting of DrawingItem.

Definition at line 1256 of file drawing-item.cpp.

References Best, Fast, Good, item, None, SP_CSS_SHAPE_RENDERING_AUTO, SP_CSS_SHAPE_RENDERING_CRISPEDGES, SP_CSS_SHAPE_RENDERING_GEOMETRICPRECISION, and SP_CSS_SHAPE_RENDERING_OPTIMIZESPEED.

Referenced by SPShape::show().

◆ reconstructFilepath()

static bool Inkscape::reconstructFilepath ( Glib::ustring const &  href,
std::string &  filename 
)
static

Try to parse href into a local filename using some non-standard methods.

This means the href is likely invalid and should be rewritten.

Returns
true if successful.

Definition at line 167 of file fix-broken-links.cpp.

Referenced by findBrokenLinks(), and locateLinks().

◆ refX_named_to_percent()

char const * Inkscape::refX_named_to_percent ( char const *  str)

Definition at line 641 of file svg-length.cpp.

Referenced by SPSymbol::set().

◆ refY_named_to_percent()

char const * Inkscape::refY_named_to_percent ( char const *  str)

Definition at line 655 of file svg-length.cpp.

Referenced by SPSymbol::set().

◆ rendermode_to_renderflags()

static auto Inkscape::rendermode_to_renderflags ( RenderMode  mode)
static

◆ rgba_to_css_color() [1/3]

Glib::ustring Inkscape::rgba_to_css_color ( const Gdk::RGBA &  color)

Definition at line 47 of file svg-renderer.cpp.

References rgba_to_css_color().

◆ rgba_to_css_color() [2/3]

Glib::ustring Inkscape::rgba_to_css_color ( const SPColor color)

Definition at line 51 of file svg-renderer.cpp.

References SPColor::get_rgb_floatv(), rgb, and rgba_to_css_color().

◆ rgba_to_css_color() [3/3]

Glib::ustring Inkscape::rgba_to_css_color ( double  r,
double  g,
double  b 
)

◆ run()

static auto Inkscape::run ( Gtk::FileDialog &  file_dialog,
Gtk::Window &  parent,
std::string &  current_folder,
StartMethod const  start,
FinishMethod const  finish 
)
static

◆ save_image()

bool Inkscape::save_image ( const std::string &  fname,
const Inkscape::Pixbuf pixbuf 
)

Definition at line 12 of file save-image.cpp.

References image.

Referenced by extract_image().

◆ searchUpwards()

static bool Inkscape::searchUpwards ( std::string const &  base,
std::string const &  subpath,
std::string &  dest 
)
static

Definition at line 361 of file fix-broken-links.cpp.

References current, Inkscape::IO::file_test(), and splitPath().

Referenced by locateLinks().

◆ set_filter()

void Inkscape::set_filter ( Gtk::FileDialog &  file_dialog,
Glib::RefPtr< Gtk::FileFilter > const &  filter 
)

Set the available filters & the default filter, to the single filter passed.

Definition at line 36 of file choose-file.cpp.

References create, and set_filters().

Referenced by choose_file_save(), and Inkscape::UI::Dialog::FileSaveDialogImplGtk::setExtension().

◆ set_filters()

void Inkscape::set_filters ( Gtk::FileDialog &  file_dialog,
Glib::RefPtr< Gio::ListStore< Gtk::FileFilter > > const &  filters 
)

Set available filters to a given list, & default to its 1st filter (if any).

Definition at line 27 of file choose-file.cpp.

Referenced by _choose_file_open(), Inkscape::Extension::ParamPath::on_button_clicked(), and set_filter().

◆ set_svg_cursor()

void Inkscape::set_svg_cursor ( Gtk::Widget &  widget,
std::string const &  file_name,
std::uint32_t const  fill,
std::uint32_t const  stroke,
double  fill_opacity,
double  stroke_opacity 
)

Loads an SVG cursor from the specified file name, and sets it as the cursor of the given widget.

Definition at line 240 of file cursor-utils.cpp.

References load_svg_cursor().

Referenced by Inkscape::UI::Widget::RotateableSwatch::do_motion(), and Inkscape::UI::Tools::DropperTool::root_handler().

◆ setHrefAttribute()

void Inkscape::setHrefAttribute ( XML::Node node,
Util::const_char_ptr  value 
)

◆ signed_distance()

static double Inkscape::signed_distance ( Geom::Point const &  point,
Geom::Line const &  line 
)
static

◆ simple_cmyk_to_rgb()

std::array< uint8_t, 3 > Inkscape::simple_cmyk_to_rgb ( float  c,
float  m,
float  y,
float  k 
)

Definition at line 43 of file cmyk-conv.cpp.

References c, Inkscape::Filters::clamp(), and Hsluv::m.

Referenced by Inkscape::CmykConverter::cmyk_to_rgb().

◆ snap_rectangular_box()

◆ sp_to_livarot()

static FillRule Inkscape::sp_to_livarot ( SPWindRule  fillrule)
static

Definition at line 116 of file booleans-subitems.cpp.

References fill_nonZero, fill_oddEven, and SP_WIND_RULE_NONZERO.

Referenced by Inkscape::SubItem::build_flatten().

◆ SPBlendModeConverter()

const EnumDataConverter< SPBlendMode > Inkscape::SPBlendModeConverter ( SPBlendModeData  ,
SP_CSS_BLEND_COUNT   
)

◆ split_non_intersecting_paths()

std::vector< Geom::PathVector > Inkscape::split_non_intersecting_paths ( Geom::PathVector &&  paths,
bool  remove_empty = false 
)

Split a collection of paths into connected components.

Two paths are viewed as connected if they overlap.

Definition at line 1198 of file geom-pathstroke.cpp.

References connected_components(), is_path_empty(), paths, Geom::PathVector::push_back(), and result.

Referenced by SPCurve::split_non_overlapping().

◆ splitPath()

static std::vector< std::string > Inkscape::splitPath ( std::string const &  path)
static

Definition at line 36 of file fix-broken-links.cpp.

References Geom::reverse().

Referenced by optimizePath(), and searchUpwards().

◆ state_held_alt()

bool Inkscape::state_held_alt ( unsigned  state)
inline

◆ state_held_any_modifiers()

bool Inkscape::state_held_any_modifiers ( unsigned  state)
inline

Definition at line 358 of file canvas-event.h.

References INK_GDK_MODIFIER_MASK.

Referenced by held_any_modifiers(), and state_held_no_modifiers().

◆ state_held_button()

template<unsigned button>
bool Inkscape::state_held_button ( unsigned  state)
inline

Definition at line 362 of file canvas-event.h.

◆ state_held_ctrl()

bool Inkscape::state_held_ctrl ( unsigned  state)
inline

◆ state_held_no_modifiers()

bool Inkscape::state_held_no_modifiers ( unsigned  state)
inline

Definition at line 359 of file canvas-event.h.

References state_held_any_modifiers().

Referenced by held_no_modifiers().

◆ state_held_only_alt()

bool Inkscape::state_held_only_alt ( unsigned  state)
inline

Definition at line 357 of file canvas-event.h.

References INK_GDK_MODIFIER_MASK.

Referenced by held_only_alt().

◆ state_held_only_ctrl()

bool Inkscape::state_held_only_ctrl ( unsigned  state)
inline

◆ state_held_only_shift()

bool Inkscape::state_held_only_shift ( unsigned  state)
inline

◆ state_held_shift()

bool Inkscape::state_held_shift ( unsigned  state)
inline

◆ uri_needs_escaping()

static bool Inkscape::uri_needs_escaping ( char const *  uri)
static

Return true if the given URI string contains characters that need escaping.

Note: It does not check if valid characters appear in invalid context (e.g. '' not followed by two hex digits).

Definition at line 35 of file uri.cpp.

References URI_ALLOWED_NON_ALNUM.

◆ uri_to_iri()

std::string Inkscape::uri_to_iri ( const char *  uri)

Unescape the UTF-8 parts of the given URI.

Does not decode non-UTF-8 escape sequences (e.g. reserved ASCII characters). Does not do any IDN (internationalized domain name) decoding.

Parameters
uriURI or part of a URI
Returns
IRI equivalent of uri

Definition at line 427 of file uri.cpp.

References Spiro::n, and uri_unescape_utf8_codepoint().

Referenced by rebase_image_href().

◆ uri_unescape_triplet()

static int Inkscape::uri_unescape_triplet ( const char *  s)
static

If s starts with a "%XX" triplet, return its byte value, 0 otherwise.

Definition at line 371 of file uri.cpp.

Referenced by uri_unescape_utf8_codepoint().

◆ uri_unescape_utf8_codepoint()

static int Inkscape::uri_unescape_utf8_codepoint ( const char *  s,
char *  out 
)
static

If s starts with a percent-escaped UTF-8 sequence, unescape one code point and store it in out variable.

Do nothing and return 0 if s doesn't start with UTF-8.

Parameters
[in]spercent-escaped string
[out]outout-buffer, must have at least size 5
Returns
number of bytes read from s

Definition at line 393 of file uri.cpp.

References Spiro::n, and uri_unescape_triplet().

Referenced by uri_to_iri().

◆ VariantVisitor()

template<typename... Fs>
Inkscape::VariantVisitor ( Fs...  ) -> VariantVisitor< Fs... >

◆ vline()

static void Inkscape::vline ( Inkscape::CanvasItemBuffer buf,
int  x,
int  ys,
int  ye,
uint32_t  rgba 
)
static

Definition at line 391 of file canvas-item-grid.cpp.

References buf.

Referenced by Inkscape::CanvasItemGridAxonom::_render().

Variable Documentation

◆ build_year

unsigned short int const Inkscape::build_year
extern

four digit year of build

Referenced by inkscape_build_year().

◆ CANVAS_ITEM_COLORS

constexpr uint32_t Inkscape::CANVAS_ITEM_COLORS[] = { 0x0000ff7f, 0xff00007f, 0xffff007f }
inlineconstexpr

◆ DEBUG_EVENTS

constexpr bool Inkscape::DEBUG_EVENTS = false
inlineconstexpr

◆ DOCUMENT_FONTS

const std::string Inkscape::DOCUMENT_FONTS = _("Document Fonts")
inline

◆ fill_dark

constexpr std::array<uint32_t, 6> Inkscape::fill_dark = {0xffffff55, 0x0291ffff, 0x8eceffff, 0x0291ffff, 0xf299d6ff, 0xff0db3ff}
staticconstexpr

Definition at line 38 of file booleans-builder.cpp.

Referenced by Inkscape::BooleanBuilder::redraw_item().

◆ fill_lite

constexpr std::array<uint32_t, 6> Inkscape::fill_lite = {0x00000055, 0x0291ffff, 0x8eceffff, 0x0291ffff, 0xf299d6ff, 0xff0db3ff}
staticconstexpr

Definition at line 37 of file booleans-builder.cpp.

Referenced by Inkscape::BooleanBuilder::redraw_item().

◆ grayscale_matrix

auto constexpr Inkscape::grayscale_matrix
staticconstexpr
Initial value:
= std::array{
0.21, 0.72, 0.072, 0.0, 0.0,
0.21, 0.72, 0.072, 0.0, 0.0,
0.21, 0.72, 0.072, 0.0, 0.0,
0.0 , 0.0 , 0.0 , 1.0, 0.0
}

Definition at line 28 of file drawing.cpp.

◆ INK_GDK_MODIFIER_MASK

constexpr auto Inkscape::INK_GDK_MODIFIER_MASK = GDK_SHIFT_MASK | GDK_CONTROL_MASK | GDK_CONTROL_MASK
inlineconstexpr

◆ MAX_INDEX

constexpr int Inkscape::MAX_INDEX = 15
constexpr

◆ migrateFromDoc

Inkscape::XML::Document* Inkscape::migrateFromDoc = nullptr
static

Definition at line 40 of file preferences.cpp.

Referenced by Inkscape::Preferences::_load().

◆ MIN_INDEX

constexpr int Inkscape::MIN_INDEX = 1
constexpr

◆ RAWCACHE_CODE_NULL

Glib::ustring const Inkscape::RAWCACHE_CODE_NULL {"N"}
static

Definition at line 43 of file preferences.cpp.

Referenced by Inkscape::Preferences::_getRawValue().

◆ RAWCACHE_CODE_VALUE

Glib::ustring const Inkscape::RAWCACHE_CODE_VALUE {"V"}
static

◆ RECENTFONTS_FILENAME

const char* Inkscape::RECENTFONTS_FILENAME = "recently_used_fonts.log"
inline

◆ RECENTLY_USED_FONTS

const std::string Inkscape::RECENTLY_USED_FONTS = _("Recently Used Fonts")
inline

◆ revision_string

char const* Inkscape::revision_string
extern

code revision string

Referenced by inkscape_revision().

◆ SP_CSS_BLEND_COUNT

const int Inkscape::SP_CSS_BLEND_COUNT = SP_CSS_BLEND_ENDMODE + 5

Definition at line 24 of file filter-effect-chooser.cpp.

◆ SPBlendModeConverter

◆ SPBlendModeData

const EnumData<SPBlendMode> Inkscape::SPBlendModeData[SP_CSS_BLEND_COUNT]
Initial value:
= {
{ SP_CSS_BLEND_NORMAL, NC_("BlendMode", "Normal"), "normal" },
{ SP_CSS_BLEND_ENDMODE, "-", "-" },
{ SP_CSS_BLEND_DARKEN, NC_("BlendMode", "Darken"), "darken" },
{ SP_CSS_BLEND_MULTIPLY, NC_("BlendMode", "Multiply"), "multiply" },
{ SP_CSS_BLEND_COLORBURN, NC_("BlendMode", "Color Burn"), "color-burn" },
{ SP_CSS_BLEND_ENDMODE, "-", "-" },
{ SP_CSS_BLEND_LIGHTEN, NC_("BlendMode", "Lighten"), "lighten" },
{ SP_CSS_BLEND_SCREEN, NC_("BlendMode", "Screen"), "screen" },
{ SP_CSS_BLEND_COLORDODGE, NC_("BlendMode", "Color Dodge"), "color-dodge" },
{ SP_CSS_BLEND_ENDMODE, "-", "-" },
{ SP_CSS_BLEND_OVERLAY, NC_("BlendMode", "Overlay"), "overlay" },
{ SP_CSS_BLEND_SOFTLIGHT, NC_("BlendMode", "Soft Light"), "soft-light" },
{ SP_CSS_BLEND_HARDLIGHT, NC_("BlendMode", "Hard Light"), "hard-light" },
{ SP_CSS_BLEND_ENDMODE, "-", "-" },
{ SP_CSS_BLEND_DIFFERENCE, NC_("BlendMode", "Difference"), "difference" },
{ SP_CSS_BLEND_EXCLUSION, NC_("BlendMode", "Exclusion"), "exclusion" },
{ SP_CSS_BLEND_ENDMODE, "-", "-" },
{ SP_CSS_BLEND_HUE, NC_("BlendMode", "Hue"), "hue" },
{ SP_CSS_BLEND_SATURATION, NC_("BlendMode", "Saturation"), "saturation" },
{ SP_CSS_BLEND_COLOR, NC_("BlendMode", "Color"), "color" },
{ SP_CSS_BLEND_LUMINOSITY, NC_("BlendMode", "Luminosity"), "luminosity" }
}
@ SP_CSS_BLEND_LUMINOSITY
Definition: style-enums.h:295
@ SP_CSS_BLEND_DARKEN
Definition: style-enums.h:283
@ SP_CSS_BLEND_LIGHTEN
Definition: style-enums.h:284
@ SP_CSS_BLEND_DIFFERENCE
Definition: style-enums.h:290
@ SP_CSS_BLEND_COLORBURN
Definition: style-enums.h:287
@ SP_CSS_BLEND_HARDLIGHT
Definition: style-enums.h:288
@ SP_CSS_BLEND_EXCLUSION
Definition: style-enums.h:291
@ SP_CSS_BLEND_COLORDODGE
Definition: style-enums.h:286
@ SP_CSS_BLEND_SOFTLIGHT
Definition: style-enums.h:289
@ SP_CSS_BLEND_SATURATION
Definition: style-enums.h:293
@ SP_CSS_BLEND_SCREEN
Definition: style-enums.h:282
@ SP_CSS_BLEND_OVERLAY
Definition: style-enums.h:285
@ SP_CSS_BLEND_NORMAL
Definition: style-enums.h:280
@ SP_CSS_BLEND_ENDMODE
Definition: style-enums.h:296
@ SP_CSS_BLEND_HUE
Definition: style-enums.h:292
@ SP_CSS_BLEND_COLOR
Definition: style-enums.h:294
@ SP_CSS_BLEND_MULTIPLY
Definition: style-enums.h:281

Definition at line 25 of file filter-effect-chooser.cpp.

◆ URI_ALLOWED_NON_ALNUM

auto const Inkscape::URI_ALLOWED_NON_ALNUM = "!#$%&'()*+,-./:;=?@_~"

Definition at line 27 of file uri.cpp.

Referenced by uri_needs_escaping().

◆ version_major

unsigned int const Inkscape::version_major
extern

Referenced by add_actions_help_url().

◆ version_minor

unsigned int const Inkscape::version_minor
extern

Referenced by add_actions_help_url().

◆ version_patch

unsigned int const Inkscape::version_patch
extern

◆ version_string

◆ version_string_without_revision

char const* Inkscape::version_string_without_revision
extern