Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
sp-lpe-item.cpp File Reference

Base class for live path effect items. More...

Go to the source code of this file.

Typedefs

typedef std::list< std::string > HRefList
 

Functions

static void lpeobject_ref_modified (SPObject *, guint flags, SPLPEItem *lpeitem)
 Gets called when any of the lpestack's lpeobject repr contents change: i.e.
 
static void sp_lpe_item_create_original_path_recursive (SPLPEItem *lpeitem)
 
static SPLPEItemsp_lpe_item_cleanup_original_path_recursive (SPLPEItem *lpeitem, bool keep_paths, bool force=false, bool is_clip_mask=false)
 
static std::string patheffectlist_svg_string (PathEffectList const &list)
 
static std::string hreflist_svg_string (HRefList const &list)
 THE function that should be used to generate any patheffectlist string.
 
void sp_lpe_item_update_patheffect (SPLPEItem *lpeitem, bool wholetree, bool write, bool with_satellites)
 Calls any registered handlers for the update_patheffect action.
 
template<bool as_const>
auto getPathEffectsOfTypeImpl (PathEffectList const &path_effect_list, std::optional< int > const type)
 
void sp_lpe_item_enable_path_effects (SPLPEItem *lpeitem, bool enable)
 

Detailed Description

Base class for live path effect items.

Definition in file sp-lpe-item.cpp.

Typedef Documentation

◆ HRefList

typedef std::list<std::string> HRefList

Definition at line 52 of file sp-lpe-item.cpp.

Function Documentation

◆ getPathEffectsOfTypeImpl()

template<bool as_const>
auto getPathEffectsOfTypeImpl ( PathEffectList const &  path_effect_list,
std::optional< int > const  type 
)

Definition at line 1303 of file sp-lpe-item.cpp.

◆ hreflist_svg_string()

static std::string hreflist_svg_string ( HRefList const &  list)
static

THE function that should be used to generate any patheffectlist string.

one of the methods to change the effect list:

  • create temporary href list
  • populate the templist with the effects from the old list that you want to have and their order
  • call this function with temp list as param

Definition at line 1392 of file sp-lpe-item.cpp.

Referenced by SPLPEItem::addPathEffect(), SPLPEItem::duplicateCurrentPathEffect(), SPLPEItem::flattenCurrentPathEffect(), patheffectlist_svg_string(), and SPLPEItem::replacePathEffects().

◆ lpeobject_ref_modified()

static void lpeobject_ref_modified ( SPObject ,
guint  flags,
SPLPEItem lpeitem 
)
static

Gets called when any of the lpestack's lpeobject repr contents change: i.e.

parameter change in any of the stacked LPEs

Definition at line 419 of file sp-lpe-item.cpp.

References SPObject::document, SPDocument::isSeeking(), and sp_lpe_item_update_patheffect().

Referenced by SPLPEItem::set().

◆ patheffectlist_svg_string()

static std::string patheffectlist_svg_string ( PathEffectList const &  list)
static

◆ sp_lpe_item_cleanup_original_path_recursive()

◆ sp_lpe_item_create_original_path_recursive()

◆ sp_lpe_item_enable_path_effects()

◆ sp_lpe_item_update_patheffect()

void sp_lpe_item_update_patheffect ( SPLPEItem lpeitem,
bool  wholetree,
bool  write,
bool  with_satellites 
)

Calls any registered handlers for the update_patheffect action.

Definition at line 384 of file sp-lpe-item.cpp.

References parent, SPObject::parent, SPLPEItem::pathEffectsEnabled(), SPLPEItem::update_patheffect(), and SPLPEItem::update_satellites().

Referenced by Inkscape::UI::Toolbar::PencilToolbar::_flattenLPE(), Inkscape::SelTrans::_selChanged(), Inkscape::UI::PathManipulator::_setGeometry(), Inkscape::LivePathEffect::Effect::addHandles(), SPLPEItem::addPathEffect(), Inkscape::UI::Tools::PencilTool::addPowerStrokePencil(), Inkscape::LivePathEffect::LPEMirrorSymmetry::centerHoriz(), Inkscape::LivePathEffect::LPESlice::centerHoriz(), Inkscape::LivePathEffect::LPEMirrorSymmetry::centerVert(), Inkscape::LivePathEffect::LPESlice::centerVert(), Inkscape::UI::Toolbar::LPEToolbar::change_line_segment_type(), Inkscape::UI::Dialog::LivePathEffectEditor::clonetolpeitem(), Inkscape::LivePathEffect::LPETiling::doAfterEffect(), Inkscape::LivePathEffect::LPECopyRotate::doAfterEffect(), Inkscape::LivePathEffect::LPESlice::doAfterEffect(), Inkscape::LivePathEffect::LPEBool::doBeforeEffect(), Inkscape::LivePathEffect::LPECloneOriginal::doBeforeEffect(), Inkscape::LivePathEffect::LPEMeasureSegments::doBeforeEffect(), Inkscape::LivePathEffect::LPESlice::doOnApply(), Inkscape::LivePathEffect::Effect::doOnBeforeCommit(), Inkscape::LivePathEffect::LPESlice::doOnOpen(), Inkscape::LivePathEffect::LPEBool::doOnRemove(), Inkscape::LivePathEffect::LPESlice::doOnVisibilityToggled(), SPItem::doWriteTransform(), Inkscape::ObjectSet::duplicate(), Inkscape::UI::Tools::ArcTool::finishItem(), Inkscape::UI::Tools::RectTool::finishItem(), Inkscape::UI::Tools::SpiralTool::finishItem(), Inkscape::UI::Tools::StarTool::finishItem(), SPLPEItem::flattenCurrentPathEffect(), Inkscape::LivePathEffect::FilletChamferKnotHolderEntity::knot_click(), Inkscape::LivePathEffect::FilletChamferKnotHolderEntity::knot_set(), Inkscape::LivePathEffect::PowerStrokePointArrayParamKnotHolderEntity::knot_set(), lpeobject_ref_modified(), Inkscape::LivePathEffect::LPEOffset::modified(), SPShape::modified(), SPShape::prepareShapeForLPE(), SPGroup::remove_child(), SPPath::removeTransformsRecursively(), Inkscape::LivePathEffect::LPESlice::resetStyles(), Inkscape::UI::Tools::Box3dTool::root_handler(), Box3DSide::set_shape(), SPPath::set_transform(), Inkscape::LivePathEffect::LPEFilletChamfer::setSelected(), Inkscape::UI::Toolbar::PencilToolbar::shapewidth_value_changed(), sp_lpe_item_cleanup_original_path_recursive(), Inkscape::UI::Tools::spdc_check_for_and_apply_waiting_LPE(), Inkscape::UI::Tools::spdc_flush_white(), Inkscape::LivePathEffect::LPESlice::splititem(), Inkscape::SelTrans::stamp(), Inkscape::LivePathEffect::LPECloneOriginal::syncOriginal(), Inkscape::LivePathEffect::LPEBSpline::toDefaultWeight(), Inkscape::UI::Toolbar::PencilToolbar::tolerance_value_changed(), Inkscape::LivePathEffect::LPEBSpline::toMakeCusp(), Inkscape::LivePathEffect::LPEMirrorSymmetry::toMirror(), Inkscape::LivePathEffect::LPEBSpline::toWeight(), Inkscape::SelTrans::transform(), Inkscape::SelTrans::ungrab(), and SPDocument::update_lpobjs().