summaryrefslogtreecommitdiffstats
path: root/src/gradient-drag.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gradient-drag.h')
-rw-r--r--src/gradient-drag.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/gradient-drag.h b/src/gradient-drag.h
index 2150ef3d9..7fb5c5de2 100644
--- a/src/gradient-drag.h
+++ b/src/gradient-drag.h
@@ -8,6 +8,7 @@
* bulia byak <bulia@users.sf.net>
* Johan Engelen <j.b.c.engelen@ewi.utwente.nl>
* Jon A. Cruz <jon@joncruz.org>
+ * Tavmjong Bah <tavmjong@free.fr>
*
* Copyright (C) 2012 Authors
* Copyright (C) 2007 Johan Engelen
@@ -26,12 +27,14 @@
#include "knot-enums.h"
#include "sp-gradient.h" // TODO refactor enums to external .h file
+#include "sp-mesh-array.h"
struct SPKnot;
class SPDesktop;
class SPCSSAttr;
class SPLinearGradient;
+class SPMeshGradient;
class SPItem;
class SPObject;
class SPRadialGradient;
@@ -98,11 +101,15 @@ struct GrDragger {
void deselect();
bool isSelected();
+ /* Given one GrDraggable, these all update other draggables belonging to same GrDragger */
void moveThisToDraggable(SPItem *item, GrPointType point_type, gint point_i, Inkscape::PaintTarget fill_or_stroke, bool write_repr);
void moveOtherToDraggable(SPItem *item, GrPointType point_type, gint point_i, Inkscape::PaintTarget fill_or_stroke, bool write_repr);
void updateMidstopDependencies(GrDraggable *draggable, bool write_repr);
void updateDependencies(bool write_repr);
+ /* Update handles/tensors when mesh corner moved */
+ void updateHandles( Geom::Point pc_old, MeshNodeOperation op );
+
bool mayMerge(GrDragger *other);
bool mayMerge(GrDraggable *da2);
@@ -184,12 +191,14 @@ public: // FIXME: make more of this private!
private:
void deselect_all();
- void addLine(SPItem *item, Geom::Point p1, Geom::Point p2, Inkscape::PaintTarget fill_or_stroke);
+ void addLine( SPItem *item, Geom::Point p1, Geom::Point p2, Inkscape::PaintTarget fill_or_stroke);
+ void addCurve(SPItem *item, Geom::Point p0, Geom::Point p1, Geom::Point p2, Geom::Point p3, Inkscape::PaintTarget fill_or_stroke);
void addDragger(GrDraggable *draggable);
void addDraggersRadial(SPRadialGradient *rg, SPItem *item, Inkscape::PaintTarget fill_or_stroke);
void addDraggersLinear(SPLinearGradient *lg, SPItem *item, Inkscape::PaintTarget fill_or_stroke);
+ void addDraggersMesh( SPMeshGradient *mg, SPItem *item, Inkscape::PaintTarget fill_or_stroke);
bool styleSet( const SPCSSAttr *css );