View Javadoc

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 }