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.SVGElement;
33
34 import com.google.gwt.core.client.JavaScriptException;
35 import com.google.gwt.core.client.JavaScriptObject;
36
37 /**
38 * The interface corresponds to an SVG View Specification.
39 */
40 public class OMSVGViewSpec extends JavaScriptObject {
41 protected OMSVGViewSpec() {
42 }
43
44 // Implementation of the svg::SVGViewSpec W3C IDL interface
45 /**
46 * Corresponds to the transform setting on the SVG View Specification.
47 */
48 public final native OMSVGTransformList getTransform() /*-{
49 return @org.vectomatic.dom.svg.OMNode::convertList(Lcom/google/gwt/core/client/JavaScriptObject;)(this.transform);
50 }-*/;
51 /**
52 * Corresponds to the viewTarget setting on the SVG View Specification.
53 */
54 public final native SVGElement getViewTarget() /*-{
55 return this.viewTarget;
56 }-*/;
57 /**
58 * Corresponds to the viewBox setting on the SVG View Specification.
59 */
60 public final native String getViewBoxString() /*-{
61 return this.viewBoxString;
62 }-*/;
63 /**
64 * Corresponds to the preserveAspectRatio setting on the SVG View Specification.
65 */
66 public final native String getPreserveAspectRatioString() /*-{
67 return this.preserveAspectRatioString;
68 }-*/;
69 /**
70 * Corresponds to the transform setting on the SVG View Specification.
71 */
72 public final native String getTransformString() /*-{
73 return this.transformString;
74 }-*/;
75 /**
76 * Corresponds to the viewTarget setting on the SVG View Specification.
77 */
78 public final native String getViewTargetString() /*-{
79 return this.viewTargetString;
80 }-*/;
81
82 // Implementation of the svg::SVGFitToViewBox W3C IDL interface
83 /**
84 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGFitToViewBox#getViewBox()}
85 * on the given element.
86 */
87 public final native OMSVGAnimatedRect getViewBox() /*-{
88 return this.viewBox;
89 }-*/;
90 /**
91 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGFitToViewBox#getPreserveAspectRatio()}
92 * on the given element.
93 */
94 public final native OMSVGAnimatedPreserveAspectRatio getPreserveAspectRatio() /*-{
95 return this.preserveAspectRatio;
96 }-*/;
97
98 // Implementation of the svg::SVGZoomAndPan W3C IDL interface
99 /**
100 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGZoomAndPan#getZoomAndPan()}
101 * on the given element. The value must be one of the SVG_ZOOMANDPAN_ constants
102 * defined on this interface.
103 */
104 public final native short getZoomAndPan() /*-{
105 return this.zoomAndPan;
106 }-*/;
107 /**
108 * Corresponds to attribute {@link org.vectomatic.dom.svg.itf.ISVGZoomAndPan#getZoomAndPan()}
109 * on the given element. The value must be one of the SVG_ZOOMANDPAN_ constants
110 * defined on this interface.
111 * @throws DOMException(NO_MODIFICATION_ALLOWED_ERR) Raised on an attempt
112 * to change the value of a <a href="svgdom.html#ReadOnlyNodes">read only
113 * attribute</a>.
114 */
115 public final native void setZoomAndPan(short value) throws JavaScriptException /*-{
116 this.zoomAndPan = value;
117 }-*/;
118
119 }