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
44
/*#########################################################################
46
#########################################################################*/
56
/*#########################################################################
58
#########################################################################*/
62
//####################################################
63
//# Overload some createXXX() methods from DocumentImpl,
64
//# To create our SVG-DOM types
65
//####################################################
70
Element *SVGDocumentImpl::createElement(const DOMString& tagName)
73
SVGElementImpl *impl = new SVGElementImpl(this, tagName);
81
Element *SVGDocumentImpl::createElementNS(const DOMString& namespaceURI,
82
const DOMString& qualifiedName)
85
SVGElementImpl *elem = new SVGElementImpl(this, namespaceURI, qualifiedName);
101
/*#########################################################################
103
#########################################################################*/
109
unsigned long SVGSVGElementImpl::suspendRedraw(unsigned long max_wait_milliseconds )
117
void SVGSVGElementImpl::unsuspendRedraw(unsigned long suspend_handle_id )
118
throw ( DOMException )
126
void SVGSVGElementImpl::unsuspendRedrawAll( )
133
void SVGSVGElementImpl::forceRedraw( )
140
void SVGSVGElementImpl::pauseAnimations( )
147
void SVGSVGElementImpl::unpauseAnimations( )
154
bool SVGSVGElementImpl::animationsPaused( )
163
NodeList SVGSVGElementImpl::getIntersectionList(const SVGRect &rect,
164
const SVGElement *referenceElement )
173
NodeList SVGSVGElementImpl::getEnclosureList(const SVGRect &rect,
174
const SVGElement *referenceElement )
183
bool SVGSVGElementImpl::checkIntersection(const SVGElement *element,
184
const SVGRect &rect )
192
bool SVGSVGElementImpl::checkEnclosure(const SVGElement *element,
193
const SVGRect &rect )
201
void SVGSVGElementImpl::deselectAll( )
208
Element *SVGSVGElementImpl::getElementById(const DOMString& elementId )
223
/*#########################################################################
225
#########################################################################*/
237
/*#########################################################################
238
## SVGDefsElementImpl
239
#########################################################################*/
252
/*#########################################################################
253
## SVGDescElementImpl
254
#########################################################################*/
267
/*#########################################################################
268
## SVGTitleElementImpl
269
#########################################################################*/
280
/*#########################################################################
281
## SVGSymbolElementImpl
282
#########################################################################*/
296
/*#########################################################################
298
#########################################################################*/
314
/*#########################################################################
315
## SVGImageElementImpl
316
#########################################################################*/
331
/*#########################################################################
332
## SVGSwitchElementImpl
333
#########################################################################*/
346
/*#########################################################################
347
## GetSVGDocumentImpl
348
#########################################################################*/
353
SVGDocument *GetSVGDocumentImpl::getSVGDocument( )
354
throw ( DOMException )
370
/*#########################################################################
371
## SVGStyleElementImpl
372
#########################################################################*/
385
/*#########################################################################
386
## SVGPathElementImpl
387
#########################################################################*/
392
SVGAnimatedNumber SVGPathElementImpl::getPathLength()
394
SVGAnimatedNumber ret;
401
double SVGPathElementImpl::getTotalLength( )
409
SVGPoint SVGPathElementImpl::getPointAtLength(double distance )
418
unsigned long SVGPathElementImpl::getPathSegAtLength(double distance )
435
/*#########################################################################
436
## SVGRectElementImpl
437
#########################################################################*/
454
/*#########################################################################
455
## SVGCircleElementImpl
456
#########################################################################*/
472
/*#########################################################################
473
## SVGEllipseElementImpl
474
#########################################################################*/
489
/*#########################################################################
490
## SVGLineElementImpl
491
#########################################################################*/
505
/*#########################################################################
506
## SVGPolylineElementImpl
507
#########################################################################*/
522
/*#########################################################################
523
## SVGPolygonElementImpl
524
#########################################################################*/
541
/*#########################################################################
542
## SVGTextContentElementImpl
543
#########################################################################*/
548
SVGAnimatedLength SVGTextContentElementImpl::getTextLength()
550
SVGAnimatedLength ret;
558
SVGAnimatedEnumeration SVGTextContentElementImpl::getLengthAdjust()
560
SVGAnimatedEnumeration ret;
568
long SVGTextContentElementImpl::getNumberOfChars( )
576
double SVGTextContentElementImpl::getComputedTextLength( )
584
double SVGTextContentElementImpl::getSubStringLength(unsigned long charnum, unsigned long nchars )
585
throw ( DOMException )
593
SVGPoint SVGTextContentElementImpl::getStartPositionOfChar(unsigned long charnum )
594
throw ( DOMException )
603
SVGPoint SVGTextContentElementImpl::getEndPositionOfChar(unsigned long charnum )
604
throw ( DOMException )
613
SVGRect SVGTextContentElementImpl::getExtentOfChar(unsigned long charnum )
614
throw ( DOMException )
623
double SVGTextContentElementImpl::getRotationOfChar(unsigned long charnum )
624
throw ( DOMException )
632
long SVGTextContentElementImpl::getCharNumAtPosition(const SVGPoint &point )
640
void SVGTextContentElementImpl::selectSubString(unsigned long charnum,
641
unsigned long nchars )
642
throw ( DOMException )
660
/*#########################################################################
661
## SVGTextPositioningElementImpl
662
#########################################################################*/
678
/*#########################################################################
679
## SVGTextElementImpl
680
#########################################################################*/
696
/*#########################################################################
697
## SVGTSpanElementImpl
698
#########################################################################*/
713
/*#########################################################################
714
## SVGTRefElementImpl
715
#########################################################################*/
731
/*#########################################################################
732
## SVGTextPathElementImpl
733
#########################################################################*/
750
/*#########################################################################
751
## SVGAltGlyphElementImpl
752
#########################################################################*/
769
/*#########################################################################
770
## SVGAltGlyphDefElementImpl
771
#########################################################################*/
787
/*#########################################################################
788
## SVGAltGlyphItemElementImpl
789
#########################################################################*/
805
/*#########################################################################
806
## SVGGlyphRefElementImpl
807
#########################################################################*/
823
/*#########################################################################
824
## SVGMarkerElementImpl
825
#########################################################################*/
841
/*#########################################################################
842
## SVGColorProfileElementImpl
843
#########################################################################*/
860
/*#########################################################################
861
## SVGGradientElementImpl
862
#########################################################################*/
876
/*#########################################################################
877
## SVGLinearGradientElementImpl
878
#########################################################################*/
894
/*#########################################################################
895
## SVGRadialGradientElementImpl
896
#########################################################################*/
913
/*#########################################################################
914
## SVGStopElementImpl
915
#########################################################################*/
933
/*#########################################################################
934
## SVGPatternElementImpl
935
#########################################################################*/
950
/*#########################################################################
951
## SVGClipPathElementImpl
952
#########################################################################*/
971
/*#########################################################################
972
## SVGMaskElementImpl
973
#########################################################################*/
989
/*#########################################################################
990
## SVGFilterElementImpl
991
#########################################################################*/
1009
/*#########################################################################
1010
## SVGFEBlendElementImpl
1011
#########################################################################*/
1016
//##################
1018
//##################
1027
/*#########################################################################
1028
## SVGFEColorMatrixElementImpl
1029
#########################################################################*/
1033
//##################
1035
//##################
1045
/*#########################################################################
1046
## SVGFEComponentTransferElementImpl
1047
#########################################################################*/
1052
//##################
1054
//##################
1065
/*#########################################################################
1066
## SVGComponentTransferFunctionElementImpl
1067
#########################################################################*/
1071
//##################
1073
//##################
1083
/*#########################################################################
1084
## SVGFEFuncRElementImpl
1085
#########################################################################*/
1089
//##################
1091
//##################
1099
/*#########################################################################
1100
## SVGFEFuncGElementImpl
1101
#########################################################################*/
1107
//##################
1109
//##################
1117
/*#########################################################################
1118
## SVGFEFuncBElementImpl
1119
#########################################################################*/
1125
//##################
1127
//##################
1135
/*#########################################################################
1136
## SVGFEFuncAElementImpl
1137
#########################################################################*/
1143
//##################
1145
//##################
1153
/*#########################################################################
1154
## SVGFECompositeElementImpl
1155
#########################################################################*/
1160
//##################
1162
//##################
1171
/*#########################################################################
1172
## SVGFEConvolveMatrixElementImpl
1173
#########################################################################*/
1177
//##################
1179
//##################
1188
/*#########################################################################
1189
## SVGFEDiffuseLightingElementImpl
1190
#########################################################################*/
1195
//##################
1197
//##################
1203
/*#########################################################################
1204
## SVGFEDistantLightElementImpl
1205
#########################################################################*/
1211
//##################
1213
//##################
1223
/*#########################################################################
1224
## SVGFEPointLightElementImpl
1225
#########################################################################*/
1229
//##################
1231
//##################
1241
/*#########################################################################
1242
## SVGFESpotLightElementImpl
1243
#########################################################################*/
1250
//##################
1252
//##################
1262
/*#########################################################################
1263
## SVGFEDisplacementMapElementImpl
1264
#########################################################################*/
1269
//##################
1271
//##################
1281
/*#########################################################################
1282
## SVGFEFloodElementImpl
1283
#########################################################################*/
1289
//##################
1291
//##################
1301
/*#########################################################################
1302
## SVGFEGaussianBlurElementImpl
1303
#########################################################################*/
1309
//##################
1311
//##################
1321
/*#########################################################################
1322
## SVGFEImageElementImpl
1323
#########################################################################*/
1328
//##################
1330
//##################
1338
/*#########################################################################
1339
## SVGFEMergeElementImpl
1340
#########################################################################*/
1345
//##################
1347
//##################
1355
/*#########################################################################
1356
## SVGFEMergeNodeElementImpl
1357
#########################################################################*/
1363
//##################
1365
//##################
1374
/*#########################################################################
1375
## SVGFEMorphologyElementImpl
1376
#########################################################################*/
1380
//##################
1382
//##################
1391
/*#########################################################################
1392
## SVGFEOffsetElementImpl
1393
#########################################################################*/
1398
//##################
1400
//##################
1407
/*#########################################################################
1408
## SVGFESpecularLightingElementImpl
1409
#########################################################################*/
1413
//##################
1415
//##################
1425
/*#########################################################################
1426
## SVGFETileElementImpl
1427
#########################################################################*/
1433
//##################
1435
//##################
1445
/*#########################################################################
1446
## SVGFETurbulenceElementImpl
1447
#########################################################################*/
1454
//##################
1456
//##################
1466
/*#########################################################################
1467
## SVGCursorElementImpl
1468
#########################################################################*/
1472
//##################
1474
//##################
1484
/*#########################################################################
1486
#########################################################################*/
1492
//##################
1494
//##################
1503
/*#########################################################################
1504
## SVGViewElementImpl
1505
#########################################################################*/
1512
//##################
1514
//##################
1523
/*#########################################################################
1524
## SVGScriptElementImpl
1525
#########################################################################*/
1530
//##################
1532
//##################
1540
/*#########################################################################
1541
## SVGAnimationElementImpl
1542
#########################################################################*/
1548
//##################
1550
//##################
1560
/*#########################################################################
1561
## SVGAnimateElementImpl
1562
#########################################################################*/
1565
//##################
1567
//##################
1575
/*#########################################################################
1576
## SVGSetElementImpl
1577
#########################################################################*/
1582
//##################
1584
//##################
1592
/*#########################################################################
1593
## SVGAnimateMotionElementImpl
1594
#########################################################################*/
1597
//##################
1599
//##################
1607
/*#########################################################################
1608
## SVGMPathElementImpl
1609
#########################################################################*/
1612
//##################
1614
//##################
1622
/*#########################################################################
1623
## SVGAnimateColorElementImpl
1624
#########################################################################*/
1627
//##################
1629
//##################
1637
/*#########################################################################
1638
## SVGAnimateTransformElementImpl
1639
#########################################################################*/
1643
//##################
1645
//##################
1653
/*#########################################################################
1654
## SVGFontElementImpl
1655
#########################################################################*/
1659
//##################
1661
//##################
1669
/*#########################################################################
1670
## SVGGlyphElementImpl
1671
#########################################################################*/
1675
//##################
1677
//##################
1685
/*#########################################################################
1686
## SVGMissingGlyphElementImpl
1687
#########################################################################*/
1691
//##################
1693
//##################
1701
/*#########################################################################
1702
## SVGHKernElementImpl
1703
#########################################################################*/
1707
//##################
1709
//##################
1717
/*#########################################################################
1718
## SVGVKernElementImpl
1719
#########################################################################*/
1723
//##################
1725
//##################
1733
/*#########################################################################
1734
## SVGFontFaceElementImpl
1735
#########################################################################*/
1739
//##################
1741
//##################
1749
/*#########################################################################
1750
## SVGFontFaceSrcElementImpl
1751
#########################################################################*/
1755
//##################
1757
//##################
1765
/*#########################################################################
1766
## SVGFontFaceUriElementImpl
1767
#########################################################################*/
1771
//##################
1773
//##################
1779
/*#########################################################################
1780
## SVGFontFaceFormatElementImpl
1781
#########################################################################*/
1786
//##################
1788
//##################
1795
/*#########################################################################
1796
## SVGFontFaceNameElementImpl
1797
#########################################################################*/
1801
//##################
1803
//##################
1811
/*#########################################################################
1812
## SVGDefinitionSrcElementImpl
1813
#########################################################################*/
1817
//##################
1819
//##################
1827
/*#########################################################################
1828
## SVGMetadataElementImpl
1829
#########################################################################*/
1832
//##################
1834
//##################
1840
/*#########################################################################
1841
## SVGForeignObjectElementImpl
1842
#########################################################################*/
1846
//##################
1848
//##################
1867
/*#########################################################################
1868
## E N D O F F I L E
1869
#########################################################################*/