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/Stop.java

    r4256 r6002  
    11/*
    2  * Stop.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, 1:56 AM
    2635 */
    27 
    2836package com.kitfox.svg;
    2937
    3038import 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.*;
     39import java.awt.Color;
    3640
    3741/**
     
    3943 * @author <a href="mailto:mark@kitfox.com">Mark McKay</a>
    4044 */
    41 public class Stop extends SVGElement {
     45public class Stop extends SVGElement
     46{
    4247
     48    public static final String TAG_NAME = "stop";
    4349    float offset = 0f;
    4450    float opacity = 1f;
    4551    Color color = Color.black;
    4652
    47     /** Creates a new instance of Stop */
    48     public Stop() {
     53    /**
     54     * Creates a new instance of Stop
     55     */
     56    public Stop()
     57    {
    4958    }
    50 /*
    51     public void loaderStartElement(SVGLoaderHelper helper, Attributes attrs, SVGElement parent)
     59
     60    public String getTagName()
    5261    {
    53                 //Load style string
    54         super.loaderStartElement(helper, attrs, parent);
     62        return TAG_NAME;
     63    }
    5564
    56         String offset = attrs.getValue("offset");
    57         this.offset = (float)XMLParseUtil.parseRatio(offset);
    58 
    59         buildStop();
    60     }
    61     */
    62    
    6365    protected void build() throws SVGException
    6466    {
    6567        super.build();
    66        
     68
    6769        StyleAttribute sty = new StyleAttribute();
    68        
     70
    6971        if (getPres(sty.setName("offset")))
    7072        {
    7173            offset = sty.getFloatValue();
    7274            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            }
    7687        }
    77        
    78         if (getStyle(sty.setName("stop-color"))) color = sty.getColorValue();
    7988
    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        }
    8198    }
    8299
    83100    /**
    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     *
    86104     * @return - true if this node has changed state as a result of the time
    87105     * update
     
    94112        StyleAttribute sty = new StyleAttribute();
    95113        boolean shapeChange = false;
    96        
     114
    97115        if (getPres(sty.setName("offset")))
    98116        {
     
    104122            }
    105123        }
    106        
    107         if (getPres(sty.setName("stop-color")))
     124
     125        if (getStyle(sty.setName("stop-color")))
    108126        {
    109127            Color newVal = sty.getColorValue();
     
    114132            }
    115133        }
    116        
    117         if (getPres(sty.setName("stop-opacity")))
     134
     135        if (getStyle(sty.setName("stop-opacity")))
    118136        {
    119137            float newVal = sty.getFloatValue();
     
    124142            }
    125143        }
    126        
     144
    127145        return shapeChange;
    128146    }
Note: See TracChangeset for help on using the changeset viewer.