summaryrefslogtreecommitdiffstats
path: root/src/sp-mesh-array.h
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2016-09-26 11:26:47 +0000
committertavmjong-free <tavmjong@free.fr>2016-09-26 11:26:47 +0000
commitf273f14eb1b54861f1b3a7eb622cb481ee33cec9 (patch)
tree9603482485c7ff556213ea2f1f1b18aed5819896 /src/sp-mesh-array.h
parentAdd tracing code. (diff)
downloadinkscape-f273f14eb1b54861f1b3a7eb622cb481ee33cec9.tar.gz
inkscape-f273f14eb1b54861f1b3a7eb622cb481ee33cec9.zip
Fix undo/redo for mesh gradients.
(bzr r15135)
Diffstat (limited to 'src/sp-mesh-array.h')
-rw-r--r--src/sp-mesh-array.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/sp-mesh-array.h b/src/sp-mesh-array.h
index b078b221e..eb01304a2 100644
--- a/src/sp-mesh-array.h
+++ b/src/sp-mesh-array.h
@@ -85,6 +85,7 @@ enum MeshNodeOperation {
MG_NODE_SCALE_HANDLE
};
+class SPStop;
class SPMeshNode {
public:
@@ -95,6 +96,7 @@ public:
draggable = -1;
path_type = 'u';
opacity = 0.0;
+ stop = nullptr;
}
NodeType node_type;
unsigned int node_edge;
@@ -104,6 +106,7 @@ public:
char path_type;
SPColor color;
double opacity;
+ SPStop *stop; // Stop corresponding to node.
};
@@ -133,6 +136,8 @@ public:
void setColor( unsigned int i, SPColor c );
double getOpacity( unsigned int i );
void setOpacity( unsigned int i, double o );
+ SPStop* getStopPtr( unsigned int i );
+ void setStopPtr( unsigned int i, SPStop* );
};
class SPMesh;
@@ -147,7 +152,7 @@ public:
public:
// Draggables to nodes
- bool drag_valid;
+ bool draggers_valid;
std::vector< SPMeshNode* > corners;
std::vector< SPMeshNode* > handles;
std::vector< SPMeshNode* > tensors;
@@ -156,7 +161,7 @@ public:
friend class SPMeshPatchI;
- SPMeshNodeArray() { built = false; mg = NULL; drag_valid = false; };
+ SPMeshNodeArray() { built = false; mg = NULL; draggers_valid = false; };
SPMeshNodeArray( SPMesh *mg );
SPMeshNodeArray( const SPMeshNodeArray& rhs );
SPMeshNodeArray& operator=(const SPMeshNodeArray& rhs);
@@ -164,7 +169,7 @@ public:
~SPMeshNodeArray() { clear(); };
bool built;
- void read( SPMesh *mg );
+ bool read( SPMesh *mg );
void write( SPMesh *mg );
void create( SPMesh *mg, SPItem *item, Geom::OptRect bbox );
void clear();