001package com.hfg.svg.filtereffect;
002
003import com.hfg.svg.AbstractSvgNode;
004import com.hfg.svg.SVG;
005import com.hfg.svg.SvgAttr;
006import com.hfg.xml.XMLTag;
007
008//------------------------------------------------------------------------------
009/**
010 Object representation of an SVG (Scalable Vector Graphics) 'feBlend' filter effect tag.
011
012 From <a href='http://www.w3.org/TR/2003/REC-SVG11-20030114/filters.html#feBlend'>
013 http://www.w3.org/TR/2003/REC-SVG11-20030114/filters.html#feBlend</a>:
014 <p style='font-style:italic'>
015 "This filter composites two objects together using commonly used imaging software
016 blending modes. It performs a pixel-wise combination of two input images."
017 </p>
018 @author J. Alex Taylor, hairyfatguy.com
019 */
020//------------------------------------------------------------------------------
021// com.hfg XML/HTML Coding Library
022//
023// This library is free software; you can redistribute it and/or
024// modify it under the terms of the GNU Lesser General Public
025// License as published by the Free Software Foundation; either
026// version 2.1 of the License, or (at your option) any later version.
027//
028// This library is distributed in the hope that it will be useful,
029// but WITHOUT ANY WARRANTY; without even the implied warranty of
030// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
031// Lesser General Public License for more details.
032//
033// You should have received a copy of the GNU Lesser General Public
034// License along with this library; if not, write to the Free Software
035// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
036//
037// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
038// jataylor@hairyfatguy.com
039//------------------------------------------------------------------------------
040
041public class SvgFeBlend extends AbstractSvgNode
042{
043
044   //###########################################################################
045   // CONSTRUCTORS
046   //###########################################################################
047
048   //---------------------------------------------------------------------------
049   public SvgFeBlend()
050   {
051      super(SVG.feBlend);
052   }
053
054   //---------------------------------------------------------------------------
055   public SvgFeBlend(XMLTag inXMLTag)
056   {
057      this();
058      initFromXMLTag(inXMLTag);
059   }
060
061   //###########################################################################
062   // PUBLIC METHODS
063   //###########################################################################
064
065   //---------------------------------------------------------------------------
066   public SvgFeBlend setColorInterpolationFilters(ColorInterpolationFilters inValue)
067   {
068      setAttribute(SvgAttr.colorInterpolationFilters, inValue);
069      return this;
070   }
071
072   //---------------------------------------------------------------------------
073   public SvgFeBlend setIn(FeInput inValue)
074   {
075      setAttribute(SvgAttr.in, inValue);
076      return this;
077   }
078
079   //---------------------------------------------------------------------------
080   public SvgFeBlend setIn2(FeInput inValue)
081   {
082      setAttribute(SvgAttr.in2, inValue);
083      return this;
084   }
085
086   //---------------------------------------------------------------------------
087   public SvgFeBlend setHeight(int inValue)
088   {
089      setAttribute(SvgAttr.height, inValue);
090      return this;
091   }
092
093   //---------------------------------------------------------------------------
094   public SvgFeBlend setHeight(String inValue)
095   {
096      setAttribute(SvgAttr.height, inValue);
097      return this;
098   }
099
100   //---------------------------------------------------------------------------
101   public SvgFeBlend setMode(ImageBlendingMode inValue)
102   {
103      setAttribute(SvgAttr.mode, inValue);
104      return this;
105   }
106
107   //---------------------------------------------------------------------------
108   public SvgFeBlend setResult(String inValue)
109   {
110      setAttribute(SvgAttr.result, inValue);
111      return this;
112   }
113
114   //---------------------------------------------------------------------------
115   public SvgFeBlend setWidth(int inValue)
116   {
117      setAttribute(SvgAttr.width, inValue);
118      return this;
119   }
120
121   //---------------------------------------------------------------------------
122   public SvgFeBlend setWidth(String inValue)
123   {
124      setAttribute(SvgAttr.width, inValue);
125      return this;
126   }
127
128   //---------------------------------------------------------------------------
129   public SvgFeBlend setX(int inValue)
130   {
131      setAttribute(SvgAttr.x, inValue);
132      return this;
133   }
134
135   //---------------------------------------------------------------------------
136   public SvgFeBlend setX(String inValue)
137   {
138      setAttribute(SvgAttr.x, inValue);
139      return this;
140   }
141
142
143   //---------------------------------------------------------------------------
144   public SvgFeBlend setY(int inValue)
145   {
146      setAttribute(SvgAttr.y, inValue);
147      return this;
148   }
149
150   //---------------------------------------------------------------------------
151   public SvgFeBlend setY(String inValue)
152   {
153      setAttribute(SvgAttr.y, inValue);
154      return this;
155   }
156
157}