diff --git a/src/org/atriasoft/esvg/LinearGradient.java b/src/org/atriasoft/esvg/LinearGradient.java index 2d0839c..703b3ee 100644 --- a/src/org/atriasoft/esvg/LinearGradient.java +++ b/src/org/atriasoft/esvg/LinearGradient.java @@ -5,7 +5,7 @@ import java.util.List; import org.atriasoft.esvg.internal.Log; import org.atriasoft.etk.Color; -import org.atriasoft.etk.Dimension; +import org.atriasoft.etk.Dimension2f; import org.atriasoft.etk.Distance; import org.atriasoft.etk.math.FMath; import org.atriasoft.etk.math.Matrix2x3f; @@ -24,8 +24,8 @@ import org.atriasoft.exml.model.XmlNode; public class LinearGradient extends Base { private final List> data = new ArrayList<>(); //!< gradient position x1 y1 private String href = ""; //!< gradient position x2 y2 - private Dimension pos1 = new Dimension(new Vector2f(50, 50), Distance.POURCENT); - private Dimension pos2 = new Dimension(new Vector2f(50, 50), Distance.POURCENT); + private Dimension2f pos1 = new Dimension2f(new Vector2f(50, 50), Distance.POURCENT); + private Dimension2f pos2 = new Dimension2f(new Vector2f(50, 50), Distance.POURCENT); public SpreadMethod spread = SpreadMethod.PAD; //!< in case of using a single gradient in multiple gradient, the gradient is store in an other element... @@ -71,11 +71,11 @@ public class LinearGradient extends Base { return this.data; } - public Dimension getPosition1() { + public Dimension2f getPosition1() { return this.pos1; } - public Dimension getPosition2() { + public Dimension2f getPosition2() { return this.pos2; } @@ -100,12 +100,12 @@ public class LinearGradient extends Base { String contentX = element.getAttribute("x1", ""); String contentY = element.getAttribute("y1", ""); if (!contentX.isEmpty() && !contentY.isEmpty()) { - this.pos1 = Dimension.valueOf(contentX, contentY); + this.pos1 = Dimension2f.valueOf(contentX, contentY); } contentX = element.getAttribute("x2", ""); contentY = element.getAttribute("y2", ""); if (!contentX.isEmpty() && !contentY.isEmpty()) { - this.pos2 = Dimension.valueOf(contentX, contentY); + this.pos2 = Dimension2f.valueOf(contentX, contentY); } contentX = element.getAttribute("gradientUnits", ""); if (contentX.equals("userSpaceOnUse")) { @@ -162,7 +162,7 @@ public class LinearGradient extends Base { stopColor = stopColor.withA(opacity); Log.verbose(" opacity : '" + content + "' == > " + stopColor); } - this.data.add(new Pair(offset, stopColor)); + this.data.add(new Pair<>(offset, stopColor)); } else { Log.error(" node not suported : '" + child.getValue() + "' must be [stop]"); } diff --git a/src/org/atriasoft/esvg/RadialGradient.java b/src/org/atriasoft/esvg/RadialGradient.java index 73c0af5..2f6ed05 100644 --- a/src/org/atriasoft/esvg/RadialGradient.java +++ b/src/org/atriasoft/esvg/RadialGradient.java @@ -5,16 +5,16 @@ import java.util.List; import org.atriasoft.esvg.internal.Log; import org.atriasoft.etk.Color; -import org.atriasoft.etk.util.Dynamic; -import org.atriasoft.etk.util.Pair; -import org.atriasoft.exml.model.XmlElement; -import org.atriasoft.exml.model.XmlNode; -import org.atriasoft.etk.Dimension; -import org.atriasoft.etk.Dimension1D; +import org.atriasoft.etk.Dimension1f; +import org.atriasoft.etk.Dimension2f; import org.atriasoft.etk.Distance; import org.atriasoft.etk.math.FMath; import org.atriasoft.etk.math.Matrix2x3f; import org.atriasoft.etk.math.Vector2f; +import org.atriasoft.etk.util.Dynamic; +import org.atriasoft.etk.util.Pair; +import org.atriasoft.exml.model.XmlElement; +import org.atriasoft.exml.model.XmlNode; /** @file * @author Edouard DUPIN @@ -22,11 +22,11 @@ import org.atriasoft.etk.math.Vector2f; * @license MPL v2.0 (see license file) */ public class RadialGradient extends Base { - private Dimension center = new Dimension(new Vector2f(50, 50), Distance.POURCENT); //!< gradient position cx cy + private Dimension2f center = new Dimension2f(new Vector2f(50, 50), Distance.POURCENT); //!< gradient position cx cy private final List> data = new ArrayList<>(); //!< incompatible with href - private Dimension focal = new Dimension(new Vector2f(50, 50), Distance.POURCENT); //!< gradient Focal fx fy + private Dimension2f focal = new Dimension2f(new Vector2f(50, 50), Distance.POURCENT); //!< gradient Focal fx fy private String href = ""; //!< in case of using a single gradient in multiple gradient, the gradient is store in an other element... - private Dimension1D radius = new Dimension1D(50, Distance.POURCENT); //!< Radius of the gradient + private Dimension1f radius = new Dimension1f(50, Distance.POURCENT); //!< Radius of the gradient public SpreadMethod spread = SpreadMethod.PAD; public GradientUnits unit = GradientUnits.GRADIENT_UNITS_OBJECT_BOUNDING_BOX; @@ -47,7 +47,7 @@ public class RadialGradient extends Base { Log.verbose(spacingDist(level) + "DRAW esvg::RadialGradient"); } - public Dimension getCenter() { + public Dimension2f getCenter() { return this.center; } @@ -73,11 +73,11 @@ public class RadialGradient extends Base { return this.data; } - public Dimension getFocal() { + public Dimension2f getFocal() { return this.focal; } - public Dimension1D getRadius() { + public Dimension1f getRadius() { return this.radius; } @@ -101,16 +101,16 @@ public class RadialGradient extends Base { String contentX = element.getAttribute("cx", ""); String contentY = element.getAttribute("cy", ""); if (!contentX.isEmpty() && !contentY.isEmpty()) { - this.center = Dimension.valueOf(contentX, contentY); + this.center = Dimension2f.valueOf(contentX, contentY); } contentX = element.getAttribute("r", ""); if (contentX != "") { - this.radius = Dimension1D.valueOf(contentX); + this.radius = Dimension1f.valueOf(contentX); } contentX = element.getAttribute("fx", ""); contentY = element.getAttribute("fy", ""); if (!contentX.isEmpty() && !contentY.isEmpty()) { - this.focal = Dimension.valueOf(contentX, contentY); + this.focal = Dimension2f.valueOf(contentX, contentY); } contentX = element.getAttribute("gradientUnits", ""); if (contentX.equals("userSpaceOnUse")) { @@ -167,7 +167,7 @@ public class RadialGradient extends Base { stopColor = stopColor.withA(opacity); Log.verbose(" opacity : '" + content + "' == > " + stopColor); } - this.data.add(new Pair(offset, stopColor)); + this.data.add(new Pair<>(offset, stopColor)); } else { Log.error("node not suported : '" + child.getValue() + "' must be [stop]"); } diff --git a/src/org/atriasoft/esvg/render/DynamicColorSpecial.java b/src/org/atriasoft/esvg/render/DynamicColorSpecial.java index 0005ae2..d646b6a 100644 --- a/src/org/atriasoft/esvg/render/DynamicColorSpecial.java +++ b/src/org/atriasoft/esvg/render/DynamicColorSpecial.java @@ -2,21 +2,21 @@ package org.atriasoft.esvg.render; import java.util.List; -import org.atriasoft.esvg.SpreadMethod; import org.atriasoft.esvg.Base; import org.atriasoft.esvg.EsvgDocument; import org.atriasoft.esvg.GradientUnits; import org.atriasoft.esvg.LinearGradient; import org.atriasoft.esvg.RadialGradient; +import org.atriasoft.esvg.SpreadMethod; import org.atriasoft.esvg.internal.Log; import org.atriasoft.etk.Color; -import org.atriasoft.etk.Dimension; -import org.atriasoft.etk.Dimension1D; +import org.atriasoft.etk.Dimension1f; +import org.atriasoft.etk.Dimension2f; import org.atriasoft.etk.Distance; import org.atriasoft.etk.math.FMath; +import org.atriasoft.etk.math.Matrix2x3f; import org.atriasoft.etk.math.Vector2f; import org.atriasoft.etk.math.Vector2i; -import org.atriasoft.etk.math.Matrix2x3f; import org.atriasoft.etk.util.Pair; public class DynamicColorSpecial implements DynamicColor { @@ -119,12 +119,12 @@ public class DynamicColorSpecial implements DynamicColor { Log.verbose(" viewport = {" + this.viewPort.first + "," + this.viewPort.second + "}"); Vector2f size = this.viewPort.second.less(this.viewPort.first); - Dimension dimPos1 = gradient.getPosition1(); + Dimension2f dimPos1 = gradient.getPosition1(); this.pos1 = dimPos1.getPixel(size); if (dimPos1.getType() == Distance.POURCENT) { this.pos1 = this.pos1.add(this.viewPort.first); } - Dimension dimPos2 = gradient.getPosition2(); + Dimension2f dimPos2 = gradient.getPosition2(); this.pos2 = dimPos2.getPixel(size); if (dimPos2.getType() == Distance.POURCENT) { this.pos2 = this.pos2.add(this.viewPort.first); @@ -165,17 +165,17 @@ public class DynamicColorSpecial implements DynamicColor { Log.verbose(" viewport = {" + this.viewPort.first + "," + this.viewPort.second + "}"); Vector2f size = this.viewPort.second.less(this.viewPort.first); - Dimension dimCenter = gradient.getCenter(); + Dimension2f dimCenter = gradient.getCenter(); Vector2f center = dimCenter.getPixel(size); if (dimCenter.getType() == Distance.POURCENT) { center = center.add(this.viewPort.first); } - Dimension dimFocal = gradient.getFocal(); + Dimension2f dimFocal = gradient.getFocal(); Vector2f focal = dimFocal.getPixel(size); if (dimFocal.getType() == Distance.POURCENT) { focal = focal.add(this.viewPort.first); } - Dimension1D dimRadius = gradient.getRadius(); + Dimension1f dimRadius = gradient.getRadius(); // in the basic vertion of the gradient the color is calculated with the ration in X and Y in the bonding box associated (it is rotate with the object).. if (center == focal) { this.centerIsFocal = true;