Ignore:
Timestamp:
2013-06-11T01:01:28+02:00 (13 years ago)
Author:
Don-vip
Message:

fix #8742 - update svgsalamander to release 0.1.18+patch (fix bug SVGSALAMANDER-26) -> allow to open more SVG files

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/com/kitfox/svg/Ellipse.java

    r4256 r6002  
    11/*
    2  * Rect.java
     2 * SVG Salamander
     3 * Copyright (c) 2004, Mark McKay
     4 * All rights reserved.
    35 *
     6 * Redistribution and use in source and binary forms, with or
     7 * without modification, are permitted provided that the following
     8 * conditions are met:
    49 *
    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.
    717 *
    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
    2433 *
    2534 * Created on January 26, 2004, 5:25 PM
    2635 */
    27 
    2836package com.kitfox.svg;
    2937
    3038import 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.*;
     39import java.awt.Graphics2D;
     40import java.awt.Shape;
     41import java.awt.geom.Ellipse2D;
     42import java.awt.geom.Rectangle2D;
    3643
    3744/**
     
    3946 * @author <a href="mailto:mark@kitfox.com">Mark McKay</a>
    4047 */
    41 public class Ellipse extends ShapeElement {
     48public class Ellipse extends ShapeElement
     49{
    4250
     51    public static final String TAG_NAME = "ellipse";
    4352    float cx = 0.0f;
    4453    float cy = 0.0f;
    4554    float rx = 0.0f;
    4655    float ry = 0.0f;
    47 
    4856    Ellipse2D.Float ellipse = new Ellipse2D.Float();
    4957
    50     /** Creates a new instance of Rect */
    51     public Ellipse() {
     58    /**
     59     * Creates a new instance of Rect
     60     */
     61    public Ellipse()
     62    {
    5263    }
    53 /*
    54     protected void init(String idIn, Style parentStyle, String cx, String cy, String rx, String ry) {
    55         super.init(idIn, parentStyle);
    5664
    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    }
    6169
    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 string
    69         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    
    9470    protected void build() throws SVGException
    9571    {
    9672        super.build();
    97        
     73
    9874        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
    10896        ellipse.setFrame(cx - rx, cy - ry, rx * 2f, ry * 2f);
    10997    }
     
    125113        return boundsToParent(includeStrokeInBounds(ellipse.getBounds2D()));
    126114    }
    127    
     115
    128116    /**
    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     *
    131120     * @return - true if this node has changed state as a result of the time
    132121     * update
     
    140129        StyleAttribute sty = new StyleAttribute();
    141130        boolean shapeChange = false;
    142        
     131
    143132        if (getPres(sty.setName("cx")))
    144133        {
     
    150139            }
    151140        }
    152        
     141
    153142        if (getPres(sty.setName("cy")))
    154143        {
     
    160149            }
    161150        }
    162        
     151
    163152        if (getPres(sty.setName("rx")))
    164153        {
     
    170159            }
    171160        }
    172        
     161
    173162        if (getPres(sty.setName("ry")))
    174163        {
     
    180169            }
    181170        }
    182        
     171
    183172        if (shapeChange)
    184173        {
     
    187176//            return true;
    188177        }
    189        
     178
    190179        return changeState || shapeChange;
    191180    }
Note: See TracChangeset for help on using the changeset viewer.