001: /*
002: * Copyright (c) 2000 World Wide Web Consortium,
003: * (Massachusetts Institute of Technology, Institut National de
004: * Recherche en Informatique et en Automatique, Keio University). All
005: * Rights Reserved. This program is distributed under the W3C's Software
006: * Intellectual Property License. This program is distributed in the
007: * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
008: * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
009: * PURPOSE. See W3C License http://www.w3.org/Consortium/Legal/ for more
010: * details.
011: */
012:
013: package org.w3c.dom.css;
014:
015: import org.w3c.dom.DOMException;
016:
017: /**
018: * The <code>CSS2BackgroundPosition</code> interface represents the
019: * background-position CSS Level 2 property.
020: * <p> For this extension of the <code>CSSValue</code> interface, the
021: * <code>valueType</code> attribute of the underlying <code>CSSValue</code>
022: * interface shall be <code>CSS_CUSTOM</code> .
023: * <p>See also the <a href='http://www.w3.org/TR/2000/CR-DOM-Level-2-20000510'>Document Object Model (DOM) Level 2 Specification</a>.
024: * @since DOM Level 2
025: */
026: public interface CSS2BackgroundPosition extends CSSValue {
027: /**
028: * A code defining the type of the horizontal value. It would be one of
029: * <code>CSS_PERCENTAGE</code> , <code>CSS_EMS</code> ,
030: * <code>CSS_EXS</code> , <code>CSS_PX</code> , <code>CSS_CM</code> ,
031: * <code>CSS_MM</code> , <code>CSS_IN</code> , <code>CSS_PT</code> ,
032: * <code>CSS_PC</code> or <code>CSS_IDENT</code> . If one of horizontal or
033: * vertical is <code>CSS_IDENT</code> , it's guaranteed that the other is
034: * the same.
035: */
036: public short getHorizontalType();
037:
038: /**
039: * A code defining the type of the horizontal value. The code can be one
040: * of the following units : <code>CSS_PERCENTAGE</code> ,
041: * <code>CSS_EMS</code> , <code>CSS_EXS</code> , <code>CSS_PX</code> ,
042: * <code>CSS_CM</code> , <code>CSS_MM</code> , <code>CSS_IN</code> ,
043: * <code>CSS_PT</code> , <code>CSS_PC</code> , <code>CSS_IDENT</code> ,
044: * <code>CSS_INHERIT</code> . If one of horizontal or vertical is
045: * <code>CSS_IDENT</code> or <code>CSS_INHERIT</code> , it's guaranteed
046: * that the other is the same.
047: */
048: public short getVerticalType();
049:
050: /**
051: * If <code>horizontalType</code> is <code>CSS_IDENT</code> or
052: * <code>CSS_INHERIT</code> , this attribute contains the string
053: * representation of the ident, otherwise it contains an empty string.
054: */
055: public String getHorizontalIdentifier();
056:
057: /**
058: * If <code>verticalType</code> is <code>CSS_IDENT</code> or
059: * <code>CSS_INHERIT</code> , this attribute contains the string
060: * representation of the ident, otherwise it contains an empty string. The
061: * value is <code>"center"</code> if only the horizontalIdentifier has
062: * been set.
063: */
064: public String getVerticalIdentifier();
065:
066: /**
067: * This method is used to get the float value in a specified unit if the
068: * <code>horizontalPosition</code> represents a length or a percentage. If
069: * the float doesn't contain a float value or can't be converted into the
070: * specified unit, a <code>DOMException</code> is raised.
071: * @param hType The horizontal unit.
072: * @return The float value.
073: * @exception DOMException
074: * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
075: * or the value can't be converted.
076: */
077: public float getHorizontalPosition(float hType) throws DOMException;
078:
079: /**
080: * This method is used to get the float value in a specified unit if the
081: * <code>verticalPosition</code> represents a length or a percentage. If
082: * the float doesn't contain a float value or can't be converted into the
083: * specified unit, a <code>DOMException</code> is raised. The value is
084: * <code>50%</code> if only the horizontal value has been specified.
085: * @param vType The vertical unit.
086: * @return The float value.
087: * @exception DOMException
088: * INVALID_ACCESS_ERR: Raised if the property doesn't contain a float
089: * or the value can't be converted.
090: */
091: public float getVerticalPosition(float vType) throws DOMException;
092:
093: /**
094: * This method is used to set the horizontal position with a specified
095: * unit. If the vertical value is not a percentage or a length, it sets
096: * the vertical position to <code>50%</code> .
097: * @param hType The specified unit (a length or a percentage).
098: * @param value The new value.
099: * @exception DOMException
100: * INVALID_ACCESS_ERR: Raised if the specified unit is not a length or
101: * a percentage.
102: * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
103: * readonly.
104: */
105: public void setHorizontalPosition(short hType, float value)
106: throws DOMException;
107:
108: /**
109: * This method is used to set the vertical position with a specified
110: * unit. If the horizontal value is not a percentage or a length, it sets
111: * the vertical position to <code>50%</code> .
112: * @param vType The specified unit (a length or a percentage).
113: * @param value The new value.
114: * @exception DOMException
115: * INVALID_ACCESS_ERR: Raised if the specified unit is not a length or
116: * a percentage.
117: * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
118: * readonly.
119: */
120: public void setVerticalPosition(short vType, float value)
121: throws DOMException;
122:
123: /**
124: * Sets the identifiers. If the second identifier is the empty string,
125: * the vertical identifier is set to its default value (
126: * <code>"center"</code> ).
127: * @param hIdentifier The new horizontal identifier.
128: * @param vIdentifier The new vertical identifier.
129: * @exception DOMException
130: * SYNTAX_ERR: Raised if the identifiers have a syntax error and are
131: * unparsable.
132: * <br> NO_MODIFICATION_ALLOWED_ERR: Raised if this property is
133: * readonly.
134: */
135: public void setPositionIdentifier(String hIdentifier,
136: String vIdentifier) throws DOMException;
137:
138: }
|