Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
lpe-mirror_symmetry.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef INKSCAPE_LPE_MIRROR_SYMMETRY_H
3#define INKSCAPE_LPE_MIRROR_SYMMETRY_H
4
8/*
9 * Authors:
10 * Maximilian Albert
11 * Johan Engelen
12 * Jabiertxof
13 *
14 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
15 * Copyright (C) Maximilin Albert 2008 <maximilian.albert@gmail.com>
16 *
17 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
18 */
19
20#include "live_effects/effect.h"
29
30namespace Inkscape {
31namespace LivePathEffect {
32
41
43public:
46 void doOnApply (SPLPEItem const* lpeitem) override;
47 void doBeforeEffect (SPLPEItem const* lpeitem) override;
48 void doAfterEffect (SPLPEItem const* lpeitem, Geom::PathVector *curve) override;
49 bool doOnOpen(SPLPEItem const * /*lpeitem*/) override;
50 Geom::PathVector doEffect_path (Geom::PathVector const & path_in) override;
51 void doOnRemove(SPLPEItem const* /*lpeitem*/) override;
52 void doOnVisibilityToggled(SPLPEItem const* /*lpeitem*/) override;
53 Gtk::Widget * newWidget() override;
54 void cloneStyle(SPObject *orig, SPObject *dest);
55 void toMirror(Geom::Affine transform);
56 void cloneD(SPObject *orig, SPObject *dest);
58 void centerVert();
59 void centerHoriz();
61
62protected:
63 void addCanvasIndicators(SPLPEItem const *lpeitem, std::vector<Geom::PathVector> &hp_vec) override;
64
65private:
78 bool reset;
79 bool prev_split = false;
85};
86
87} //namespace LivePathEffect
88} //namespace Inkscape
89
90#endif
3x3 matrix representing an affine transformation.
Definition affine.h:70
Sequence of subpaths.
Definition pathvector.h:122
Two-dimensional point that doubles as a vector.
Definition point.h:66
Inkscape::XML::Node * createPathBase(SPObject *elemref)
void doBeforeEffect(SPLPEItem const *lpeitem) override
Is performed each time before the effect is updated.
Geom::PathVector doEffect_path(Geom::PathVector const &path_in) override
void cloneD(SPObject *orig, SPObject *dest)
void addCanvasIndicators(SPLPEItem const *lpeitem, std::vector< Geom::PathVector > &hp_vec) override
Add possible canvas indicators (i.e., helperpaths other than the original path) to hp_vec This functi...
void doOnApply(SPLPEItem const *lpeitem) override
Is performed a single time when the effect is freshly applied to a path.
void cloneStyle(SPObject *orig, SPObject *dest)
bool doOnOpen(SPLPEItem const *) override
Is performed on load document or revert If the item is fixed legacy return true.
LPEMirrorSymmetry(const LPEMirrorSymmetry &)=delete
void doAfterEffect(SPLPEItem const *lpeitem, Geom::PathVector *curve) override
Is performed at the end of the LPE only one time per "lpeitem" in paths/shapes is called in middle of...
LPEMirrorSymmetry & operator=(const LPEMirrorSymmetry &)=delete
void doOnVisibilityToggled(SPLPEItem const *) override
Gtk::Widget * newWidget() override
This creates a managed widget.
Interface for refcounted XML nodes.
Definition node.h:80
SPObject is an abstract base class of all of the document nodes at the SVG document level.
Definition sp-object.h:160
Geom::Point orig
Helper class to stream background task notifications as a series of messages.
Definition curve.h:24