Changeset 6002 in josm for trunk/src/com/kitfox/svg/Ellipse.java
- Timestamp:
- 2013-06-11T01:01:28+02:00 (13 years ago)
- File:
-
- 1 edited
-
trunk/src/com/kitfox/svg/Ellipse.java (modified) (9 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/kitfox/svg/Ellipse.java
r4256 r6002 1 1 /* 2 * Rect.java 2 * SVG Salamander 3 * Copyright (c) 2004, Mark McKay 4 * All rights reserved. 3 5 * 6 * Redistribution and use in source and binary forms, with or 7 * without modification, are permitted provided that the following 8 * conditions are met: 4 9 * 5 * The Salamander Project - 2D and 3D graphics libraries in Java 6 * Copyright (C) 2004 Mark McKay 10 * - Redistributions of source code must retain the above 11 * copyright notice, this list of conditions and the following 12 * disclaimer. 13 * - Redistributions in binary form must reproduce the above 14 * copyright notice, this list of conditions and the following 15 * disclaimer in the documentation and/or other materials 16 * provided with the distribution. 7 17 * 8 * This library is free software; you can redistribute it and/or 9 * modify it under the terms of the GNU Lesser General Public 10 * License as published by the Free Software Foundation; either 11 * version 2.1 of the License, or (at your option) any later version. 12 * 13 * This library is distributed in the hope that it will be useful, 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 * Lesser General Public License for more details. 17 * 18 * You should have received a copy of the GNU Lesser General Public 19 * License along with this library; if not, write to the Free Software 20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 21 * 22 * Mark McKay can be contacted at mark@kitfox.com. Salamander and other 23 * projects can be found at http://www.kitfox.com 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 23 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 24 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 25 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 27 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 28 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 29 * OF THE POSSIBILITY OF SUCH DAMAGE. 30 * 31 * Mark McKay can be contacted at mark@kitfox.com. Salamander and other 32 * projects can be found at http://www.kitfox.com 24 33 * 25 34 * Created on January 26, 2004, 5:25 PM 26 35 */ 27 28 36 package com.kitfox.svg; 29 37 30 38 import com.kitfox.svg.xml.StyleAttribute; 31 import com.kitfox.svg.xml.*; 32 import org.xml.sax.*; 33 34 import java.awt.*; 35 import java.awt.geom.*; 39 import java.awt.Graphics2D; 40 import java.awt.Shape; 41 import java.awt.geom.Ellipse2D; 42 import java.awt.geom.Rectangle2D; 36 43 37 44 /** … … 39 46 * @author <a href="mailto:mark@kitfox.com">Mark McKay</a> 40 47 */ 41 public class Ellipse extends ShapeElement { 48 public class Ellipse extends ShapeElement 49 { 42 50 51 public static final String TAG_NAME = "ellipse"; 43 52 float cx = 0.0f; 44 53 float cy = 0.0f; 45 54 float rx = 0.0f; 46 55 float ry = 0.0f; 47 48 56 Ellipse2D.Float ellipse = new Ellipse2D.Float(); 49 57 50 /** Creates a new instance of Rect */ 51 public Ellipse() { 58 /** 59 * Creates a new instance of Rect 60 */ 61 public Ellipse() 62 { 52 63 } 53 /*54 protected void init(String idIn, Style parentStyle, String cx, String cy, String rx, String ry) {55 super.init(idIn, parentStyle);56 64 57 this.cx = parseDouble(cx);58 this.cy = parseDouble(cy);59 this.rx = parseDouble(rx);60 this.ry = parseDouble(ry);65 public String getTagName() 66 { 67 return TAG_NAME; 68 } 61 69 62 setBounds(this.cx - this.rx, this.cy - this.ry, this.rx * 2.0, this.ry * 2.0);63 }64 */65 /*66 public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)67 {68 //Load style string69 super.loaderStartElement(helper, attrs, parent);70 71 String cx = attrs.getValue("cx");72 String cy = attrs.getValue("cy");73 String rx = attrs.getValue("rx");74 String ry = attrs.getValue("ry");75 76 this.cx = XMLParseUtil.parseDouble(cx);77 this.cy = XMLParseUtil.parseDouble(cy);78 this.rx = XMLParseUtil.parseDouble(rx);79 this.ry = XMLParseUtil.parseDouble(ry);80 81 build();82 }83 */84 85 /*86 public void loaderEndElement(SVGLoaderHelper helper)87 {88 super.loaderEndElement(helper);89 90 build();91 }92 */93 94 70 protected void build() throws SVGException 95 71 { 96 72 super.build(); 97 73 98 74 StyleAttribute sty = new StyleAttribute(); 99 100 if (getPres(sty.setName("cx"))) cx = sty.getFloatValueWithUnits(); 101 102 if (getPres(sty.setName("cy"))) cy = sty.getFloatValueWithUnits(); 103 104 if (getPres(sty.setName("rx"))) rx = sty.getFloatValueWithUnits(); 105 106 if (getPres(sty.setName("ry"))) ry = sty.getFloatValueWithUnits(); 107 75 76 if (getPres(sty.setName("cx"))) 77 { 78 cx = sty.getFloatValueWithUnits(); 79 } 80 81 if (getPres(sty.setName("cy"))) 82 { 83 cy = sty.getFloatValueWithUnits(); 84 } 85 86 if (getPres(sty.setName("rx"))) 87 { 88 rx = sty.getFloatValueWithUnits(); 89 } 90 91 if (getPres(sty.setName("ry"))) 92 { 93 ry = sty.getFloatValueWithUnits(); 94 } 95 108 96 ellipse.setFrame(cx - rx, cy - ry, rx * 2f, ry * 2f); 109 97 } … … 125 113 return boundsToParent(includeStrokeInBounds(ellipse.getBounds2D())); 126 114 } 127 115 128 116 /** 129 * Updates all attributes in this diagram associated with a time event. 130 * Ie, all attributes with track information. 117 * Updates all attributes in this diagram associated with a time event. Ie, 118 * all attributes with track information. 119 * 131 120 * @return - true if this node has changed state as a result of the time 132 121 * update … … 140 129 StyleAttribute sty = new StyleAttribute(); 141 130 boolean shapeChange = false; 142 131 143 132 if (getPres(sty.setName("cx"))) 144 133 { … … 150 139 } 151 140 } 152 141 153 142 if (getPres(sty.setName("cy"))) 154 143 { … … 160 149 } 161 150 } 162 151 163 152 if (getPres(sty.setName("rx"))) 164 153 { … … 170 159 } 171 160 } 172 161 173 162 if (getPres(sty.setName("ry"))) 174 163 { … … 180 169 } 181 170 } 182 171 183 172 if (shapeChange) 184 173 { … … 187 176 // return true; 188 177 } 189 178 190 179 return changeState || shapeChange; 191 180 }
Note:
See TracChangeset
for help on using the changeset viewer.
