Changeset 6002 in josm for trunk/src/com/kitfox/svg/Symbol.java
- Timestamp:
- 2013-06-11T01:01:28+02:00 (13 years ago)
- File:
-
- 1 edited
-
trunk/src/com/kitfox/svg/Symbol.java (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/com/kitfox/svg/Symbol.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 import java.awt.*; 31 import java.awt.geom.*; 32 33 import com.kitfox.svg.xml.*; 38 import com.kitfox.svg.xml.StyleAttribute; 39 import java.awt.Graphics2D; 40 import java.awt.Rectangle; 41 import java.awt.Shape; 42 import java.awt.geom.AffineTransform; 43 import java.awt.geom.Rectangle2D; 34 44 35 45 /** … … 39 49 public class Symbol extends Group 40 50 { 51 52 public static final String TAG_NAME = "symbol"; 41 53 AffineTransform viewXform; 42 54 Rectangle2D viewBox; 43 55 44 /** Creates a new instance of Stop */ 45 public Symbol() { 56 /** 57 * Creates a new instance of Stop 58 */ 59 public Symbol() 60 { 46 61 } 47 /* 48 public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)62 63 public String getTagName() 49 64 { 50 //Load style string 51 super.loaderStartElement(helper, attrs, parent);65 return TAG_NAME; 66 } 52 67 53 String viewBoxStrn = attrs.getValue("viewBox");54 if (viewBoxStrn != null)55 {56 float[] dim = XMLParseUtil.parseFloatList(viewBoxStrn);57 viewBox = new Rectangle2D.Float(dim[0], dim[1], dim[2], dim[3]);58 }59 }60 */61 /*62 public void loaderEndElement(SVGLoaderHelper helper)63 {64 if (viewBox == null)65 {66 viewBox = super.getBoundingBox();67 }68 69 //Transform pattern onto unit square70 viewXform = new AffineTransform();71 viewXform.scale(1.0 / viewBox.getWidth(), 1.0 / viewBox.getHeight());72 viewXform.translate(-viewBox.getX(), -viewBox.getY());73 }74 */75 76 68 protected void build() throws SVGException 77 69 { 78 70 super.build(); 79 71 80 72 StyleAttribute sty = new StyleAttribute(); 81 73 82 74 // sty = getPres("unicode"); 83 75 // if (sty != null) unicode = sty.getStringValue(); … … 89 81 viewBox = new Rectangle2D.Float(dim[0], dim[1], dim[2], dim[3]); 90 82 } 91 83 92 84 if (viewBox == null) 93 85 { … … 104 96 protected boolean outsideClip(Graphics2D g) throws SVGException 105 97 { 106 g.getClipBounds(clipBounds); 98 Shape clip = g.getClip(); 99 // g.getClipBounds(clipBounds); 107 100 Rectangle2D rect = super.getBoundingBox(); 108 if ( rect.intersects(clipBounds))101 if (clip == null || clip.intersects(rect)) 109 102 { 110 103 return false; … … 138 131 139 132 /** 140 * Updates all attributes in this diagram associated with a time event. 141 * Ie, all attributes with track information. 133 * Updates all attributes in this diagram associated with a time event. Ie, 134 * all attributes with track information. 135 * 142 136 * @return - true if this node has changed state as a result of the time 143 137 * update … … 147 141 // if (trackManager.getNumTracks() == 0) return false; 148 142 boolean changeState = super.updateTime(curTime); 149 143 150 144 //View box properties do not change 151 145 152 146 return changeState; 153 147 } 154 155 148 }
Note:
See TracChangeset
for help on using the changeset viewer.
