Changeset 6002 in josm for trunk/src/com/kitfox/svg/Stop.java
- Timestamp:
- 2013-06-11T01:01:28+02:00 (13 years ago)
- File:
-
- 1 edited
-
trunk/src/com/kitfox/svg/Stop.java (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/kitfox/svg/Stop.java
r4256 r6002 1 1 /* 2 * Stop.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, 1:56 AM 26 35 */ 27 28 36 package com.kitfox.svg; 29 37 30 38 import com.kitfox.svg.xml.StyleAttribute; 31 import java.awt.*; 32 import java.util.*; 33 34 import com.kitfox.svg.xml.*; 35 import org.xml.sax.*; 39 import java.awt.Color; 36 40 37 41 /** … … 39 43 * @author <a href="mailto:mark@kitfox.com">Mark McKay</a> 40 44 */ 41 public class Stop extends SVGElement { 45 public class Stop extends SVGElement 46 { 42 47 48 public static final String TAG_NAME = "stop"; 43 49 float offset = 0f; 44 50 float opacity = 1f; 45 51 Color color = Color.black; 46 52 47 /** Creates a new instance of Stop */ 48 public Stop() { 53 /** 54 * Creates a new instance of Stop 55 */ 56 public Stop() 57 { 49 58 } 50 /* 51 public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)59 60 public String getTagName() 52 61 { 53 //Load style string 54 super.loaderStartElement(helper, attrs, parent);62 return TAG_NAME; 63 } 55 64 56 String offset = attrs.getValue("offset");57 this.offset = (float)XMLParseUtil.parseRatio(offset);58 59 buildStop();60 }61 */62 63 65 protected void build() throws SVGException 64 66 { 65 67 super.build(); 66 68 67 69 StyleAttribute sty = new StyleAttribute(); 68 70 69 71 if (getPres(sty.setName("offset"))) 70 72 { 71 73 offset = sty.getFloatValue(); 72 74 String units = sty.getUnits(); 73 if (units != null && units.equals("%")) offset /= 100f; 74 if (offset > 1) offset = 1; 75 if (offset < 0) offset = 0; 75 if (units != null && units.equals("%")) 76 { 77 offset /= 100f; 78 } 79 if (offset > 1) 80 { 81 offset = 1; 82 } 83 if (offset < 0) 84 { 85 offset = 0; 86 } 76 87 } 77 78 if (getStyle(sty.setName("stop-color"))) color = sty.getColorValue();79 88 80 if (getStyle(sty.setName("stop-opacity"))) opacity = sty.getRatioValue(); 89 if (getStyle(sty.setName("stop-color"))) 90 { 91 color = sty.getColorValue(); 92 } 93 94 if (getStyle(sty.setName("stop-opacity"))) 95 { 96 opacity = sty.getRatioValue(); 97 } 81 98 } 82 99 83 100 /** 84 * Updates all attributes in this diagram associated with a time event. 85 * Ie, all attributes with track information. 101 * Updates all attributes in this diagram associated with a time event. Ie, 102 * all attributes with track information. 103 * 86 104 * @return - true if this node has changed state as a result of the time 87 105 * update … … 94 112 StyleAttribute sty = new StyleAttribute(); 95 113 boolean shapeChange = false; 96 114 97 115 if (getPres(sty.setName("offset"))) 98 116 { … … 104 122 } 105 123 } 106 107 if (get Pres(sty.setName("stop-color")))124 125 if (getStyle(sty.setName("stop-color"))) 108 126 { 109 127 Color newVal = sty.getColorValue(); … … 114 132 } 115 133 } 116 117 if (get Pres(sty.setName("stop-opacity")))134 135 if (getStyle(sty.setName("stop-opacity"))) 118 136 { 119 137 float newVal = sty.getFloatValue(); … … 124 142 } 125 143 } 126 144 127 145 return shapeChange; 128 146 }
Note:
See TracChangeset
for help on using the changeset viewer.
