summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTavmjong Bah <tavmjong@free.fr>2016-09-27 08:51:26 +0000
committertavmjong-free <tavmjong@free.fr>2016-09-27 08:51:26 +0000
commitf9ec83dbb254701f39d3b7a30c0bacb5eaae9ee9 (patch)
tree418ef3aa31bf3a219fed44b6bb13a9bf04f9c6ec
parentRemove unused variable. (diff)
downloadinkscape-f9ec83dbb254701f39d3b7a30c0bacb5eaae9ee9.tar.gz
inkscape-f9ec83dbb254701f39d3b7a30c0bacb5eaae9ee9.zip
Rename <mesh> to <meshgradient> per SVG 2 CR specificiation.
Note: <mesh> has been repurposed to be a special shape that tightly wraps a mesh gradient. (bzr r15137)
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/extension/internal/cairo-render-context.cpp6
-rw-r--r--src/gradient-chemistry.cpp22
-rw-r--r--src/gradient-drag.cpp34
-rw-r--r--src/gradient-drag.h4
-rw-r--r--src/sp-factory.cpp27
-rw-r--r--src/sp-gradient.cpp24
-rw-r--r--src/sp-gradient.h2
-rw-r--r--src/sp-mesh-array.cpp10
-rw-r--r--src/sp-mesh-array.h12
-rw-r--r--src/sp-mesh-gradient.cpp (renamed from src/sp-mesh.cpp)53
-rw-r--r--src/sp-mesh-gradient.h43
-rw-r--r--src/sp-mesh.h43
-rw-r--r--src/ui/tools/mesh-tool.cpp16
-rw-r--r--src/ui/widget/selected-style.cpp4
-rw-r--r--src/widgets/mesh-toolbar.cpp24
-rw-r--r--src/widgets/paint-selector.cpp4
17 files changed, 169 insertions, 163 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9928f9694..3c4f28aa8 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -44,9 +44,9 @@ set(sp_SRC
sp-marker.cpp
sp-mask.cpp
sp-mesh-array.cpp
+ sp-mesh-gradient.cpp
sp-mesh-patch.cpp
sp-mesh-row.cpp
- sp-mesh.cpp
sp-metadata.cpp
sp-missing-glyph.cpp
sp-namedview.cpp
@@ -134,9 +134,9 @@ set(sp_SRC
sp-marker.h
sp-mask.h
sp-mesh-array.h
+ sp-mesh-gradient.h
sp-mesh-patch.h
sp-mesh-row.h
- sp-mesh.h
sp-metadata.h
sp-missing-glyph.h
sp-namedview.h
diff --git a/src/extension/internal/cairo-render-context.cpp b/src/extension/internal/cairo-render-context.cpp
index 1310bb343..e65752c84 100644
--- a/src/extension/internal/cairo-render-context.cpp
+++ b/src/extension/internal/cairo-render-context.cpp
@@ -42,7 +42,7 @@
#include "sp-hatch.h"
#include "sp-linear-gradient.h"
#include "sp-radial-gradient.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "sp-pattern.h"
#include "sp-mask.h"
#include "sp-clippath.h"
@@ -1257,8 +1257,8 @@ CairoRenderContext::_createPatternForPaintServer(SPPaintServer const *const pain
sp_color_get_rgb_floatv(&rg->vector.stops[i].color, rgb);
cairo_pattern_add_color_stop_rgba(pattern, rg->vector.stops[i].offset, rgb[0], rgb[1], rgb[2], rg->vector.stops[i].opacity * alpha);
}
- } else if (SP_IS_MESH (paintserver)) {
- SPMesh *mg = SP_MESH(paintserver);
+ } else if (SP_IS_MESHGRADIENT (paintserver)) {
+ SPMeshGradient *mg = SP_MESHGRADIENT(paintserver);
pattern = mg->pattern_new(_cr, pbox, 1.0);
} else if (SP_IS_PATTERN (paintserver)) {
diff --git a/src/gradient-chemistry.cpp b/src/gradient-chemistry.cpp
index 28fdda483..061fadbaa 100644
--- a/src/gradient-chemistry.cpp
+++ b/src/gradient-chemistry.cpp
@@ -39,7 +39,7 @@
#include "sp-gradient-reference.h"
#include "sp-linear-gradient.h"
#include "sp-radial-gradient.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "sp-stop.h"
#include "gradient-drag.h"
#include "gradient-chemistry.h"
@@ -147,7 +147,7 @@ static SPGradient *sp_gradient_get_private_normalized(SPDocument *document, SPGr
repr = xml_doc->createElement("svg:radialGradient");
} else {
// Rows/patches added in sp_gradient_reset_to_userspace for new meshes.
- repr = xml_doc->createElement("svg:mesh");
+ repr = xml_doc->createElement("svg:meshgradient");
}
// privates are garbage-collectable
@@ -409,7 +409,7 @@ SPGradient *sp_gradient_reset_to_userspace(SPGradient *gr, SPItem *item)
// IN SPMeshNodeArray::create()
//sp_repr_set_svg_double(repr, "x", bbox->min()[Geom::X]);
//sp_repr_set_svg_double(repr, "y", bbox->min()[Geom::Y]);
- SPMesh* mg = SP_MESH( gr );
+ SPMeshGradient* mg = SP_MESHGRADIENT( gr );
mg->array.create( mg, item, bbox );
}
@@ -754,10 +754,10 @@ guint32 sp_item_gradient_stop_query_style(SPItem *item, GrPointType point_type,
break;
}
return 0;
- } else if (SP_IS_MESH(gradient)) {
+ } else if (SP_IS_MESHGRADIENT(gradient)) {
// Mesh gradient
- SPMesh *mg = SP_MESH(gradient);
+ SPMeshGradient *mg = SP_MESHGRADIENT(gradient);
switch (point_type) {
case POINT_MG_CORNER: {
@@ -855,7 +855,7 @@ void sp_item_gradient_stop_set_style(SPItem *item, GrPointType point_type, guint
} else {
// Mesh gradient
- SPMesh *mg = SP_MESH(gradient);
+ SPMeshGradient *mg = SP_MESHGRADIENT(gradient);
bool changed = false;
switch (point_type) {
@@ -1211,8 +1211,8 @@ void sp_item_gradient_set_coords(SPItem *item, GrPointType point_type, guint poi
gradient->requestModified(SP_OBJECT_MODIFIED_FLAG);
}
}
- } else if (SP_IS_MESH(gradient)) {
- SPMesh *mg = SP_MESH(gradient);
+ } else if (SP_IS_MESHGRADIENT(gradient)) {
+ SPMeshGradient *mg = SP_MESHGRADIENT(gradient);
//Geom::Affine new_transform;
//bool transform_set = false;
@@ -1242,7 +1242,7 @@ void sp_item_gradient_set_coords(SPItem *item, GrPointType point_type, guint poi
}
if( write_repr ) {
//std::cout << "Write mesh repr" << std::endl;
- sp_mesh_repr_write( mg );
+ mg->array.write( mg );
}
}
@@ -1348,8 +1348,8 @@ Geom::Point getGradientCoords(SPItem *item, GrPointType point_type, guint point_
g_warning( "Bad radial gradient handle type" );
break;
}
- } else if (SP_IS_MESH(gradient)) {
- SPMesh *mg = SP_MESH(gradient);
+ } else if (SP_IS_MESHGRADIENT(gradient)) {
+ SPMeshGradient *mg = SP_MESHGRADIENT(gradient);
switch (point_type) {
case POINT_MG_CORNER:
diff --git a/src/gradient-drag.cpp b/src/gradient-drag.cpp
index 7bc302e61..eb33bdf9a 100644
--- a/src/gradient-drag.cpp
+++ b/src/gradient-drag.cpp
@@ -40,7 +40,7 @@
#include "knot.h"
#include "sp-linear-gradient.h"
#include "sp-radial-gradient.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "gradient-chemistry.h"
#include "gradient-drag.h"
#include "sp-stop.h"
@@ -407,7 +407,7 @@ SPStop *GrDrag::addStopNearPoint(SPItem *item, Geom::Point mouse_p, double toler
//r1_knot = false;
}
}
- } else if (SP_IS_MESH(gradient)) {
+ } else if (SP_IS_MESHGRADIENT(gradient)) {
// add_stop_near_point()
// Find out which curve pointer is over and use that curve to determine
@@ -415,7 +415,7 @@ SPStop *GrDrag::addStopNearPoint(SPItem *item, Geom::Point mouse_p, double toler
// This is silly as we already should know which line we are over...
// but that information is not saved (sp_gradient_context_is_over_line).
- SPMesh *mg = SP_MESH(gradient);
+ SPMeshGradient *mg = SP_MESHGRADIENT(gradient);
Geom::Affine transform = Geom::Affine(mg->gradientTransform)*(Geom::Affine)item->i2dt_affine();
guint rows = mg->array.patch_rows();
@@ -543,7 +543,7 @@ SPStop *GrDrag::addStopNearPoint(SPItem *item, Geom::Point mouse_p, double toler
} else {
- SPMesh *mg = SP_MESH(gradient);
+ SPMeshGradient *mg = SP_MESHGRADIENT(gradient);
if( divide_row > -1 ) {
mg->array.split_row( divide_row, divide_coord );
@@ -552,7 +552,7 @@ SPStop *GrDrag::addStopNearPoint(SPItem *item, Geom::Point mouse_p, double toler
}
// Update repr
- sp_mesh_repr_write( mg );
+ mg->array.write( mg );
mg->array.built = false;
mg->ensureArray();
// How do we do this?
@@ -1339,7 +1339,7 @@ GrDragger::moveMeshHandles ( Geom::Point pc_old, MeshNodeOperation op )
// Must be a mesh gradient
SPGradient *gradient = getGradient(draggable->item, draggable->fill_or_stroke);
- if ( !SP_IS_MESH( gradient ) ) continue;
+ if ( !SP_IS_MESHGRADIENT( gradient ) ) continue;
selected_corners[ gradient ].push_back( draggable->point_i );
}
@@ -1364,8 +1364,8 @@ GrDragger::moveMeshHandles ( Geom::Point pc_old, MeshNodeOperation op )
// Must be a mesh gradient
SPGradient *gradient = getGradient(item, fill_or_stroke);
- if ( !SP_IS_MESH( gradient ) ) continue;
- SPMesh *mg = SP_MESH( gradient );
+ if ( !SP_IS_MESHGRADIENT( gradient ) ) continue;
+ SPMeshGradient *mg = SP_MESHGRADIENT( gradient );
// pc_old is the old corner position in desktop coordinates, we need it in gradient coordinate.
gradient = sp_gradient_convert_to_userspace (gradient, item, (fill_or_stroke == Inkscape::FOR_FILL) ? "fill" : "stroke");
@@ -1943,7 +1943,7 @@ void GrDrag::addDraggersLinear(SPLinearGradient *lg, SPItem *item, Inkscape::Pai
/**
*Add draggers for the mesh gradient mg on item
*/
-void GrDrag::addDraggersMesh(SPMesh *mg, SPItem *item, Inkscape::PaintTarget fill_or_stroke)
+void GrDrag::addDraggersMesh(SPMeshGradient *mg, SPItem *item, Inkscape::PaintTarget fill_or_stroke)
{
mg->ensureArray();
std::vector< std::vector< SPMeshNode* > > nodes = mg->array.nodes;
@@ -2080,8 +2080,8 @@ void GrDrag::updateDraggers()
addDraggersLinear( SP_LINEARGRADIENT(server), item, Inkscape::FOR_FILL );
} else if ( SP_IS_RADIALGRADIENT(server) ) {
addDraggersRadial( SP_RADIALGRADIENT(server), item, Inkscape::FOR_FILL );
- } else if ( SP_IS_MESH(server) ) {
- addDraggersMesh( SP_MESH(server), item, Inkscape::FOR_FILL );
+ } else if ( SP_IS_MESHGRADIENT(server) ) {
+ addDraggersMesh( SP_MESHGRADIENT(server), item, Inkscape::FOR_FILL );
}
}
}
@@ -2096,8 +2096,8 @@ void GrDrag::updateDraggers()
addDraggersLinear( SP_LINEARGRADIENT(server), item, Inkscape::FOR_STROKE );
} else if ( SP_IS_RADIALGRADIENT(server) ) {
addDraggersRadial( SP_RADIALGRADIENT(server), item, Inkscape::FOR_STROKE );
- } else if ( SP_IS_MESH(server) ) {
- addDraggersMesh( SP_MESH(server), item, Inkscape::FOR_STROKE );
+ } else if ( SP_IS_MESHGRADIENT(server) ) {
+ addDraggersMesh( SP_MESHGRADIENT(server), item, Inkscape::FOR_STROKE );
}
}
}
@@ -2151,9 +2151,9 @@ void GrDrag::updateLines()
Geom::Point center = getGradientCoords(item, POINT_RG_CENTER, 0, Inkscape::FOR_FILL);
addLine(item, center, getGradientCoords(item, POINT_RG_R1, 0, Inkscape::FOR_FILL), Inkscape::FOR_FILL);
addLine(item, center, getGradientCoords(item, POINT_RG_R2, 0, Inkscape::FOR_FILL), Inkscape::FOR_FILL);
- } else if ( SP_IS_MESH(server) ) {
+ } else if ( SP_IS_MESHGRADIENT(server) ) {
- SPMesh *mg = SP_MESH(server);
+ SPMeshGradient *mg = SP_MESHGRADIENT(server);
guint rows = mg->array.patch_rows();
guint columns = mg->array.patch_columns();
@@ -2213,10 +2213,10 @@ void GrDrag::updateLines()
Geom::Point center = getGradientCoords(item, POINT_RG_CENTER, 0, Inkscape::FOR_STROKE);
addLine(item, center, getGradientCoords(item, POINT_RG_R1, 0, Inkscape::FOR_STROKE), Inkscape::FOR_STROKE);
addLine(item, center, getGradientCoords(item, POINT_RG_R2, 0, Inkscape::FOR_STROKE), Inkscape::FOR_STROKE);
- } else if ( SP_IS_MESH(server) ) {
+ } else if ( SP_IS_MESHGRADIENT(server) ) {
// MESH FIXME: TURN ROUTINE INTO FUNCTION AND CALL FOR BOTH FILL AND STROKE.
- SPMesh *mg = SP_MESH(server);
+ SPMeshGradient *mg = SP_MESHGRADIENT(server);
guint rows = mg->array.patch_rows();
guint columns = mg->array.patch_columns();
diff --git a/src/gradient-drag.h b/src/gradient-drag.h
index 9737af0bf..cf0a35c89 100644
--- a/src/gradient-drag.h
+++ b/src/gradient-drag.h
@@ -34,7 +34,7 @@ class SPKnot;
class SPDesktop;
class SPCSSAttr;
class SPLinearGradient;
-class SPMesh;
+class SPMeshGradient;
class SPItem;
class SPObject;
class SPRadialGradient;
@@ -209,7 +209,7 @@ private:
void addDraggersRadial(SPRadialGradient *rg, SPItem *item, Inkscape::PaintTarget fill_or_stroke);
void addDraggersLinear(SPLinearGradient *lg, SPItem *item, Inkscape::PaintTarget fill_or_stroke);
- void addDraggersMesh( SPMesh *mg, SPItem *item, Inkscape::PaintTarget fill_or_stroke);
+ void addDraggersMesh( SPMeshGradient *mg, SPItem *item, Inkscape::PaintTarget fill_or_stroke);
bool styleSet( const SPCSSAttr *css );
diff --git a/src/sp-factory.cpp b/src/sp-factory.cpp
index 62af684a2..f98291378 100644
--- a/src/sp-factory.cpp
+++ b/src/sp-factory.cpp
@@ -36,7 +36,7 @@
#include "sp-linear-gradient.h"
#include "sp-marker.h"
#include "sp-mask.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "sp-mesh-patch.h"
#include "sp-mesh-row.h"
#include "sp-metadata.h"
@@ -154,8 +154,12 @@ SPObject *SPFactory::createObject(std::string const& id)
ret = new SPGuide;
else if (id == "svg:hatch")
ret = new SPHatch;
- else if (id == "svg:hatchPath")
+ else if (id == "svg:hatchpath")
ret = new SPHatchPath;
+ else if (id == "svg:hatchPath") {
+ std::cerr << "Warning: <hatchPath> has been renamed <hatchpath>" << std::endl;
+ ret = new SPHatchPath;
+ }
else if (id == "svg:image")
ret = new SPImage;
else if (id == "svg:g")
@@ -168,8 +172,17 @@ SPObject *SPFactory::createObject(std::string const& id)
ret = new SPMarker;
else if (id == "svg:mask")
ret = new SPMask;
- else if (id == "svg:mesh")
- ret = new SPMesh;
+ else if (id == "svg:mesh") { // SVG 2 old
+ ret = new SPMeshGradient;
+ std::cerr << "Warning: <mesh> has been renamed <meshgradient>." << std::endl;
+ std::cerr << "Warning: <mesh> has been repurposed as a shape that tightly wraps a <meshgradient>." << std::endl;
+ }
+ else if (id == "svg:meshGradient") { // SVG 2 old
+ ret = new SPMeshGradient;
+ std::cerr << "Warning: <meshGradient> has been renamed <meshgradient>" << std::endl;
+ }
+ else if (id == "svg:meshgradient") // SVG 2
+ ret = new SPMeshGradient;
else if (id == "svg:meshpatch")
ret = new SPMeshpatch;
else if (id == "svg:meshrow")
@@ -198,7 +211,11 @@ SPObject *SPFactory::createObject(std::string const& id)
ret = new SPRoot;
else if (id == "svg:script")
ret = new SPScript;
- else if (id == "svg:solidColor")
+ else if (id == "svg:solidColor") {
+ ret = new SPSolidColor;
+ std::cerr << "Warning: <solidColor> has been renamed <solidcolor>" << std::endl;
+ }
+ else if (id == "svg:solidcolor")
ret = new SPSolidColor;
else if (id == "spiral")
ret = new SPSpiral;
diff --git a/src/sp-gradient.cpp b/src/sp-gradient.cpp
index 5c0fdfe2b..d3e38485b 100644
--- a/src/sp-gradient.cpp
+++ b/src/sp-gradient.cpp
@@ -1,6 +1,6 @@
/** \file
* SPGradient, SPStop, SPLinearGradient, SPRadialGradient,
- * SPMesh, SPMeshRow, SPMeshPatch
+ * SPMeshGradient, SPMeshRow, SPMeshPatch
*/
/*
* Authors:
@@ -44,7 +44,7 @@
#include "sp-gradient-reference.h"
#include "sp-linear-gradient.h"
#include "sp-radial-gradient.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "sp-mesh-row.h"
#include "sp-stop.h"
@@ -115,7 +115,7 @@ bool SPGradient::isEquivalent(SPGradient *that)
else if (
(SP_IS_LINEARGRADIENT(this) && SP_IS_LINEARGRADIENT(that)) ||
(SP_IS_RADIALGRADIENT(this) && SP_IS_RADIALGRADIENT(that)) ||
- (SP_IS_MESH(this) && SP_IS_MESH(that))) {
+ (SP_IS_MESHGRADIENT(this) && SP_IS_MESHGRADIENT(that))) {
if(!this->isAligned(that))break;
}
else { break; } // this should never happen, some unhandled type of gradient
@@ -200,9 +200,9 @@ bool SPGradient::isAligned(SPGradient *that)
(sg->fy.computed != tg->fy.computed) ) { break; }
} else if( sg->cx._set || sg->cy._set || sg->fx._set || sg->fy._set || sg->r._set ) { break; } // some mix of set and not set
// none set? assume aligned and fall through
- } else if (SP_IS_MESH(this) && SP_IS_MESH(that)) {
- SPMesh *sg=SP_MESH(this);
- SPMesh *tg=SP_MESH(that);
+ } else if (SP_IS_MESHGRADIENT(this) && SP_IS_MESHGRADIENT(that)) {
+ SPMeshGradient *sg=SP_MESHGRADIENT(this);
+ SPMeshGradient *tg=SP_MESHGRADIENT(that);
if( sg->x._set != !tg->x._set) { break; }
if( sg->y._set != !tg->y._set) { break; }
@@ -514,7 +514,7 @@ void SPGradient::modified(guint flags)
#endif
if (flags & SP_OBJECT_CHILD_MODIFIED_FLAG) {
- if (SP_IS_MESH(this)) {
+ if (SP_IS_MESHGRADIENT(this)) {
this->invalidateArray();
} else {
this->invalidateVector();
@@ -522,7 +522,7 @@ void SPGradient::modified(guint flags)
}
if (flags & SP_OBJECT_STYLE_MODIFIED_FLAG) {
- if (SP_IS_MESH(this)) {
+ if (SP_IS_MESHGRADIENT(this)) {
this->ensureArray();
} else {
this->ensureVector();
@@ -1025,12 +1025,12 @@ void SPGradient::rebuildArray()
{
// std::cout << "SPGradient::rebuildArray()" << std::endl;
- if( !SP_IS_MESH(this) ) {
+ if( !SP_IS_MESHGRADIENT(this) ) {
g_warning( "SPGradient::rebuildArray() called for non-mesh gradient" );
return;
}
- array.read( SP_MESH( this ) );
+ array.read( SP_MESHGRADIENT( this ) );
}
Geom::Affine
@@ -1121,9 +1121,7 @@ sp_gradient_create_preview_pattern(SPGradient *gr, double width)
{
cairo_pattern_t *pat = NULL;
- // CPPIFY
- //if( gr->get_type() != SP_GRADIENT_TYPE_MESH ) {
- if (!SP_IS_MESH(gr)) {
+ if (!SP_IS_MESHGRADIENT(gr)) {
gr->ensureVector();
pat = cairo_pattern_create_linear(0, 0, width, 0);
diff --git a/src/sp-gradient.h b/src/sp-gradient.h
index ab45d6f08..7348bb5ca 100644
--- a/src/sp-gradient.h
+++ b/src/sp-gradient.h
@@ -210,8 +210,6 @@ sp_gradient_pattern_common_setup(cairo_pattern_t *cp,
void sp_gradient_repr_write_vector(SPGradient *gr);
void sp_gradient_repr_clear_vector(SPGradient *gr);
-void sp_mesh_repr_write(SPMesh *mg);
-
cairo_pattern_t *sp_gradient_create_preview_pattern(SPGradient *gradient, double width);
/** Transforms to/from gradient position space in given environment */
diff --git a/src/sp-mesh-array.cpp b/src/sp-mesh-array.cpp
index 41a95a41a..c47c338de 100644
--- a/src/sp-mesh-array.cpp
+++ b/src/sp-mesh-array.cpp
@@ -46,7 +46,7 @@
#include "document.h"
#include "sp-root.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "sp-mesh-array.h"
#include "sp-mesh-row.h"
#include "sp-mesh-patch.h"
@@ -627,7 +627,7 @@ void SPMeshPatchI::setStopPtr( guint i, SPStop* stop ) {
};
-SPMeshNodeArray::SPMeshNodeArray( SPMesh *mg ) {
+SPMeshNodeArray::SPMeshNodeArray( SPMeshGradient *mg ) {
read( mg );
@@ -675,7 +675,7 @@ SPMeshNodeArray& SPMeshNodeArray::operator=( const SPMeshNodeArray& rhs ) {
// Fill array with data from mesh objects.
// Returns true of array's dimensions unchanged.
-bool SPMeshNodeArray::read( SPMesh *mg_in ) {
+bool SPMeshNodeArray::read( SPMeshGradient *mg_in ) {
mg = mg_in;
@@ -914,7 +914,7 @@ bool SPMeshNodeArray::read( SPMesh *mg_in ) {
/**
Write repr using our array.
*/
-void SPMeshNodeArray::write( SPMesh *mg ) {
+void SPMeshNodeArray::write( SPMeshGradient *mg ) {
// std::cout << "SPMeshNodeArray::write: entrance:" << std::endl;
// print();
@@ -1115,7 +1115,7 @@ static SPColor default_color( SPItem *item ) {
/**
Create a default mesh.
*/
-void SPMeshNodeArray::create( SPMesh *mg, SPItem *item, Geom::OptRect bbox ) {
+void SPMeshNodeArray::create( SPMeshGradient *mg, SPItem *item, Geom::OptRect bbox ) {
// std::cout << "SPMeshNodeArray::create: Entrance" << std::endl;
diff --git a/src/sp-mesh-array.h b/src/sp-mesh-array.h
index eb01304a2..49ee88e53 100644
--- a/src/sp-mesh-array.h
+++ b/src/sp-mesh-array.h
@@ -140,14 +140,14 @@ public:
void setStopPtr( unsigned int i, SPStop* );
};
-class SPMesh;
+class SPMeshGradient;
// An array of mesh nodes.
class SPMeshNodeArray {
// Should be private
public:
- SPMesh *mg;
+ SPMeshGradient *mg;
std::vector< std::vector< SPMeshNode* > > nodes;
public:
@@ -162,16 +162,16 @@ public:
friend class SPMeshPatchI;
SPMeshNodeArray() { built = false; mg = NULL; draggers_valid = false; };
- SPMeshNodeArray( SPMesh *mg );
+ SPMeshNodeArray( SPMeshGradient *mg );
SPMeshNodeArray( const SPMeshNodeArray& rhs );
SPMeshNodeArray& operator=(const SPMeshNodeArray& rhs);
~SPMeshNodeArray() { clear(); };
bool built;
- bool read( SPMesh *mg );
- void write( SPMesh *mg );
- void create( SPMesh *mg, SPItem *item, Geom::OptRect bbox );
+ bool read( SPMeshGradient *mg );
+ void write( SPMeshGradient *mg );
+ void create( SPMeshGradient *mg, SPItem *item, Geom::OptRect bbox );
void clear();
void print();
diff --git a/src/sp-mesh.cpp b/src/sp-mesh-gradient.cpp
index 1cdb2f1cc..572131c60 100644
--- a/src/sp-mesh.cpp
+++ b/src/sp-mesh-gradient.cpp
@@ -3,7 +3,7 @@
#include "attributes.h"
#include "display/cairo-utils.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
/*
* Mesh Gradient
@@ -11,9 +11,9 @@
//#define MESH_DEBUG
//#define OBJECT_TRACE
-SPMesh::SPMesh() : SPGradient(), type( SP_MESH_TYPE_COONS ), type_set(false) {
+SPMeshGradient::SPMeshGradient() : SPGradient(), type( SP_MESH_TYPE_COONS ), type_set(false) {
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::SPMesh" );
+ objectTrace( "SPMeshGradient::SPMeshGradient" );
#endif
// Start coordinate of mesh
@@ -21,39 +21,39 @@ SPMesh::SPMesh() : SPGradient(), type( SP_MESH_TYPE_COONS ), type_set(false) {
this->y.unset(SVGLength::NONE, 0.0, 0.0);
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::SPMesh", false );
+ objectTrace( "SPMeshGradient::SPMeshGradient", false );
#endif
}
-SPMesh::~SPMesh() {
+SPMeshGradient::~SPMeshGradient() {
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::~SPMesh (empty function)" );
- objectTrace( "SPMesh::~SPMesh", false );
+ objectTrace( "SPMeshGradient::~SPMeshGradient (empty function)" );
+ objectTrace( "SPMeshGradient::~SPMeshGradient", false );
#endif
}
-void SPMesh::build(SPDocument *document, Inkscape::XML::Node *repr) {
+void SPMeshGradient::build(SPDocument *document, Inkscape::XML::Node *repr) {
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::build" );
+ objectTrace( "SPMeshGradient::build" );
#endif
SPGradient::build(document, repr);
- // Start coordinate of mesh
+ // Start coordinate of meshgradient
this->readAttr( "x" );
this->readAttr( "y" );
this->readAttr( "type" );
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::build", false );
+ objectTrace( "SPMeshGradient::build", false );
#endif
}
-void SPMesh::set(unsigned key, gchar const *value) {
+void SPMeshGradient::set(unsigned key, gchar const *value) {
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::set" );
+ objectTrace( "SPMeshGradient::set" );
#endif
switch (key) {
@@ -80,11 +80,11 @@ void SPMesh::set(unsigned key, gchar const *value) {
} else if (!strcmp(value, "bicubic")) {
this->type = SP_MESH_TYPE_BICUBIC;
} else {
- std::cerr << "SPMesh::set(): invalid value " << value << std::endl;
+ std::cerr << "SPMeshGradient::set(): invalid value " << value << std::endl;
}
this->type_set = TRUE;
} else {
- // std::cout << "SPMesh::set() No value " << std::endl;
+ // std::cout << "SPMeshGradient::set() No value " << std::endl;
this->type = SP_MESH_TYPE_COONS;
this->type_set = FALSE;
}
@@ -98,20 +98,20 @@ void SPMesh::set(unsigned key, gchar const *value) {
}
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::set", false );
+ objectTrace( "SPMeshGradient::set", false );
#endif
}
/**
* Write mesh gradient attributes to associated repr.
*/
-Inkscape::XML::Node* SPMesh::write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) {
+Inkscape::XML::Node* SPMeshGradient::write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) {
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::write", false );
+ objectTrace( "SPMeshGradient::write", false );
#endif
if ((flags & SP_OBJECT_WRITE_BUILD) && !repr) {
- repr = xml_doc->createElement("svg:mesh");
+ repr = xml_doc->createElement("svg:meshgradient");
}
if ((flags & SP_OBJECT_WRITE_ALL) || this->x._set) {
@@ -139,19 +139,12 @@ Inkscape::XML::Node* SPMesh::write(Inkscape::XML::Document *xml_doc, Inkscape::X
SPGradient::write(xml_doc, repr, flags);
#ifdef OBJECT_TRACE
- objectTrace( "SPMesh::write", false );
+ objectTrace( "SPMeshGradient::write", false );
#endif
return repr;
}
-void
-sp_mesh_repr_write(SPMesh *mg)
-{
- mg->array.write( mg );
-}
-
-
-cairo_pattern_t* SPMesh::pattern_new(cairo_t * /*ct*/,
+cairo_pattern_t* SPMeshGradient::pattern_new(cairo_t * /*ct*/,
#if defined(MESH_DEBUG) || (CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 11, 4))
Geom::OptRect const &bbox,
double opacity
@@ -165,7 +158,7 @@ cairo_pattern_t* SPMesh::pattern_new(cairo_t * /*ct*/,
using Geom::Y;
#ifdef MESH_DEBUG
- std::cout << "sp_mesh_create_pattern: " << (*bbox) << " " << opacity << std::endl;
+ std::cout << "sp_meshgradient_create_pattern: " << (*bbox) << " " << opacity << std::endl;
#endif
this->ensureArray();
@@ -178,7 +171,7 @@ cairo_pattern_t* SPMesh::pattern_new(cairo_t * /*ct*/,
if( type_set ) {
switch (type) {
case SP_MESH_TYPE_COONS:
- // std::cout << "SPMesh::pattern_new: Coons" << std::endl;
+ // std::cout << "SPMeshGradient::pattern_new: Coons" << std::endl;
break;
case SP_MESH_TYPE_BICUBIC:
array.bicubic( &array_smoothed, type );
diff --git a/src/sp-mesh-gradient.h b/src/sp-mesh-gradient.h
new file mode 100644
index 000000000..a221554a3
--- /dev/null
+++ b/src/sp-mesh-gradient.h
@@ -0,0 +1,43 @@
+#ifndef SP_MESH_GRADIENT_H
+#define SP_MESH_GRADIENT_H
+
+/** \file
+ * SPMeshGradient: SVG <meshgradient> implementation.
+ */
+
+#include "svg/svg-length.h"
+#include "sp-gradient.h"
+
+#define SP_MESHGRADIENT(obj) (dynamic_cast<SPMeshGradient*>((SPObject*)obj))
+#define SP_IS_MESHGRADIENT(obj) (dynamic_cast<const SPMeshGradient*>((SPObject*)obj) != NULL)
+
+/** Mesh gradient. */
+class SPMeshGradient : public SPGradient {
+public:
+ SPMeshGradient();
+ virtual ~SPMeshGradient();
+
+ SVGLength x; // Upper left corner of meshgradient
+ SVGLength y; // Upper right corner of mesh
+ SPMeshType type;
+ bool type_set;
+ virtual cairo_pattern_t* pattern_new(cairo_t *ct, Geom::OptRect const &bbox, double opacity);
+
+protected:
+ virtual void build(SPDocument *document, Inkscape::XML::Node *repr);
+ virtual void set(unsigned key, char const *value);
+ virtual Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags);
+};
+
+#endif /* !SP_MESH_GRADIENT_H */
+
+/*
+ Local Variables:
+ mode:c++
+ c-file-style:"stroustrup"
+ c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
+ indent-tabs-mode:nil
+ fill-column:99
+ End:
+*/
+// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/sp-mesh.h b/src/sp-mesh.h
deleted file mode 100644
index 6f992d034..000000000
--- a/src/sp-mesh.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef SP_MESH_H
-#define SP_MESH_H
-
-/** \file
- * SPMesh: SVG <mesh> implementation.
- */
-
-#include "svg/svg-length.h"
-#include "sp-gradient.h"
-
-#define SP_MESH(obj) (dynamic_cast<SPMesh*>((SPObject*)obj))
-#define SP_IS_MESH(obj) (dynamic_cast<const SPMesh*>((SPObject*)obj) != NULL)
-
-/** Mesh gradient. */
-class SPMesh : public SPGradient {
-public:
- SPMesh();
- virtual ~SPMesh();
-
- SVGLength x; // Upper left corner of mesh
- SVGLength y; // Upper right corner of mesh
- SPMeshType type;
- bool type_set;
- virtual cairo_pattern_t* pattern_new(cairo_t *ct, Geom::OptRect const &bbox, double opacity);
-
-protected:
- virtual void build(SPDocument *document, Inkscape::XML::Node *repr);
- virtual void set(unsigned key, char const *value);
- virtual Inkscape::XML::Node* write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, unsigned int flags);
-};
-
-#endif /* !SP_MESH_H */
-
-/*
- Local Variables:
- mode:c++
- c-file-style:"stroustrup"
- c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
- indent-tabs-mode:nil
- fill-column:99
- End:
-*/
-// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:fileencoding=utf-8:textwidth=99 :
diff --git a/src/ui/tools/mesh-tool.cpp b/src/ui/tools/mesh-tool.cpp
index 763685a0c..aac8239f3 100644
--- a/src/ui/tools/mesh-tool.cpp
+++ b/src/ui/tools/mesh-tool.cpp
@@ -47,7 +47,7 @@
// Mesh specific
#include "ui/tools/mesh-tool.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "display/sp-ctrlcurve.h"
using Inkscape::DocumentUndo;
@@ -161,9 +161,9 @@ void MeshTool::selection_changed(Inkscape::Selection* /*sel*/) {
// if (style && (style->fill.isPaintserver())) {
// SPPaintServer *server = item->style->getFillPaintServer();
- // if ( SP_IS_MESH(server) ) {
+ // if ( SP_IS_MESHGRADIENT(server) ) {
- // SPMesh *mg = SP_MESH(server);
+ // SPMeshGradient *mg = SP_MESHGRADIENT(server);
// guint rows = 0;//mg->array.patches.size();
// for ( guint i = 0; i < rows; ++i ) {
@@ -330,8 +330,8 @@ sp_mesh_context_corner_operation (MeshTool *rc, MeshCornerOperation operation )
SPDocument *doc = NULL;
GrDrag *drag = rc->_grdrag;
- std::map<SPMesh*, std::vector<guint> > points;
- std::map<SPMesh*, SPItem*> items;
+ std::map<SPMeshGradient*, std::vector<guint> > points;
+ std::map<SPMeshGradient*, SPItem*> items;
// Get list of selected draggers for each mesh.
// For all selected draggers
@@ -345,7 +345,7 @@ sp_mesh_context_corner_operation (MeshTool *rc, MeshCornerOperation operation )
if( d->point_type != POINT_MG_CORNER ) continue;
// Find the gradient
- SPMesh *gradient = SP_MESH( getGradient (d->item, d->fill_or_stroke) );
+ SPMeshGradient *gradient = SP_MESHGRADIENT( getGradient (d->item, d->fill_or_stroke) );
// Collect points together for same gradient
points[gradient].push_back( d->point_i );
@@ -354,8 +354,8 @@ sp_mesh_context_corner_operation (MeshTool *rc, MeshCornerOperation operation )
}
// Loop over meshes.
- for( std::map<SPMesh*, std::vector<guint> >::const_iterator iter = points.begin(); iter != points.end(); ++iter) {
- SPMesh *mg = SP_MESH( iter->first );
+ for( std::map<SPMeshGradient*, std::vector<guint> >::const_iterator iter = points.begin(); iter != points.end(); ++iter) {
+ SPMeshGradient *mg = SP_MESHGRADIENT( iter->first );
if( iter->second.size() > 0 ) {
guint noperation = 0;
switch (operation) {
diff --git a/src/ui/widget/selected-style.cpp b/src/ui/widget/selected-style.cpp
index fd83a62c9..301a3b2e0 100644
--- a/src/ui/widget/selected-style.cpp
+++ b/src/ui/widget/selected-style.cpp
@@ -25,7 +25,7 @@
#include "sp-namedview.h"
#include "sp-linear-gradient.h"
#include "sp-radial-gradient.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "sp-pattern.h"
#include "ui/dialog/dialog-manager.h"
#include "ui/dialog/fill-and-stroke.h"
@@ -1010,7 +1010,7 @@ SelectedStyle::update()
place->set_tooltip_text(__rgradient[i]);
_mode[i] = SS_RGRADIENT;
#ifdef WITH_MESH
- } else if (SP_IS_MESH(server)) {
+ } else if (SP_IS_MESHGRADIENT(server)) {
SPGradient *vector = SP_GRADIENT(server)->getVector();
sp_gradient_image_set_gradient(SP_GRADIENT_IMAGE(_gradient_preview_m[i]), vector);
place->add(_gradient_box_m[i]);
diff --git a/src/widgets/mesh-toolbar.cpp b/src/widgets/mesh-toolbar.cpp
index fb540b5f5..0e689fee0 100644
--- a/src/widgets/mesh-toolbar.cpp
+++ b/src/widgets/mesh-toolbar.cpp
@@ -41,7 +41,7 @@
#include "ui/tools/gradient-tool.h"
#include "ui/tools/mesh-tool.h"
#include "gradient-drag.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "gradient-chemistry.h"
#include "ui/icon-names.h"
@@ -70,7 +70,7 @@ static bool blocked = false;
* Get the current selection and dragger status from the desktop
*/
void ms_read_selection( Inkscape::Selection *selection,
- SPMesh *&ms_selected,
+ SPMeshGradient *&ms_selected,
bool &ms_selected_multi,
SPMeshType &ms_type,
bool &ms_type_multi )
@@ -87,9 +87,9 @@ void ms_read_selection( Inkscape::Selection *selection,
if (style && (style->fill.isPaintserver())) {
SPPaintServer *server = item->style->getFillPaintServer();
- if ( SP_IS_MESH(server) ) {
+ if ( SP_IS_MESHGRADIENT(server) ) {
- SPMesh *gradient = SP_MESH(server); // ->getVector();
+ SPMeshGradient *gradient = SP_MESHGRADIENT(server); // ->getVector();
SPMeshType type = gradient->type;
if (gradient != ms_selected) {
@@ -112,9 +112,9 @@ void ms_read_selection( Inkscape::Selection *selection,
if (style && (style->stroke.isPaintserver())) {
SPPaintServer *server = item->style->getStrokePaintServer();
- if ( SP_IS_MESH(server) ) {
+ if ( SP_IS_MESHGRADIENT(server) ) {
- SPMesh *gradient = SP_MESH(server); // ->getVector();
+ SPMeshGradient *gradient = SP_MESHGRADIENT(server); // ->getVector();
SPMeshType type = gradient->type;
if (gradient != ms_selected) {
@@ -164,7 +164,7 @@ static void ms_tb_selection_changed(Inkscape::Selection * /*selection*/, gpointe
// // Hide/show handles?
// }
- SPMesh *ms_selected = 0;
+ SPMeshGradient *ms_selected = 0;
SPMeshType ms_type = SP_MESH_TYPE_COONS;
bool ms_selected_multi = false;
bool ms_type_multi = false;
@@ -203,9 +203,9 @@ static void ms_defs_modified(SPObject * /*defs*/, guint /*flags*/, GObject *widg
ms_tb_selection_changed(NULL, widget);
}
-void ms_get_dt_selected_gradient(Inkscape::Selection *selection, SPMesh *&ms_selected)
+void ms_get_dt_selected_gradient(Inkscape::Selection *selection, SPMeshGradient *&ms_selected)
{
- SPMesh *gradient = 0;
+ SPMeshGradient *gradient = 0;
auto itemlist= selection->items();
for(auto i=itemlist.begin();i!=itemlist.end();++i){
@@ -220,8 +220,8 @@ void ms_get_dt_selected_gradient(Inkscape::Selection *selection, SPMesh *&ms_sel
server = item->style->getStrokePaintServer();
}
- if ( SP_IS_MESH(server) ) {
- gradient = SP_MESH(server);
+ if ( SP_IS_MESHGRADIENT(server) ) {
+ gradient = SP_MESHGRADIENT(server);
}
}
@@ -295,7 +295,7 @@ static void ms_type_changed(EgeSelectOneAction *act, GtkWidget *widget)
SPDesktop *desktop = static_cast<SPDesktop *>(g_object_get_data(G_OBJECT(widget), "desktop"));
Inkscape::Selection *selection = desktop->getSelection();
- SPMesh *gradient = 0;
+ SPMeshGradient *gradient = 0;
ms_get_dt_selected_gradient(selection, gradient);
if (gradient) {
diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp
index 01118f337..ddac90730 100644
--- a/src/widgets/paint-selector.cpp
+++ b/src/widgets/paint-selector.cpp
@@ -33,7 +33,7 @@
#include "sp-linear-gradient.h"
#include "sp-radial-gradient.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
#include "sp-stop.h"
/* fixme: Move it from dialogs to here */
#include "gradient-selector.h"
@@ -1221,7 +1221,7 @@ SPPaintSelector::Mode SPPaintSelector::getModeForStyle(SPStyle const & style, Fi
} else if (SP_IS_RADIALGRADIENT(server)) {
mode = MODE_GRADIENT_RADIAL;
#ifdef WITH_MESH
- } else if (SP_IS_MESH(server)) {
+ } else if (SP_IS_MESHGRADIENT(server)) {
mode = MODE_GRADIENT_MESH;
#endif
} else if (SP_IS_PATTERN(server)) {