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 com.google.gwt.core.client.JavaScriptException; 33 import com.google.gwt.core.client.JavaScriptObject; 34 35 /** 36 * The {@link org.vectomatic.dom.svg.OMSVGPreserveAspectRatio} interface corresponds 37 * to the <code>preserveAspectRatio</code> attribute, which is available for 38 * some of SVG's elements. <p id="ReadOnlyPreserveAspectRatio">An {@link org.vectomatic.dom.svg.OMSVGPreserveAspectRatio} 39 * object can be designated as <em>read only</em>, which means that attempts 40 * to modify the object will result in an exception being thrown, as described 41 * below.</p> 42 */ 43 public class OMSVGPreserveAspectRatio extends JavaScriptObject { 44 /** 45 * The enumeration was set to a value that is not one of predefined types. 46 * It is invalid to attempt to define a new value of this type or to attempt 47 * to switch an existing value to this type. 48 */ 49 public static final short SVG_PRESERVEASPECTRATIO_UNKNOWN = 0; 50 /** 51 * Corresponds to value <span class='attr-value'>'none'</span> for attribute 52 * <code>preserveAspectRatio</code>. 53 */ 54 public static final short SVG_PRESERVEASPECTRATIO_NONE = 1; 55 /** 56 * Corresponds to value <span class='attr-value'>'xMinYMin'</span> for attribute 57 * <code>preserveAspectRatio</code>. 58 */ 59 public static final short SVG_PRESERVEASPECTRATIO_XMINYMIN = 2; 60 /** 61 * Corresponds to value <span class='attr-value'>'xMidYMin'</span> for attribute 62 * <code>preserveAspectRatio</code>. 63 */ 64 public static final short SVG_PRESERVEASPECTRATIO_XMIDYMIN = 3; 65 /** 66 * Corresponds to value <span class='attr-value'>'xMaxYMin'</span> for attribute 67 * <code>preserveAspectRatio</code>. 68 */ 69 public static final short SVG_PRESERVEASPECTRATIO_XMAXYMIN = 4; 70 /** 71 * Corresponds to value <span class='attr-value'>'XMinYMid'</span> for attribute 72 * <code>preserveAspectRatio</code>. 73 */ 74 public static final short SVG_PRESERVEASPECTRATIO_XMINYMID = 5; 75 /** 76 * Corresponds to value <span class='attr-value'>'xMidYMid'</span> for attribute 77 * <code>preserveAspectRatio</code>. 78 */ 79 public static final short SVG_PRESERVEASPECTRATIO_XMIDYMID = 6; 80 /** 81 * Corresponds to value <span class='attr-value'>'xMaxYMid'</span> for attribute 82 * <code>preserveAspectRatio</code>. 83 */ 84 public static final short SVG_PRESERVEASPECTRATIO_XMAXYMID = 7; 85 /** 86 * Corresponds to value <span class='attr-value'>'xMinYMax'</span> for attribute 87 * <code>preserveAspectRatio</code>. 88 */ 89 public static final short SVG_PRESERVEASPECTRATIO_XMINYMAX = 8; 90 /** 91 * Corresponds to value <span class='attr-value'>'xMidYMax'</span> for attribute 92 * <code>preserveAspectRatio</code>. 93 */ 94 public static final short SVG_PRESERVEASPECTRATIO_XMIDYMAX = 9; 95 /** 96 * Corresponds to value <span class='attr-value'>'xMaxYMax'</span> for attribute 97 * <code>preserveAspectRatio</code>. 98 */ 99 public static final short SVG_PRESERVEASPECTRATIO_XMAXYMAX = 10; 100 /** 101 * The enumeration was set to a value that is not one of predefined types. 102 * It is invalid to attempt to define a new value of this type or to attempt 103 * to switch an existing value to this type. 104 */ 105 public static final short SVG_MEETORSLICE_UNKNOWN = 0; 106 /** 107 * Corresponds to value <span class='attr-value'>'meet'</span> for attribute 108 * <code>preserveAspectRatio</code>. 109 */ 110 public static final short SVG_MEETORSLICE_MEET = 1; 111 /** 112 * Corresponds to value <span class='attr-value'>'slice'</span> for attribute 113 * <code>preserveAspectRatio</code>. 114 */ 115 public static final short SVG_MEETORSLICE_SLICE = 2; 116 protected OMSVGPreserveAspectRatio() { 117 } 118 119 // Implementation of the svg::SVGPreserveAspectRatio W3C IDL interface 120 /** 121 * The type of the alignment value as specified by one of the SVG_PRESERVEASPECTRATIO_ 122 * constants defined on this interface. 123 */ 124 public final native short getAlign() /*-{ 125 return this.align; 126 }-*/; 127 /** 128 * The type of the alignment value as specified by one of the SVG_PRESERVEASPECTRATIO_ 129 * constants defined on this interface. 130 * @throws DOMException(NO_MODIFICATION_ALLOWED_ERR) Raised when the object 131 * corresponds to a <a href="svgdom.html#ReadOnlyNodes">read only attribute</a> 132 * or when the object itself is <a href="#ReadOnlyPreserveAspectRatio">read 133 * only</a>. 134 */ 135 public final native void setAlign(short value) throws JavaScriptException /*-{ 136 this.align = value; 137 }-*/; 138 /** 139 * The type of the meet-or-slice value as specified by one of the SVG_MEETORSLICE_ 140 * constants defined on this interface. 141 */ 142 public final native short getMeetOrSlice() /*-{ 143 return this.meetOrSlice; 144 }-*/; 145 /** 146 * The type of the meet-or-slice value as specified by one of the SVG_MEETORSLICE_ 147 * constants defined on this interface. 148 * @throws DOMException(NO_MODIFICATION_ALLOWED_ERR) Raised when the object 149 * corresponds to a <a href="svgdom.html#ReadOnlyNodes">read only attribute</a> 150 * or when the object itself is <a href="#ReadOnlyPreserveAspectRatio">read 151 * only</a>. 152 */ 153 public final native void setMeetOrSlice(short value) throws JavaScriptException /*-{ 154 this.meetOrSlice = value; 155 }-*/; 156 157 }