2
* Phoebe DOM Implementation.
4
* This is a C++ approximation of the W3C DOM model, which follows
5
* fairly closely the specifications in the various .idl files, copies of
6
* which are provided for reference. Most important is this one:
8
* http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407/idl-definitions.html
13
* Copyright (C) 2005 Bob Jamison
15
* This library is free software; you can redistribute it and/or
16
* modify it under the terms of the GNU Lesser General Public
17
* License as published by the Free Software Foundation; either
18
* version 2.1 of the License, or (at your option) any later version.
20
* This library is distributed in the hope that it will be useful,
21
* but WITHOUT ANY WARRANTY; without even the implied warranty of
22
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23
* Lesser General Public License for more details.
25
* You should have received a copy of the GNU Lesser General Public
26
* License along with this library; if not, write to the Free Software
27
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
37
char const *defaultValue;
38
char const *appliesTo;
40
char const *percentages;
41
char const *mediaGroups;
45
typedef struct SvgProp_def SvgProp;
47
static SvgProp svgProps[] =
52
"auto | baseline | before-edge | text-before-edge | middle | central | after-edge | text-after-edge | ideographic | alphabetic | hanging | mathematical | inherit",
53
"see property description",
54
"'tspan', 'tref', 'altGlyph', 'textPath' elements",
63
"baseline | sub | super | <percentage> | <length> | inherit",
65
"tspan', 'tref', 'altGlyph', 'textPath' elements",
67
"refers to the 'line-height' of the 'text' element, which in the case of SVG is defined to be equal to the 'font-size",
69
"yes (non-additive, 'set' and 'animate' elements only)"
74
"<shape> | auto | inherit",
76
"elements which establish a new viewport, 'pattern' elements and 'marker' elements",
85
"<uri> | none | inherit",
87
"container elements and graphics elements",
96
"nonzero | evenodd | inherit",
98
"graphics elements within a 'clipPath' element",
108
"depends on user agent",
109
"elements to which properties 'fill', 'stroke', 'stop-color', 'flood-color', 'lighting-color' apply",
117
"color-interpolation",
118
"auto | sRGB | linearRGB | inherit",
120
"container elements, graphics elements and 'animateColor",
128
"color-interpolation-filters",
129
"auto | sRGB | linearRGB | inherit",
140
"auto | sRGB | <name> | <uri> | inherit",
142
"'image' elements that refer to raster images",
151
"auto | optimizeSpeed | optimizeQuality | inherit",
153
"container elements, graphics elements and 'animateColor",
162
"[ [<uri> ,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize| text | wait | help ] ] | inherit",
164
"container elements and graphics elements",
167
"visual, interactive",
173
"ltr | rtl | inherit",
175
"text content elements",
184
"inline | block | list-item | run-in | compact | marker | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit",
186
"'svg', 'g', 'switch', 'a', 'foreignObject', graphics elements (including the 'text' element) and text sub-elements (i.e., 'tspan', 'tref', 'altGlyph', 'textPath')",
195
"auto | use-script | no-change | reset-size | ideographic | alphabetic | hanging | mathematical | central | middle | text-after-edge | text-before-edge | inherit",
197
"text content elements",
206
"accumulate | new [ <x> <y> <width> <height> ] | inherit",
208
"container elements",
217
"<paint> (See Specifying paint)",
219
"shapes and text content elements",
228
"<opacity-value> | inherit",
230
"shapes and text content elements",
239
"nonzero | evenodd | inherit",
241
"shapes and text content elements",
250
"<uri> | none | inherit",
252
"container elements and graphics elements",
261
"currentColor | <color> [icc-color(<name>[,<icccolorvalue>]*)] | inherit",
263
"'feFlood' elements",
272
"<opacity-value> | inherit",
274
"'feFlood' elements",
283
"[ [ 'font-style' || 'font-variant' || 'font-weight' ]? 'font-size' [ / 'line-height' ]? 'font-family' ] | caption | icon | menu | message-box | small-caption | status-bar | inherit",
284
"see individual properties",
285
"text content elements",
287
"allowed on 'font-size' and 'line-height' ('line-height' same as 'font-size' in SVG)",
289
"yes (non-additive, 'set' and 'animate' elements only)"
294
"[[ <family-name> | <generic-family> ],]* [ <family-name> | <generic-family>] | inherit",
295
"depends on user agent",
296
"text content elements",
305
"<absolute-size> | <relative-size> | <length> | <percentage> | inherit",
307
"text content elements",
308
"yes, the computed value is inherited",
309
"refer to parent element's font size",
316
"<number> | none | inherit",
318
"text content elements",
327
"normal | wider | narrower | ultra-condensed | extra-condensed | condensed | semi-condensed | semi-expanded | expanded | extra-expanded | ultra-expanded | inherit",
329
"text content elements",
338
"normal | italic | oblique | inherit",
340
"text content elements",
349
"normal | small-caps | inherit",
351
"text content elements",
360
"normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit",
362
"text content elements",
370
"glyph-orientation-horizontal",
373
"text content elements",
381
"glyph-orientation-vertical",
382
"auto | <angle> | inherit",
384
"text content elements",
393
"auto | optimizeSpeed | optimizeQuality | inherit",
404
"auto | <length> | inherit",
406
"text content elements",
415
"normal | <length> | inherit",
417
"text content elements",
426
"currentColor | <color> [icc-color(<name>[,<icccolorvalue>]*)] | inherit",
428
"feDiffuseLighting' and 'feSpecularLighting' elements",
437
"see individual properties",
438
"see individual properties",
439
"path', 'line', 'polyline' and 'polygon' elements",
447
"marker-end' 'marker-mid' 'marker-start",
448
"none | inherit | <uri>",
450
"path', 'line', 'polyline' and 'polygon' elements",
459
"<uri> | none | inherit",
461
"container elements and graphics elements",
470
"<opacity-value> | inherit",
472
"container elements and graphics elements",
481
"visible | hidden | scroll | auto | inherit",
483
"elements which establish a new viewport, 'pattern' elements and 'marker' elements",
492
"visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all | none | inherit",
503
"auto | optimizeSpeed | crispEdges | geometricPrecision | inherit",
514
"currentColor | <color> [icc-color(<name>[,<icccolorvalue>]*)] | inherit",
525
"<opacity-value> | inherit",
536
"<paint> (See Specifying paint)",
538
"shapes and text content elements",
547
"none | <dasharray> | inherit",
549
"shapes and text content elements",
558
"<length> | inherit",
560
"shapes and text content elements",
569
"butt | round | square | inherit",
571
"shapes and text content elements",
580
"miter | round | bevel | inherit",
582
"shapes and text content elements",
591
"<miterlimit> | inherit",
593
"shapes and text content elements",
602
"<opacity-value> | inherit",
604
"shapes and text content elements",
613
"<length> | inherit",
615
"shapes and text content elements",
624
"start | middle | end | inherit",
626
"text content elements",
635
"none | [ underline || overline || line-through || blink ] | inherit",
637
"text content elements",
646
"auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit",
657
"normal | embed | bidi-override | inherit",
659
"text content elements",
668
"visible | hidden | collapse | inherit",
670
"graphics elements (including the 'text' element) and text sub-elements (i.e., 'tspan', 'tref', 'altGlyph', 'textPath' and 'a')",
679
"normal | <length> | inherit",
681
"text content elements",
690
"lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit",
716
for (SvgProp const *prop = svgProps; prop->name; prop++) {
717
printf("#### Prop: %s ####\n", prop->name);
718
printf("values : %s\n", prop->values);
719
printf("defaultValue: %s\n", prop->defaultValue);
720
printf("appliesTo : %s\n", prop->appliesTo);
721
printf("inherited : %s\n", ( prop->inherited ? "true" : "false" ));
722
printf("percentages : %s\n", prop->percentages);
723
printf("groups : %s\n", prop->mediaGroups);
724
printf("animatable : %s\n", ( prop->animatable ? "true" : "false" ));
730
int main(int /*argc*/, char **/*argv*/)
733
return ( ferror(stdout) ? EXIT_FAILURE : EXIT_SUCCESS );
740
c-file-style:"stroustrup"
741
c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
746
// vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :