Changeset 6002 in josm for trunk/src/com/kitfox/svg/Circle.java
- Timestamp:
- 2013-06-11T01:01:28+02:00 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/kitfox/svg/Circle.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 … … 38 46 * @author <a href="mailto:mark@kitfox.com">Mark McKay</a> 39 47 */ 40 public class Circle extends ShapeElement 48 public class Circle extends ShapeElement 41 49 { 42 50 51 public static final String TAG_NAME = "circle"; 43 52 float cx = 0f; 44 53 float cy = 0f; 45 54 float r = 0f; 46 47 48 55 Ellipse2D.Float circle = new Ellipse2D.Float(); 49 56 50 /** Creates a new instance of Rect */ 51 public Circle() { 57 /** 58 * Creates a new instance of Rect 59 */ 60 public Circle() 61 { 52 62 } 53 /* 54 public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)63 64 public String getTagName() 55 65 { 56 //Load style string 57 super.loaderStartElement(helper, attrs, parent);66 return TAG_NAME; 67 } 58 68 59 String cx = attrs.getValue("cx");60 String cy = attrs.getValue("cy");61 String r = attrs.getValue("r");62 63 this.cx = XMLParseUtil.parseFloat(cx);64 this.cy = XMLParseUtil.parseFloat(cy);65 this.r = XMLParseUtil.parseFloat(r);66 67 build();68 69 //setBounds(this.cx - this.r, this.cy - this.r, this.r * 2.0, this.r * 2.0);70 }71 */72 /*73 public void loaderEndElement(SVGLoaderHelper helper)74 {75 // super.loaderEndElement(helper);76 77 // build();78 }79 */80 81 69 protected void build() throws SVGException 82 70 { 83 71 super.build(); 84 72 85 73 StyleAttribute sty = new StyleAttribute(); 86 87 if (getPres(sty.setName("cx"))) cx = sty.getFloatValueWithUnits(); 88 89 if (getPres(sty.setName("cy"))) cy = sty.getFloatValueWithUnits(); 90 91 if (getPres(sty.setName("r"))) r = sty.getFloatValueWithUnits(); 92 74 75 if (getPres(sty.setName("cx"))) 76 { 77 cx = sty.getFloatValueWithUnits(); 78 } 79 80 if (getPres(sty.setName("cy"))) 81 { 82 cy = sty.getFloatValueWithUnits(); 83 } 84 85 if (getPres(sty.setName("r"))) 86 { 87 r = sty.getFloatValueWithUnits(); 88 } 89 93 90 circle.setFrame(cx - r, cy - r, r * 2f, r * 2f); 94 91 } … … 112 109 113 110 /** 114 * Updates all attributes in this diagram associated with a time event. 115 * Ie, all attributes with track information. 111 * Updates all attributes in this diagram associated with a time event. Ie, 112 * all attributes with track information. 113 * 116 114 * @return - true if this node has changed state as a result of the time 117 115 * update … … 125 123 StyleAttribute sty = new StyleAttribute(); 126 124 boolean shapeChange = false; 127 125 128 126 if (getPres(sty.setName("cx"))) 129 127 { … … 135 133 } 136 134 } 137 135 138 136 if (getPres(sty.setName("cy"))) 139 137 { … … 145 143 } 146 144 } 147 145 148 146 if (getPres(sty.setName("r"))) 149 147 { … … 155 153 } 156 154 } 157 155 158 156 if (shapeChange) 159 157 { … … 162 160 // return true; 163 161 } 164 162 165 163 return changeState || shapeChange; 166 164 } 167 168 165 } 169 170 171
Note:
See TracChangeset
for help on using the changeset viewer.