summaryrefslogtreecommitdiffstats
path: root/src/sp-mesh-gradient.cpp
diff options
context:
space:
mode:
authorJabier Arraiza Cenoz <jabier.arraiza@marker.es>2016-10-03 20:51:05 +0000
committerjabiertxof <info@marker.es>2016-10-03 20:51:05 +0000
commit4db35e8a6706ddece9e977e5f26d4a6867ff8cbe (patch)
treef9711f260f694d96e26bf3216fb64f2b38611b2b /src/sp-mesh-gradient.cpp
parentupdate to trunk (diff)
parentMerge in jabiertxof's hover information for measure tool (diff)
downloadinkscape-4db35e8a6706ddece9e977e5f26d4a6867ff8cbe.tar.gz
inkscape-4db35e8a6706ddece9e977e5f26d4a6867ff8cbe.zip
Update to trunk
(bzr r15017.1.35)
Diffstat (limited to '')
-rw-r--r--src/sp-mesh-gradient.cpp (renamed from src/sp-mesh.cpp)71
1 files changed, 48 insertions, 23 deletions
diff --git a/src/sp-mesh.cpp b/src/sp-mesh-gradient.cpp
index e04c29e8e..572131c60 100644
--- a/src/sp-mesh.cpp
+++ b/src/sp-mesh-gradient.cpp
@@ -2,35 +2,60 @@
#include "attributes.h"
#include "display/cairo-utils.h"
-#include "xml/repr.h"
-#include "sp-mesh.h"
+#include "sp-mesh-gradient.h"
/*
* Mesh Gradient
*/
//#define MESH_DEBUG
-SPMesh::SPMesh() : SPGradient(), type( SP_MESH_TYPE_COONS ), type_set(false) {
+//#define OBJECT_TRACE
+
+SPMeshGradient::SPMeshGradient() : SPGradient(), type( SP_MESH_TYPE_COONS ), type_set(false) {
+#ifdef OBJECT_TRACE
+ objectTrace( "SPMeshGradient::SPMeshGradient" );
+#endif
+
// Start coordinate of mesh
this->x.unset(SVGLength::NONE, 0.0, 0.0);
this->y.unset(SVGLength::NONE, 0.0, 0.0);
+
+#ifdef OBJECT_TRACE
+ objectTrace( "SPMeshGradient::SPMeshGradient", false );
+#endif
}
-SPMesh::~SPMesh() {
+SPMeshGradient::~SPMeshGradient() {
+#ifdef OBJECT_TRACE
+ 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( "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( "SPMeshGradient::build", false );
+#endif
}
-void SPMesh::set(unsigned key, gchar const *value) {
+void SPMeshGradient::set(unsigned key, gchar const *value) {
+#ifdef OBJECT_TRACE
+ objectTrace( "SPMeshGradient::set" );
+#endif
+
switch (key) {
case SP_ATTR_X:
if (!this->x.read(value)) {
@@ -55,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;
}
@@ -71,18 +96,22 @@ void SPMesh::set(unsigned key, gchar const *value) {
SPGradient::set(key, value);
break;
}
+
+#ifdef OBJECT_TRACE
+ 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) {
-#ifdef MESH_DEBUG
- std::cout << "sp_mesh_write() ***************************" << std::endl;
+Inkscape::XML::Node* SPMeshGradient::write(Inkscape::XML::Document *xml_doc, Inkscape::XML::Node *repr, guint flags) {
+#ifdef OBJECT_TRACE
+ 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) {
@@ -109,17 +138,13 @@ Inkscape::XML::Node* SPMesh::write(Inkscape::XML::Document *xml_doc, Inkscape::X
SPGradient::write(xml_doc, repr, flags);
+#ifdef OBJECT_TRACE
+ 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
@@ -133,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->x0 << "," << bbox->y0 << ") (" << bbox->x1 << "," << bbox->y1 << ") " << opacity << std::endl;
+ std::cout << "sp_meshgradient_create_pattern: " << (*bbox) << " " << opacity << std::endl;
#endif
this->ensureArray();
@@ -146,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 );