001 /*
002 * FillElement.java
003 *
004 *
005 * The Salamander Project - 2D and 3D graphics libraries in Java
006 * Copyright (C) 2004 Mark McKay
007 *
008 * This library is free software; you can redistribute it and/or
009 * modify it under the terms of the GNU Lesser General Public
010 * License as published by the Free Software Foundation; either
011 * version 2.1 of the License, or (at your option) any later version.
012 *
013 * This library is distributed in the hope that it will be useful,
014 * but WITHOUT ANY WARRANTY; without even the implied warranty of
015 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
016 * Lesser General Public License for more details.
017 *
018 * You should have received a copy of the GNU Lesser General Public
019 * License along with this library; if not, write to the Free Software
020 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
021 *
022 * Mark McKay can be contacted at mark@kitfox.com. Salamander and other
023 * projects can be found at http://www.kitfox.com
024 *
025 * Created on March 18, 2004, 6:52 AM
026 */
027
028 package com.kitfox.svg;
029
030 import com.kitfox.svg.xml.StyleAttribute;
031 import java.awt.*;
032 import java.awt.geom.*;
033 import java.net.*;
034 import java.util.*;
035
036 import com.kitfox.svg.xml.*;
037 import org.xml.sax.*;
038
039 /**
040 * @author Mark McKay
041 * @author <a href="mailto:mark@kitfox.com">Mark McKay</a>
042 */
043 public class FeDistantLight extends FeLight
044 {
045 float azimuth = 0f;
046 float elevation = 0f;
047
048
049 /** Creates a new instance of FillElement */
050 public FeDistantLight() {
051 }
052
053
054 protected void build() throws SVGException
055 {
056 super.build();
057
058 StyleAttribute sty = new StyleAttribute();
059 String strn;
060
061 if (getPres(sty.setName("azimuth"))) azimuth = sty.getFloatValueWithUnits();
062
063 if (getPres(sty.setName("elevation"))) elevation = sty.getFloatValueWithUnits();
064 }
065
066 public float getAzimuth() { return azimuth; }
067 public float getElevation() { return elevation; }
068
069 public boolean updateTime(double curTime) throws SVGException
070 {
071 // if (trackManager.getNumTracks() == 0) return false;
072
073 //Get current values for parameters
074 StyleAttribute sty = new StyleAttribute();
075 boolean stateChange = false;
076
077 if (getPres(sty.setName("azimuth")))
078 {
079 float newVal = sty.getFloatValueWithUnits();
080 if (newVal != azimuth)
081 {
082 azimuth = newVal;
083 stateChange = true;
084 }
085 }
086
087 if (getPres(sty.setName("elevation")))
088 {
089 float newVal = sty.getFloatValueWithUnits();
090 if (newVal != elevation)
091 {
092 elevation = newVal;
093 stateChange = true;
094 }
095 }
096
097 return stateChange;
098 }
099 }
100