1 /**********************************************
2 * Copyright (C) 2010 Lukas Laag
3 * This file is part of lib-gwt-svg.
4 *
5 * libgwtsvg is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * libgwtsvg is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with libgwtsvg. If not, see http://www.gnu.org/licenses/
17 **********************************************/
18 /*
19 * Copyright (c) 2004 World Wide Web Consortium,
20 *
21 * (Massachusetts Institute of Technology, European Research Consortium for
22 * Informatics and Mathematics, Keio University). All Rights Reserved. This
23 * work is distributed under the W3C(r) Software License [1] in the hope that
24 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
25 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
26 *
27 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
28 */
29
30 package org.vectomatic.dom.svg;
31
32 import org.vectomatic.dom.svg.impl.SVGFEBlendElement;
33 import org.vectomatic.dom.svg.itf.ISVGFilterPrimitiveStandardAttributes;
34 import org.vectomatic.dom.svg.utils.DOMHelper;
35 import org.vectomatic.dom.svg.utils.SVGConstants;
36
37 import com.google.gwt.dom.client.TagName;
38
39 /**
40 * The {@link org.vectomatic.dom.svg.OMSVGFEBlendElement} interface corresponds
41 * to the <a href='http://www.w3.org/TR/SVG11/filters.html#feBlendElement'
42 * title='feBlend element specification'>feBlend</a> element.
43 */
44 @TagName("feBlend")
45 public class OMSVGFEBlendElement extends OMSVGElement implements ISVGFilterPrimitiveStandardAttributes {
46 /**
47 * The type is not one of predefined types. It is invalid to attempt to define
48 * a new value of this type or to attempt to switch an existing value to this
49 * type.
50 */
51 public static final short SVG_FEBLEND_MODE_UNKNOWN = 0;
52 /**
53 * Corresponds to value <span class="attr-value">'normal'</span>.
54 */
55 public static final short SVG_FEBLEND_MODE_NORMAL = 1;
56 /**
57 * Corresponds to value <span class="attr-value">'multiply'</span>.
58 */
59 public static final short SVG_FEBLEND_MODE_MULTIPLY = 2;
60 /**
61 * Corresponds to value <span class="attr-value">'screen'</span>.
62 */
63 public static final short SVG_FEBLEND_MODE_SCREEN = 3;
64 /**
65 * Corresponds to value <span class="attr-value">'darken'</span>.
66 */
67 public static final short SVG_FEBLEND_MODE_DARKEN = 4;
68 /**
69 * Corresponds to value <span class="attr-value">'lighten'</span>.
70 */
71 public static final short SVG_FEBLEND_MODE_LIGHTEN = 5;
72 public OMSVGFEBlendElement() {
73 this((SVGFEBlendElement)DOMHelper.createElementNS(DOMHelper.getCurrentDocument(), SVGConstants.SVG_NAMESPACE_URI, SVGConstants.SVG_FE_BLEND_TAG).cast());
74 }
75
76 protected OMSVGFEBlendElement(SVGFEBlendElement ot) {
77 super(ot);
78 }
79
80 // Implementation of the svg::SVGFEBlendElement W3C IDL interface
81 /**
82 * Corresponds to attribute <code>in</code> on the given <a href='http://www.w3.org/TR/SVG11/filters.html#feBlendElement'
83 * title='feBlend element specification'>feBlend</a> element.
84 */
85 public final OMSVGAnimatedString getIn1() {
86 return ((SVGFEBlendElement)ot).getIn1();
87 }
88 /**
89 * Corresponds to attribute {@link org.vectomatic.dom.svg.OMSVGFEBlendElement#getIn2()}
90 * on the given <a href='http://www.w3.org/TR/SVG11/filters.html#feBlendElement'
91 * title='feBlend element specification'>feBlend</a> element.
92 */
93 public final OMSVGAnimatedString getIn2() {
94 return ((SVGFEBlendElement)ot).getIn2();
95 }
96 /**
97 * Corresponds to attribute {@link org.vectomatic.dom.svg.OMSVGFEBlendElement#getMode()}
98 * on the given <a href='http://www.w3.org/TR/SVG11/filters.html#feBlendElement'
99 * title='feBlend element specification'>feBlend</a> element. Takes one of
100 * the SVG_FEBLEND_MODE_ constants defined on this interface.
101 */
102 public final OMSVGAnimatedEnumeration getMode() {
103 return ((SVGFEBlendElement)ot).getMode();
104 }
105
106 // Implementation of the svg::SVGFilterPrimitiveStandardAttributes W3C IDL interface
107 /**
108 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGFilterPrimitiveStandardAttributes#getX()}
109 * on the given element.
110 */
111 public final OMSVGAnimatedLength getX() {
112 return ((SVGFEBlendElement)ot).getX();
113 }
114 /**
115 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGFilterPrimitiveStandardAttributes#getY()}
116 * on the given element.
117 */
118 public final OMSVGAnimatedLength getY() {
119 return ((SVGFEBlendElement)ot).getY();
120 }
121 /**
122 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGFilterPrimitiveStandardAttributes#getWidth()}
123 * on the given element.
124 */
125 public final OMSVGAnimatedLength getWidth() {
126 return ((SVGFEBlendElement)ot).getWidth();
127 }
128 /**
129 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGFilterPrimitiveStandardAttributes#getHeight()}
130 * on the given element.
131 */
132 public final OMSVGAnimatedLength getHeight() {
133 return ((SVGFEBlendElement)ot).getHeight();
134 }
135 /**
136 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGFilterPrimitiveStandardAttributes#getResult()}
137 * on the given element.
138 */
139 public final OMSVGAnimatedString getResult() {
140 return ((SVGFEBlendElement)ot).getResult();
141 }
142
143 }