001: /*
002: *
003: *
004: * Copyright 1990-2007 Sun Microsystems, Inc. All Rights Reserved.
005: * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
006: *
007: * This program is free software; you can redistribute it and/or
008: * modify it under the terms of the GNU General Public License version
009: * 2 only, as published by the Free Software Foundation.
010: *
011: * This program is distributed in the hope that it will be useful, but
012: * WITHOUT ANY WARRANTY; without even the implied warranty of
013: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
014: * General Public License version 2 for more details (a copy is
015: * included at /legal/license.txt).
016: *
017: * You should have received a copy of the GNU General Public License
018: * version 2 along with this work; if not, write to the Free Software
019: * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
020: * 02110-1301 USA
021: *
022: * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
023: * Clara, CA 95054 or visit www.sun.com if you need additional
024: * information or have any questions.
025: */
026: package com.sun.perseus.j2d;
027:
028: /**
029: *
030: * @version $Id: TextProperties.java,v 1.2 2006/04/21 06:35:09 st125089 Exp $
031: */
032: public interface TextProperties {
033:
034: // =======================================================================
035: // Value constants
036: // =======================================================================
037:
038: /**
039: * Refer to the CSS 2 specification for a definition of the
040: * various font-styles
041: */
042: int FONT_STYLE_NORMAL = 0x01;
043:
044: /**
045: * Refer to the CSS 2 specification for a definition of the
046: * various font-styles
047: */
048: int FONT_STYLE_OBLIQUE = 0x02;
049:
050: /**
051: * Refer to the CSS 2 specification for a definition of the
052: * various font-styles
053: */
054: int FONT_STYLE_ITALIC = 0x04;
055:
056: /**
057: * Refer to the CSS 2 specification for a definition of the
058: * font-weights
059: */
060: int FONT_WEIGHT_100 = 0x01;
061:
062: /**
063: * Refer to the CSS 2 specification for a definition of the
064: * font-weights
065: */
066: int FONT_WEIGHT_200 = 0x02;
067:
068: /**
069: * Refer to the CSS 2 specification for a definition of the
070: * font-weights
071: */
072: int FONT_WEIGHT_300 = 0x04;
073:
074: /**
075: * Refer to the CSS 2 specification for a definition of the
076: * font-weights
077: */
078: int FONT_WEIGHT_400 = 0x08;
079:
080: /**
081: * Refer to the CSS 2 specification for a definition of the
082: * font-weights
083: */
084: int FONT_WEIGHT_NORMAL = FONT_WEIGHT_400;
085:
086: /**
087: * Refer to the CSS 2 specification for a definition of the
088: * font-weights
089: */
090: int FONT_WEIGHT_500 = 0x10;
091:
092: /**
093: * Refer to the CSS 2 specification for a definition of the
094: * font-weights
095: */
096: int FONT_WEIGHT_600 = 0x20;
097:
098: /**
099: * Refer to the CSS 2 specification for a definition of the
100: * font-weights
101: */
102: int FONT_WEIGHT_700 = 0x40;
103:
104: /**
105: * Refer to the CSS 2 specification for a definition of the
106: * font-weights
107: */
108: int FONT_WEIGHT_BOLD = FONT_WEIGHT_700;
109:
110: /**
111: * Refer to the CSS 2 specification for a definition of the
112: * font-weights
113: */
114: int FONT_WEIGHT_800 = 0x80;
115:
116: /**
117: * Refer to the CSS 2 specification for a definition of the
118: * font-weights
119: */
120: int FONT_WEIGHT_900 = 0x100;
121:
122: /**
123: * Refer to the CSS 2 specification for a definition of the
124: * font-strech values
125: */
126: int FONT_STRETCH_NORMAL = 0x01;
127:
128: /**
129: * Refer to the CSS 2 specification for a definition of the
130: * font-strech values
131: */
132: int FONT_STRETCH_ULTRA_CONDENSED = 0x02;
133:
134: /**
135: * Refer to the CSS 2 specification for a definition of the
136: * font-strech values
137: */
138: int FONT_STRETCH_EXTRA_CONDENSED = 0x04;
139:
140: /**
141: * Refer to the CSS 2 specification for a definition of the
142: * font-strech values
143: */
144: int FONT_STRETCH_CONDENSED = 0x08;
145:
146: /**
147: * Refer to the CSS 2 specification for a definition of the
148: * font-strech values
149: */
150: int FONT_STRETCH_SEMI_CONDENSED = 0x10;
151:
152: /**
153: * Refer to the CSS 2 specification for a definition of the
154: * font-strech values
155: */
156: int FONT_STRETCH_SEMI_EXPANDED = 0x20;
157:
158: /**
159: * Refer to the CSS 2 specification for a definition of the
160: * font-strech values
161: */
162: int FONT_STRETCH_EXPANDED = 0x40;
163:
164: /**
165: * Refer to the CSS 2 specification for a definition of the
166: * font-strech values
167: */
168: int FONT_STRETCH_EXTRA_EXPANDED = 0x80;
169:
170: /**
171: * Refer to the CSS 2 specification for a definition of the
172: * font-strech values
173: */
174: int FONT_STRETCH_ULTRA_EXPANDED = 0x100;
175:
176: /**
177: * Text is anchored about its starting point
178: */
179: int TEXT_ANCHOR_START = 0;
180:
181: /**
182: * Text is anchored about its mid point
183: */
184: int TEXT_ANCHOR_MIDDLE = 1;
185:
186: /**
187: * Text is anchored about its end point
188: */
189: int TEXT_ANCHOR_END = 2;
190:
191: // ====================================================================
192: // Initial Property Values
193: // ====================================================================
194:
195: /**
196: * Default font family array
197: */
198: String[] INITIAL_FONT_FAMILY = { "sans-serif" };
199:
200: /**
201: * Default font size value
202: */
203: int INITIAL_FONT_SIZE = 10;
204:
205: /**
206: * By default, the font style is normal
207: */
208: int INITIAL_FONT_STYLE = FONT_STYLE_NORMAL;
209:
210: /**
211: * By default, the font weight is normal
212: */
213: int INITIAL_FONT_WEIGHT = FONT_WEIGHT_NORMAL;
214:
215: /**
216: * By default, text starts on the anchor point
217: */
218: int INITIAL_TEXT_ANCHOR = TEXT_ANCHOR_START;
219:
220: // =======================================================================
221: // Property access
222: // =======================================================================
223:
224: /**
225: * @return the font family property
226: */
227: String[] getFontFamily();
228:
229: /**
230: * @param fontFamily the new font family property value. The fontFamily
231: * describes the list of names to use during font matching.
232: */
233: void setFontFamily(String[] fontFamily);
234:
235: /**
236: * @return the font size property, a positive number
237: */
238: float getFontSize();
239:
240: /**
241: * @param fontSize the new font size property value. Should be a positive
242: * value.
243: */
244: void setFontSize(float fontSize);
245:
246: /**
247: * @return one of FONT_STYLE_NORMAL, FONT_STYLE_OBLIQUE, FONT_STYLE_ITALIC.
248: */
249: int getFontStyle();
250:
251: /**
252: * @param fontStyle the new font style property value. Should be one of
253: * FONT_STYLE_NORMAL, FONT_STYLE_ITALIC, FONT_STYLE_OBLIQUE
254: */
255: void setFontStyle(int fontStyle);
256:
257: /**
258: * @return one of the FONT_WEIGHT_XXX values
259: */
260: int getFontWeight();
261:
262: /**
263: * @param fontWeight the new font weight property value. Should be one
264: * of the FONT_WEIGHT_XXX values
265: */
266: void setFontWeight(int fontWeight);
267:
268: /**
269: * @return one of TEXT_ANCHOR_START, TEXT_ANCHOR_END or TEXT_ANCHOR_MIDDLE
270: */
271: int getTextAnchor();
272:
273: /**
274: * @param textAnchor the new text anchor property value. Should be one
275: * of TEXT_ANCHOR_START, TEXT_ANCHOR_MIDDLE or TEXT_ANCHOR_MIDDLE.
276: */
277: void setTextAnchor(int textAnchor);
278:
279: }
|