Inkscape
Vector Graphics Editor
Loading...
Searching...
No Matches
lpe-lattice2.h
Go to the documentation of this file.
1// SPDX-License-Identifier: GPL-2.0-or-later
2#ifndef INKSCAPE_LPE_LATTICE2_H
3#define INKSCAPE_LPE_LATTICE2_H
4
9/*
10 * Authors:
11 * Johan Engelen
12 * Steren Giannini
13 * NoƩ Falzon
14 * Victor Navez
15 * ~suv
16 * Jabiertxo Arraiza
17 *
18 * Copyright (C) Johan Engelen 2007 <j.b.c.engelen@utwente.nl>
19 *
20 * Released under GNU GPL v2+, read the file 'COPYING' for more information.
21 */
22
23#include <2geom/path-sink.h>
24
25#include "live_effects/effect.h"
29
30namespace Gtk {
31class Expander;
32}
33
34namespace Inkscape {
35namespace LivePathEffect {
36
38public:
39
41 ~LPELattice2() override;
42
44
45 void resetDefaults(SPItem const* item) override;
46
47 void doBeforeEffect(SPLPEItem const* lpeitem) override;
48
49 Gtk::Widget * newWidget() override;
50
52
53 void vertical(PointParam &paramA,PointParam &paramB, Geom::Line vert);
54
55 void horizontal(PointParam &paramA,PointParam &paramB,Geom::Line horiz);
56
57 void setDefaults();
58
59 void onExpanderChanged();
60
61 void resetGrid();
62
63protected:
64 void addCanvasIndicators(SPLPEItem const */*lpeitem*/, std::vector<Geom::PathVector> &hp_vec) override;
65private:
66
96
98 Gtk::Expander * expander;
99
100 LPELattice2(const LPELattice2&) = delete;
102};
103
104} //namespace LivePathEffect
105} //namespace Inkscape
106
107#endif
Adaptor that creates 2D functions from 1D ones.
Definition d2.h:55
Infinite line on a plane.
Definition line.h:53
Store paths to a PathVector.
Definition path-sink.h:226
Function defined as discrete pieces.
Definition piecewise.h:71
Two-dimensional point that doubles as a vector.
Definition point.h:66
void horizontal(PointParam &paramA, PointParam &paramB, Geom::Line horiz)
LPELattice2(const LPELattice2 &)=delete
void addCanvasIndicators(SPLPEItem const *, std::vector< Geom::PathVector > &hp_vec) override
Add possible canvas indicators (i.e., helperpaths other than the original path) to hp_vec This functi...
LPELattice2 & operator=(const LPELattice2 &)=delete
Gtk::Widget * newWidget() override
This creates a managed widget.
void calculateCurve(Geom::Point a, Geom::Point b, Geom::PathBuilder &c, bool horizontal, bool move)
void resetDefaults(SPItem const *item) override
Sets all parameters to their default values and writes them to SVG.
Geom::Piecewise< Geom::D2< Geom::SBasis > > doEffect_pwd2(Geom::Piecewise< Geom::D2< Geom::SBasis > > const &pwd2_in) override
void vertical(PointParam &paramA, PointParam &paramB, Geom::Line vert)
void doBeforeEffect(SPLPEItem const *lpeitem) override
Is performed each time before the effect is updated.
Base class for visual SVG elements.
Definition sp-item.h:109
double c[8][4]
SPItem * item
Definition desktop.h:50
Helper class to stream background task notifications as a series of messages.
callback interface for SVG path data