1 /*
2 * Copyright (c) 2000 World Wide Web Consortium,
3 * (Massachusetts Institute of Technology, Institut National de
4 * Recherche en Informatique et en Automatique, Keio University). All
5 * Rights Reserved. This program is distributed under the W3C's Software
6 * Intellectual Property License. This program is distributed in the
7 * hope that it will be useful, but WITHOUT ANY WARRANTY; without even
8 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9 * PURPOSE.
10 * See W3C License http://www.w3.org/Consortium/Legal/ for more details.
11 */
13 // File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.idl
15 #ifndef _CSS_IDL_
16 #define _CSS_IDL_
18 #include "dom.idl"
19 #include "stylesheets.idl"
20 #include "views.idl"
22 #pragma prefix "dom.w3c.org"
23 module css
24 {
26 typedef dom::DOMString DOMString;
27 typedef dom::Element Element;
28 typedef dom::DOMImplementation DOMImplementation;
30 interface CSSRule;
31 interface CSSStyleSheet;
32 interface CSSStyleDeclaration;
33 interface CSSValue;
34 interface Counter;
35 interface Rect;
36 interface RGBColor;
38 // Introduced in DOM Level 2:
39 interface CSSRuleList {
40 readonly attribute unsigned long length;
41 CSSRule item(in unsigned long index);
42 };
44 // Introduced in DOM Level 2:
45 interface CSSRule {
47 // RuleType
48 const unsigned short UNKNOWN_RULE = 0;
49 const unsigned short STYLE_RULE = 1;
50 const unsigned short CHARSET_RULE = 2;
51 const unsigned short IMPORT_RULE = 3;
52 const unsigned short MEDIA_RULE = 4;
53 const unsigned short FONT_FACE_RULE = 5;
54 const unsigned short PAGE_RULE = 6;
56 readonly attribute unsigned short type;
57 attribute DOMString cssText;
58 // raises(dom::DOMException) on setting
60 readonly attribute CSSStyleSheet parentStyleSheet;
61 readonly attribute CSSRule parentRule;
62 };
64 // Introduced in DOM Level 2:
65 interface CSSStyleRule : CSSRule {
66 attribute DOMString selectorText;
67 // raises(dom::DOMException) on setting
69 readonly attribute CSSStyleDeclaration style;
70 };
72 // Introduced in DOM Level 2:
73 interface CSSMediaRule : CSSRule {
74 readonly attribute stylesheets::MediaList media;
75 readonly attribute CSSRuleList cssRules;
76 unsigned long insertRule(in DOMString rule,
77 in unsigned long index)
78 raises(dom::DOMException);
79 void deleteRule(in unsigned long index)
80 raises(dom::DOMException);
81 };
83 // Introduced in DOM Level 2:
84 interface CSSFontFaceRule : CSSRule {
85 readonly attribute CSSStyleDeclaration style;
86 };
88 // Introduced in DOM Level 2:
89 interface CSSPageRule : CSSRule {
90 attribute DOMString selectorText;
91 // raises(dom::DOMException) on setting
93 readonly attribute CSSStyleDeclaration style;
94 };
96 // Introduced in DOM Level 2:
97 interface CSSImportRule : CSSRule {
98 readonly attribute DOMString href;
99 readonly attribute stylesheets::MediaList media;
100 readonly attribute CSSStyleSheet styleSheet;
101 };
103 // Introduced in DOM Level 2:
104 interface CSSCharsetRule : CSSRule {
105 attribute DOMString encoding;
106 // raises(dom::DOMException) on setting
108 };
110 // Introduced in DOM Level 2:
111 interface CSSUnknownRule : CSSRule {
112 };
114 // Introduced in DOM Level 2:
115 interface CSSStyleDeclaration {
116 attribute DOMString cssText;
117 // raises(dom::DOMException) on setting
119 DOMString getPropertyValue(in DOMString propertyName);
120 CSSValue getPropertyCSSValue(in DOMString propertyName);
121 DOMString removeProperty(in DOMString propertyName)
122 raises(dom::DOMException);
123 DOMString getPropertyPriority(in DOMString propertyName);
124 void setProperty(in DOMString propertyName,
125 in DOMString value,
126 in DOMString priority)
127 raises(dom::DOMException);
128 readonly attribute unsigned long length;
129 DOMString item(in unsigned long index);
130 readonly attribute CSSRule parentRule;
131 };
133 // Introduced in DOM Level 2:
134 interface CSSValue {
136 // UnitTypes
137 const unsigned short CSS_INHERIT = 0;
138 const unsigned short CSS_PRIMITIVE_VALUE = 1;
139 const unsigned short CSS_VALUE_LIST = 2;
140 const unsigned short CSS_CUSTOM = 3;
142 attribute DOMString cssText;
143 // raises(dom::DOMException) on setting
145 readonly attribute unsigned short cssValueType;
146 };
148 // Introduced in DOM Level 2:
149 interface CSSPrimitiveValue : CSSValue {
151 // UnitTypes
152 const unsigned short CSS_UNKNOWN = 0;
153 const unsigned short CSS_NUMBER = 1;
154 const unsigned short CSS_PERCENTAGE = 2;
155 const unsigned short CSS_EMS = 3;
156 const unsigned short CSS_EXS = 4;
157 const unsigned short CSS_PX = 5;
158 const unsigned short CSS_CM = 6;
159 const unsigned short CSS_MM = 7;
160 const unsigned short CSS_IN = 8;
161 const unsigned short CSS_PT = 9;
162 const unsigned short CSS_PC = 10;
163 const unsigned short CSS_DEG = 11;
164 const unsigned short CSS_RAD = 12;
165 const unsigned short CSS_GRAD = 13;
166 const unsigned short CSS_MS = 14;
167 const unsigned short CSS_S = 15;
168 const unsigned short CSS_HZ = 16;
169 const unsigned short CSS_KHZ = 17;
170 const unsigned short CSS_DIMENSION = 18;
171 const unsigned short CSS_STRING = 19;
172 const unsigned short CSS_URI = 20;
173 const unsigned short CSS_IDENT = 21;
174 const unsigned short CSS_ATTR = 22;
175 const unsigned short CSS_COUNTER = 23;
176 const unsigned short CSS_RECT = 24;
177 const unsigned short CSS_RGBCOLOR = 25;
179 readonly attribute unsigned short primitiveType;
180 void setFloatValue(in unsigned short unitType,
181 in float floatValue)
182 raises(dom::DOMException);
183 float getFloatValue(in unsigned short unitType)
184 raises(dom::DOMException);
185 void setStringValue(in unsigned short stringType,
186 in DOMString stringValue)
187 raises(dom::DOMException);
188 DOMString getStringValue()
189 raises(dom::DOMException);
190 Counter getCounterValue()
191 raises(dom::DOMException);
192 Rect getRectValue()
193 raises(dom::DOMException);
194 RGBColor getRGBColorValue()
195 raises(dom::DOMException);
196 };
198 // Introduced in DOM Level 2:
199 interface CSSValueList : CSSValue {
200 readonly attribute unsigned long length;
201 CSSValue item(in unsigned long index);
202 };
204 // Introduced in DOM Level 2:
205 interface RGBColor {
206 readonly attribute CSSPrimitiveValue red;
207 readonly attribute CSSPrimitiveValue green;
208 readonly attribute CSSPrimitiveValue blue;
209 };
211 // Introduced in DOM Level 2:
212 interface Rect {
213 readonly attribute CSSPrimitiveValue top;
214 readonly attribute CSSPrimitiveValue right;
215 readonly attribute CSSPrimitiveValue bottom;
216 readonly attribute CSSPrimitiveValue left;
217 };
219 // Introduced in DOM Level 2:
220 interface Counter {
221 readonly attribute DOMString identifier;
222 readonly attribute DOMString listStyle;
223 readonly attribute DOMString separator;
224 };
226 // Introduced in DOM Level 2:
227 interface ElementCSSInlineStyle {
228 readonly attribute CSSStyleDeclaration style;
229 };
231 // Introduced in DOM Level 2:
232 interface CSS2Properties {
233 attribute DOMString azimuth;
234 // raises(dom::DOMException) on setting
236 attribute DOMString background;
237 // raises(dom::DOMException) on setting
239 attribute DOMString backgroundAttachment;
240 // raises(dom::DOMException) on setting
242 attribute DOMString backgroundColor;
243 // raises(dom::DOMException) on setting
245 attribute DOMString backgroundImage;
246 // raises(dom::DOMException) on setting
248 attribute DOMString backgroundPosition;
249 // raises(dom::DOMException) on setting
251 attribute DOMString backgroundRepeat;
252 // raises(dom::DOMException) on setting
254 attribute DOMString border;
255 // raises(dom::DOMException) on setting
257 attribute DOMString borderCollapse;
258 // raises(dom::DOMException) on setting
260 attribute DOMString borderColor;
261 // raises(dom::DOMException) on setting
263 attribute DOMString borderSpacing;
264 // raises(dom::DOMException) on setting
266 attribute DOMString borderStyle;
267 // raises(dom::DOMException) on setting
269 attribute DOMString borderTop;
270 // raises(dom::DOMException) on setting
272 attribute DOMString borderRight;
273 // raises(dom::DOMException) on setting
275 attribute DOMString borderBottom;
276 // raises(dom::DOMException) on setting
278 attribute DOMString borderLeft;
279 // raises(dom::DOMException) on setting
281 attribute DOMString borderTopColor;
282 // raises(dom::DOMException) on setting
284 attribute DOMString borderRightColor;
285 // raises(dom::DOMException) on setting
287 attribute DOMString borderBottomColor;
288 // raises(dom::DOMException) on setting
290 attribute DOMString borderLeftColor;
291 // raises(dom::DOMException) on setting
293 attribute DOMString borderTopStyle;
294 // raises(dom::DOMException) on setting
296 attribute DOMString borderRightStyle;
297 // raises(dom::DOMException) on setting
299 attribute DOMString borderBottomStyle;
300 // raises(dom::DOMException) on setting
302 attribute DOMString borderLeftStyle;
303 // raises(dom::DOMException) on setting
305 attribute DOMString borderTopWidth;
306 // raises(dom::DOMException) on setting
308 attribute DOMString borderRightWidth;
309 // raises(dom::DOMException) on setting
311 attribute DOMString borderBottomWidth;
312 // raises(dom::DOMException) on setting
314 attribute DOMString borderLeftWidth;
315 // raises(dom::DOMException) on setting
317 attribute DOMString borderWidth;
318 // raises(dom::DOMException) on setting
320 attribute DOMString bottom;
321 // raises(dom::DOMException) on setting
323 attribute DOMString captionSide;
324 // raises(dom::DOMException) on setting
326 attribute DOMString clear;
327 // raises(dom::DOMException) on setting
329 attribute DOMString clip;
330 // raises(dom::DOMException) on setting
332 attribute DOMString color;
333 // raises(dom::DOMException) on setting
335 attribute DOMString content;
336 // raises(dom::DOMException) on setting
338 attribute DOMString counterIncrement;
339 // raises(dom::DOMException) on setting
341 attribute DOMString counterReset;
342 // raises(dom::DOMException) on setting
344 attribute DOMString cue;
345 // raises(dom::DOMException) on setting
347 attribute DOMString cueAfter;
348 // raises(dom::DOMException) on setting
350 attribute DOMString cueBefore;
351 // raises(dom::DOMException) on setting
353 attribute DOMString cursor;
354 // raises(dom::DOMException) on setting
356 attribute DOMString direction;
357 // raises(dom::DOMException) on setting
359 attribute DOMString display;
360 // raises(dom::DOMException) on setting
362 attribute DOMString elevation;
363 // raises(dom::DOMException) on setting
365 attribute DOMString emptyCells;
366 // raises(dom::DOMException) on setting
368 attribute DOMString cssFloat;
369 // raises(dom::DOMException) on setting
371 attribute DOMString font;
372 // raises(dom::DOMException) on setting
374 attribute DOMString fontFamily;
375 // raises(dom::DOMException) on setting
377 attribute DOMString fontSize;
378 // raises(dom::DOMException) on setting
380 attribute DOMString fontSizeAdjust;
381 // raises(dom::DOMException) on setting
383 attribute DOMString fontStretch;
384 // raises(dom::DOMException) on setting
386 attribute DOMString fontStyle;
387 // raises(dom::DOMException) on setting
389 attribute DOMString fontVariant;
390 // raises(dom::DOMException) on setting
392 attribute DOMString fontWeight;
393 // raises(dom::DOMException) on setting
395 attribute DOMString height;
396 // raises(dom::DOMException) on setting
398 attribute DOMString left;
399 // raises(dom::DOMException) on setting
401 attribute DOMString letterSpacing;
402 // raises(dom::DOMException) on setting
404 attribute DOMString lineHeight;
405 // raises(dom::DOMException) on setting
407 attribute DOMString listStyle;
408 // raises(dom::DOMException) on setting
410 attribute DOMString listStyleImage;
411 // raises(dom::DOMException) on setting
413 attribute DOMString listStylePosition;
414 // raises(dom::DOMException) on setting
416 attribute DOMString listStyleType;
417 // raises(dom::DOMException) on setting
419 attribute DOMString margin;
420 // raises(dom::DOMException) on setting
422 attribute DOMString marginTop;
423 // raises(dom::DOMException) on setting
425 attribute DOMString marginRight;
426 // raises(dom::DOMException) on setting
428 attribute DOMString marginBottom;
429 // raises(dom::DOMException) on setting
431 attribute DOMString marginLeft;
432 // raises(dom::DOMException) on setting
434 attribute DOMString markerOffset;
435 // raises(dom::DOMException) on setting
437 attribute DOMString marks;
438 // raises(dom::DOMException) on setting
440 attribute DOMString maxHeight;
441 // raises(dom::DOMException) on setting
443 attribute DOMString maxWidth;
444 // raises(dom::DOMException) on setting
446 attribute DOMString minHeight;
447 // raises(dom::DOMException) on setting
449 attribute DOMString minWidth;
450 // raises(dom::DOMException) on setting
452 attribute DOMString orphans;
453 // raises(dom::DOMException) on setting
455 attribute DOMString outline;
456 // raises(dom::DOMException) on setting
458 attribute DOMString outlineColor;
459 // raises(dom::DOMException) on setting
461 attribute DOMString outlineStyle;
462 // raises(dom::DOMException) on setting
464 attribute DOMString outlineWidth;
465 // raises(dom::DOMException) on setting
467 attribute DOMString overflow;
468 // raises(dom::DOMException) on setting
470 attribute DOMString padding;
471 // raises(dom::DOMException) on setting
473 attribute DOMString paddingTop;
474 // raises(dom::DOMException) on setting
476 attribute DOMString paddingRight;
477 // raises(dom::DOMException) on setting
479 attribute DOMString paddingBottom;
480 // raises(dom::DOMException) on setting
482 attribute DOMString paddingLeft;
483 // raises(dom::DOMException) on setting
485 attribute DOMString page;
486 // raises(dom::DOMException) on setting
488 attribute DOMString pageBreakAfter;
489 // raises(dom::DOMException) on setting
491 attribute DOMString pageBreakBefore;
492 // raises(dom::DOMException) on setting
494 attribute DOMString pageBreakInside;
495 // raises(dom::DOMException) on setting
497 attribute DOMString pause;
498 // raises(dom::DOMException) on setting
500 attribute DOMString pauseAfter;
501 // raises(dom::DOMException) on setting
503 attribute DOMString pauseBefore;
504 // raises(dom::DOMException) on setting
506 attribute DOMString pitch;
507 // raises(dom::DOMException) on setting
509 attribute DOMString pitchRange;
510 // raises(dom::DOMException) on setting
512 attribute DOMString playDuring;
513 // raises(dom::DOMException) on setting
515 attribute DOMString position;
516 // raises(dom::DOMException) on setting
518 attribute DOMString quotes;
519 // raises(dom::DOMException) on setting
521 attribute DOMString richness;
522 // raises(dom::DOMException) on setting
524 attribute DOMString right;
525 // raises(dom::DOMException) on setting
527 attribute DOMString size;
528 // raises(dom::DOMException) on setting
530 attribute DOMString speak;
531 // raises(dom::DOMException) on setting
533 attribute DOMString speakHeader;
534 // raises(dom::DOMException) on setting
536 attribute DOMString speakNumeral;
537 // raises(dom::DOMException) on setting
539 attribute DOMString speakPunctuation;
540 // raises(dom::DOMException) on setting
542 attribute DOMString speechRate;
543 // raises(dom::DOMException) on setting
545 attribute DOMString stress;
546 // raises(dom::DOMException) on setting
548 attribute DOMString tableLayout;
549 // raises(dom::DOMException) on setting
551 attribute DOMString textAlign;
552 // raises(dom::DOMException) on setting
554 attribute DOMString textDecoration;
555 // raises(dom::DOMException) on setting
557 attribute DOMString textIndent;
558 // raises(dom::DOMException) on setting
560 attribute DOMString textShadow;
561 // raises(dom::DOMException) on setting
563 attribute DOMString textTransform;
564 // raises(dom::DOMException) on setting
566 attribute DOMString top;
567 // raises(dom::DOMException) on setting
569 attribute DOMString unicodeBidi;
570 // raises(dom::DOMException) on setting
572 attribute DOMString verticalAlign;
573 // raises(dom::DOMException) on setting
575 attribute DOMString visibility;
576 // raises(dom::DOMException) on setting
578 attribute DOMString voiceFamily;
579 // raises(dom::DOMException) on setting
581 attribute DOMString volume;
582 // raises(dom::DOMException) on setting
584 attribute DOMString whiteSpace;
585 // raises(dom::DOMException) on setting
587 attribute DOMString widows;
588 // raises(dom::DOMException) on setting
590 attribute DOMString width;
591 // raises(dom::DOMException) on setting
593 attribute DOMString wordSpacing;
594 // raises(dom::DOMException) on setting
596 attribute DOMString zIndex;
597 // raises(dom::DOMException) on setting
599 };
601 // Introduced in DOM Level 2:
602 interface CSSStyleSheet : stylesheets::StyleSheet {
603 readonly attribute CSSRule ownerRule;
604 readonly attribute CSSRuleList cssRules;
605 unsigned long insertRule(in DOMString rule,
606 in unsigned long index)
607 raises(dom::DOMException);
608 void deleteRule(in unsigned long index)
609 raises(dom::DOMException);
610 };
612 // Introduced in DOM Level 2:
613 interface ViewCSS : views::AbstractView {
614 CSSStyleDeclaration getComputedStyle(in Element elt,
615 in DOMString pseudoElt);
616 };
618 // Introduced in DOM Level 2:
619 interface DocumentCSS : stylesheets::DocumentStyle {
620 CSSStyleDeclaration getOverrideStyle(in Element elt,
621 in DOMString pseudoElt);
622 };
624 // Introduced in DOM Level 2:
625 interface DOMImplementationCSS : DOMImplementation {
626 CSSStyleSheet createCSSStyleSheet(in DOMString title,
627 in DOMString media)
628 raises(dom::DOMException);
629 };
630 };
632 #endif // _CSS_IDL_