WebCore:
[WebKit-https.git] / WebKit / DOM.subproj / DOMCSS.h
1 /*
2  * Copyright (C) 2004 Apple Computer, Inc.  All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
24  */
25
26 //=========================================================================
27 //=========================================================================
28 //=========================================================================
29
30 // Important Note:
31 // Though this file appears as an exported header from WebKit, the
32 // version you should edit is in WebCore. The WebKit version is copied
33 // to WebKit during the build process.
34
35 //=========================================================================
36 //=========================================================================
37 //=========================================================================
38
39 #import "DOMStylesheets.h"
40 #import "DOMViews.h"
41
42 @class DOMCounter;
43 @class DOMCSSRule;
44 @class DOMCSSStyleDeclaration;
45 @class DOMCSSStyleSheet;
46 @class DOMCSSValue;
47 @class DOMRect;
48 @class DOMRGBColor;
49
50 @interface DOMCSSRuleList : DOMObject
51 - (unsigned long)length;
52 - (DOMCSSRule *)item:(unsigned long)index;
53 @end
54
55 enum {
56     // DOMCSSRule RuleType
57     DOM_UNKNOWN_RULE               = 0,
58     DOM_STYLE_RULE                 = 1,
59     DOM_CHARSET_RULE               = 2,
60     DOM_IMPORT_RULE                = 3,
61     DOM_MEDIA_RULE                 = 4,
62     DOM_FONT_FACE_RULE             = 5,
63     DOM_PAGE_RULE                  = 6,
64 };
65
66 @interface DOMCSSRule : DOMObject
67 - (unsigned short)type;
68 - (NSString *)cssText;
69 - (void)setCssText:(NSString *)cssText;
70 - (DOMCSSStyleSheet *)parentStyleSheet;
71 - (DOMCSSRule *)parentRule;
72 @end
73
74 @interface DOMCSSStyleRule : DOMCSSRule
75 - (NSString *)selectorText;
76 - (void)setSelectorText:(NSString *)selectorText;
77 - (DOMCSSStyleDeclaration *)style;
78 @end
79
80 @interface DOMCSSMediaRule : DOMCSSRule
81 - (DOMMediaList *)media;
82 - (DOMCSSRuleList *)cssRules;
83 - (unsigned long)insertRule:(NSString *)rule :(unsigned long)index;
84 - (void)deleteRule:(unsigned long)index;
85 @end
86
87 @interface DOMCSSFontFaceRule : DOMCSSRule
88 - (DOMCSSStyleDeclaration *)style;
89 @end
90
91 @interface DOMCSSPageRule : DOMCSSRule
92 - (NSString *)selectorText;
93 - (void)setSelectorText:(NSString *)selectorText;
94 - (DOMCSSStyleDeclaration *)style;
95 @end
96
97 @interface DOMCSSImportRule : DOMCSSRule
98 - (DOMMediaList *)media;
99 - (NSString *)href;
100 - (DOMCSSStyleSheet *)styleSheet;
101 @end
102
103 @interface DOMCSSCharsetRule : DOMCSSRule
104 - (NSString *)encoding;
105 @end
106
107 @interface DOMCSSUnknownRule : DOMCSSRule
108 @end
109
110 @interface DOMCSSStyleDeclaration : DOMObject
111 - (NSString *)cssText;
112 - (void)setCssText:(NSString *)cssText;
113 - (NSString *)getPropertyValue:(NSString *)propertyName;
114 - (DOMCSSValue *)getPropertyCSSValue:(NSString *)propertyName;
115 - (NSString *)removeProperty:(NSString *)propertyName;
116 - (NSString *)getPropertyPriority:(NSString *)propertyName;
117 - (void)setProperty:(NSString *)propertyName :(NSString *)value :(NSString *)priority;
118 - (unsigned long)length;
119 - (NSString *)item:(unsigned long)index;
120 - (DOMCSSRule *)parentRule;
121 @end
122
123 enum {
124     // DOMCSSValue UnitTypes
125     DOM_CSS_INHERIT = 0,
126     DOM_CSS_PRIMITIVE_VALUE = 1,
127     DOM_CSS_VALUE_LIST = 2,
128     DOM_CSS_CUSTOM = 3,
129 };
130
131 @interface DOMCSSValue : DOMObject
132 - (NSString *)cssText;
133 - (void)setCssText:(NSString *)cssText;
134 - (unsigned short)cssValueType;
135 @end
136
137 enum {
138     // DOMCSSPrimitiveValue UnitTypes
139     DOM_CSS_UNKNOWN                    = 0,
140     DOM_CSS_NUMBER                     = 1,
141     DOM_CSS_PERCENTAGE                 = 2,
142     DOM_CSS_EMS                        = 3,
143     DOM_CSS_EXS                        = 4,
144     DOM_CSS_PX                         = 5,
145     DOM_CSS_CM                         = 6,
146     DOM_CSS_MM                         = 7,
147     DOM_CSS_IN                         = 8,
148     DOM_CSS_PT                         = 9,
149     DOM_CSS_PC                         = 10,
150     DOM_CSS_DEG                        = 11,
151     DOM_CSS_RAD                        = 12,
152     DOM_CSS_GRAD                       = 13,
153     DOM_CSS_MS                         = 14,
154     DOM_CSS_S                          = 15,
155     DOM_CSS_HZ                         = 16,
156     DOM_CSS_KHZ                        = 17,
157     DOM_CSS_DIMENSION                  = 18,
158     DOM_CSS_STRING                     = 19,
159     DOM_CSS_URI                        = 20,
160     DOM_CSS_IDENT                      = 21,
161     DOM_CSS_ATTR                       = 22,
162     DOM_CSS_COUNTER                    = 23,
163     DOM_CSS_RECT                       = 24,
164     DOM_CSS_RGBCOLOR                   = 25,
165 };
166
167 @interface DOMCSSPrimitiveValue : DOMCSSValue
168 - (unsigned short)primitiveType;
169 - (void)setFloatValue:(unsigned short)unitType :(float)floatValue;
170 - (float)getFloatValue:(unsigned short)unitType;
171 - (void)setStringValue:(unsigned short)stringType :(NSString *)stringValue;
172 - (NSString *)getStringValue;
173 - (DOMCounter *)getCounterValue;
174 - (DOMRect *)getRectValue;
175 - (DOMRGBColor *)getRGBColorValue;
176 @end
177
178 @interface DOMCSSValueList : DOMCSSValue
179 - (unsigned long)length;
180 - (DOMCSSValue *)item:(unsigned long)index;
181 @end
182
183 @interface DOMRGBColor : DOMObject
184 - (DOMCSSPrimitiveValue *)red;
185 - (DOMCSSPrimitiveValue *)green;
186 - (DOMCSSPrimitiveValue *)blue;
187 @end
188
189 @interface DOMRect : DOMObject
190 - (DOMCSSPrimitiveValue *)top;
191 - (DOMCSSPrimitiveValue *)right;
192 - (DOMCSSPrimitiveValue *)bottom;
193 - (DOMCSSPrimitiveValue *)left;
194 @end
195
196 @interface DOMCounter : DOMObject
197 - (NSString *)identifier;
198 - (NSString *)listStyle;
199 - (NSString *)separator;
200 @end
201
202 @interface DOMElement (DOMElementCSSInlineStyle)
203 - (DOMCSSStyleDeclaration *)style;
204 @end
205
206 @interface DOMCSS2Properties : DOMObject
207 - (NSString *)azimuth;
208 - (void)setAzimuth:(NSString *)azimuth;
209 - (NSString *)background;
210 - (void)setBackground:(NSString *)background;
211 - (NSString *)backgroundAttachment;
212 - (void)setBackgroundAttachment:(NSString *)backgroundAttachment;
213 - (NSString *)backgroundColor;
214 - (void)setBackgroundColor:(NSString *)backgroundColor;
215 - (NSString *)backgroundImage;
216 - (void)setBackgroundImage:(NSString *)backgroundImage;
217 - (NSString *)backgroundPosition;
218 - (void)setBackgroundPosition:(NSString *)backgroundPosition;
219 - (NSString *)backgroundRepeat;
220 - (void)setBackgroundRepeat:(NSString *)backgroundRepeat;
221 - (NSString *)border;
222 - (void)setBorder:(NSString *)border;
223 - (NSString *)borderCollapse;
224 - (void)setBorderCollapse:(NSString *)borderCollapse;
225 - (NSString *)borderColor;
226 - (void)setBorderColor:(NSString *)borderColor;
227 - (NSString *)borderSpacing;
228 - (void)setBorderSpacing:(NSString *)borderSpacing;
229 - (NSString *)borderStyle;
230 - (void)setBorderStyle:(NSString *)borderStyle;
231 - (NSString *)borderTop;
232 - (void)setBorderTop:(NSString *)borderTop;
233 - (NSString *)borderRight;
234 - (void)setBorderRight:(NSString *)borderRight;
235 - (NSString *)borderBottom;
236 - (void)setBorderBottom:(NSString *)borderBottom;
237 - (NSString *)borderLeft;
238 - (void)setBorderLeft:(NSString *)borderLeft;
239 - (NSString *)borderTopColor;
240 - (void)setBorderTopColor:(NSString *)borderTopColor;
241 - (NSString *)borderRightColor;
242 - (void)setBorderRightColor:(NSString *)borderRightColor;
243 - (NSString *)borderBottomColor;
244 - (void)setBorderBottomColor:(NSString *)borderBottomColor;
245 - (NSString *)borderLeftColor;
246 - (void)setBorderLeftColor:(NSString *)borderLeftColor;
247 - (NSString *)borderTopStyle;
248 - (void)setBorderTopStyle:(NSString *)borderTopStyle;
249 - (NSString *)borderRightStyle;
250 - (void)setBorderRightStyle:(NSString *)borderRightStyle;
251 - (NSString *)borderBottomStyle;
252 - (void)setBorderBottomStyle:(NSString *)borderBottomStyle;
253 - (NSString *)borderLeftStyle;
254 - (void)setBorderLeftStyle:(NSString *)borderLeftStyle;
255 - (NSString *)borderTopWidth;
256 - (void)setBorderTopWidth:(NSString *)borderTopWidth;
257 - (NSString *)borderRightWidth;
258 - (void)setBorderRightWidth:(NSString *)borderRightWidth;
259 - (NSString *)borderBottomWidth;
260 - (void)setBorderBottomWidth:(NSString *)borderBottomWidth;
261 - (NSString *)borderLeftWidth;
262 - (void)setBorderLeftWidth:(NSString *)borderLeftWidth;
263 - (NSString *)borderWidth;
264 - (void)setBorderWidth:(NSString *)borderWidth;
265 - (NSString *)bottom;
266 - (void)setBottom:(NSString *)bottom;
267 - (NSString *)captionSide;
268 - (void)setCaptionSide:(NSString *)captionSide;
269 - (NSString *)clear;
270 - (void)setClear:(NSString *)clear;
271 - (NSString *)clip;
272 - (void)setClip:(NSString *)clip;
273 - (NSString *)color;
274 - (void)setColor:(NSString *)color;
275 - (NSString *)content;
276 - (void)setContent:(NSString *)content;
277 - (NSString *)counterIncrement;
278 - (void)setCounterIncrement:(NSString *)counterIncrement;
279 - (NSString *)counterReset;
280 - (void)setCounterReset:(NSString *)counterReset;
281 - (NSString *)cue;
282 - (void)setCue:(NSString *)cue;
283 - (NSString *)cueAfter;
284 - (void)setCueAfter:(NSString *)cueAfter;
285 - (NSString *)cueBefore;
286 - (void)setCueBefore:(NSString *)cueBefore;
287 - (NSString *)cursor;
288 - (void)setCursor:(NSString *)cursor;
289 - (NSString *)direction;
290 - (void)setDirection:(NSString *)direction;
291 - (NSString *)display;
292 - (void)setDisplay:(NSString *)display;
293 - (NSString *)elevation;
294 - (void)setElevation:(NSString *)elevation;
295 - (NSString *)emptyCells;
296 - (void)setEmptyCells:(NSString *)emptyCells;
297 - (NSString *)cssFloat;
298 - (void)setCssFloat:(NSString *)cssFloat;
299 - (NSString *)font;
300 - (void)setFont:(NSString *)font;
301 - (NSString *)fontFamily;
302 - (void)setFontFamily:(NSString *)fontFamily;
303 - (NSString *)fontSize;
304 - (void)setFontSize:(NSString *)fontSize;
305 - (NSString *)fontSizeAdjust;
306 - (void)setFontSizeAdjust:(NSString *)fontSizeAdjust;
307 - (NSString *)fontStretch;
308 - (void)setFontStretch:(NSString *)fontStretch;
309 - (NSString *)fontStyle;
310 - (void)setFontStyle:(NSString *)fontStyle;
311 - (NSString *)fontVariant;
312 - (void)setFontVariant:(NSString *)fontVariant;
313 - (NSString *)fontWeight;
314 - (void)setFontWeight:(NSString *)fontWeight;
315 - (NSString *)height;
316 - (void)setHeight:(NSString *)height;
317 - (NSString *)left;
318 - (void)setLeft:(NSString *)left;
319 - (NSString *)letterSpacing;
320 - (void)setLetterSpacing:(NSString *)letterSpacing;
321 - (NSString *)lineHeight;
322 - (void)setLineHeight:(NSString *)lineHeight;
323 - (NSString *)listStyle;
324 - (void)setListStyle:(NSString *)listStyle;
325 - (NSString *)listStyleImage;
326 - (void)setListStyleImage:(NSString *)listStyleImage;
327 - (NSString *)listStylePosition;
328 - (void)setListStylePosition:(NSString *)listStylePosition;
329 - (NSString *)listStyleType;
330 - (void)setListStyleType:(NSString *)listStyleType;
331 - (NSString *)margin;
332 - (void)setMargin:(NSString *)margin;
333 - (NSString *)marginTop;
334 - (void)setMarginTop:(NSString *)marginTop;
335 - (NSString *)marginRight;
336 - (void)setMarginRight:(NSString *)marginRight;
337 - (NSString *)marginBottom;
338 - (void)setMarginBottom:(NSString *)marginBottom;
339 - (NSString *)marginLeft;
340 - (void)setMarginLeft:(NSString *)marginLeft;
341 - (NSString *)markerOffset;
342 - (void)setMarkerOffset:(NSString *)markerOffset;
343 - (NSString *)marks;
344 - (void)setMarks:(NSString *)marks;
345 - (NSString *)maxHeight;
346 - (void)setMaxHeight:(NSString *)maxHeight;
347 - (NSString *)maxWidth;
348 - (void)setMaxWidth:(NSString *)maxWidth;
349 - (NSString *)minHeight;
350 - (void)setMinHeight:(NSString *)minHeight;
351 - (NSString *)minWidth;
352 - (void)setMinWidth:(NSString *)minWidth;
353 - (NSString *)orphans;
354 - (void)setOrphans:(NSString *)orphans;
355 - (NSString *)outline;
356 - (void)setOutline:(NSString *)outline;
357 - (NSString *)outlineColor;
358 - (void)setOutlineColor:(NSString *)outlineColor;
359 - (NSString *)outlineStyle;
360 - (void)setOutlineStyle:(NSString *)outlineStyle;
361 - (NSString *)outlineWidth;
362 - (void)setOutlineWidth:(NSString *)outlineWidth;
363 - (NSString *)overflow;
364 - (void)setOverflow:(NSString *)overflow;
365 - (NSString *)padding;
366 - (void)setPadding:(NSString *)padding;
367 - (NSString *)paddingTop;
368 - (void)setPaddingTop:(NSString *)paddingTop;
369 - (NSString *)paddingRight;
370 - (void)setPaddingRight:(NSString *)paddingRight;
371 - (NSString *)paddingBottom;
372 - (void)setPaddingBottom:(NSString *)paddingBottom;
373 - (NSString *)paddingLeft;
374 - (void)setPaddingLeft:(NSString *)paddingLeft;
375 - (NSString *)page;
376 - (void)setPage:(NSString *)page;
377 - (NSString *)pageBreakAfter;
378 - (void)setPageBreakAfter:(NSString *)pageBreakAfter;
379 - (NSString *)pageBreakBefore;
380 - (void)setPageBreakBefore:(NSString *)pageBreakBefore;
381 - (NSString *)pageBreakInside;
382 - (void)setPageBreakInside:(NSString *)pageBreakInside;
383 - (NSString *)pause;
384 - (void)setPause:(NSString *)pause;
385 - (NSString *)pauseAfter;
386 - (void)setPauseAfter:(NSString *)pauseAfter;
387 - (NSString *)pauseBefore;
388 - (void)setPauseBefore:(NSString *)pauseBefore;
389 - (NSString *)pitch;
390 - (void)setPitch:(NSString *)pitch;
391 - (NSString *)pitchRange;
392 - (void)setPitchRange:(NSString *)pitchRange;
393 - (NSString *)playDuring;
394 - (void)setPlayDuring:(NSString *)playDuring;
395 - (NSString *)position;
396 - (void)setPosition:(NSString *)position;
397 - (NSString *)quotes;
398 - (void)setQuotes:(NSString *)quotes;
399 - (NSString *)richness;
400 - (void)setRichness:(NSString *)richness;
401 - (NSString *)right;
402 - (void)setRight:(NSString *)right;
403 - (NSString *)size;
404 - (void)setSize:(NSString *)size;
405 - (NSString *)speak;
406 - (void)setSpeak:(NSString *)speak;
407 - (NSString *)speakHeader;
408 - (void)setSpeakHeader:(NSString *)speakHeader;
409 - (NSString *)speakNumeral;
410 - (void)setSpeakNumeral:(NSString *)speakNumeral;
411 - (NSString *)speakPunctuation;
412 - (void)setSpeakPunctuation:(NSString *)speakPunctuation;
413 - (NSString *)speechRate;
414 - (void)setSpeechRate:(NSString *)speechRate;
415 - (NSString *)stress;
416 - (void)setStress:(NSString *)stress;
417 - (NSString *)tableLayout;
418 - (void)setTableLayout:(NSString *)tableLayout;
419 - (NSString *)textAlign;
420 - (void)setTextAlign:(NSString *)textAlign;
421 - (NSString *)textDecoration;
422 - (void)setTextDecoration:(NSString *)textDecoration;
423 - (NSString *)textIndent;
424 - (void)setTextIndent:(NSString *)textIndent;
425 - (NSString *)textShadow;
426 - (void)setTextShadow:(NSString *)textShadow;
427 - (NSString *)textTransform;
428 - (void)setTextTransform:(NSString *)textTransform;
429 - (NSString *)top;
430 - (void)setTop:(NSString *)top;
431 - (NSString *)unicodeBidi;
432 - (void)setUnicodeBidi:(NSString *)unicodeBidi;
433 - (NSString *)verticalAlign;
434 - (void)setVerticalAlign:(NSString *)verticalAlign;
435 - (NSString *)visibility;
436 - (void)setVisibility:(NSString *)visibility;
437 - (NSString *)voiceFamily;
438 - (void)setVoiceFamily:(NSString *)voiceFamily;
439 - (NSString *)volume;
440 - (void)setVolume:(NSString *)volume;
441 - (NSString *)whiteSpace;
442 - (void)setWhiteSpace:(NSString *)whiteSpace;
443 - (NSString *)widows;
444 - (void)setWidows:(NSString *)widows;
445 - (NSString *)width;
446 - (void)setWidth:(NSString *)width;
447 - (NSString *)wordSpacing;
448 - (void)setWordSpacing:(NSString *)wordSpacing;
449 - (NSString *)zIndex;
450 - (void)setZIndex:(NSString *)zIndex;
451 @end
452
453 @interface DOMCSSStyleSheet : DOMStyleSheet
454 - (DOMCSSRule *)ownerRule;
455 - (DOMCSSRuleList *)cssRules;
456 - (unsigned long)insertRule:(NSString *)rule :(unsigned long)index;
457 - (void)deleteRule:(unsigned long)index;
458 @end
459
460 @interface DOMDocument (DOMViewCSS)
461 - (DOMCSSStyleDeclaration *)getComputedStyle:(DOMElement *)elt :(NSString *)pseudoElt;
462 @end
463
464 @interface DOMDocument (DOMDocumentCSS)
465 - (DOMCSSStyleDeclaration *)getOverrideStyle:(DOMElement *)elt :(NSString *)pseudoElt;
466 @end
467
468 @interface DOMImplementation (DOMImplementationCSS)
469 - (DOMCSSStyleSheet *)createCSSStyleSheet:(NSString *)title :(NSString *)media;
470 @end