KHTML
SVGTextContentElement.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef SVGTextContentElement_h
00024 #define SVGTextContentElement_h
00025
00026 #if ENABLE(SVG)
00027 #include "SVGExternalResourcesRequired.h"
00028 #include "SVGLangSpace.h"
00029 #include "SVGStyledElement.h"
00030 #include "SVGTests.h"
00031
00032 namespace WebCore {
00033 class SVGLength;
00034
00035 class SVGTextContentElement : public SVGStyledElement,
00036 public SVGTests,
00037 public SVGLangSpace,
00038 public SVGExternalResourcesRequired {
00039 public:
00040 enum SVGLengthAdjustType {
00041 LENGTHADJUST_UNKNOWN = 0,
00042 LENGTHADJUST_SPACING = 1,
00043 LENGTHADJUST_SPACINGANDGLYPHS = 2
00044 };
00045
00046 SVGTextContentElement(const QualifiedName&, Document*);
00047 virtual ~SVGTextContentElement();
00048
00049 virtual bool isValid() const { return SVGTests::isValid(); }
00050 virtual bool isTextContent() const { return true; }
00051
00052 long getNumberOfChars() const;
00053 float getComputedTextLength() const;
00054 float getSubStringLength(long charnum, long nchars, ExceptionCode&) const;
00055 FloatPoint getStartPositionOfChar(long charnum, ExceptionCode&) const;
00056 FloatPoint getEndPositionOfChar(long charnum, ExceptionCode&) const;
00057 FloatRect getExtentOfChar(long charnum, ExceptionCode&) const;
00058 float getRotationOfChar(long charnum, ExceptionCode&) const;
00059 long getCharNumAtPosition(const FloatPoint&) const;
00060 void selectSubString(long charnum, long nchars, ExceptionCode&) const;
00061
00062 virtual void parseMappedAttribute(MappedAttribute*);
00063
00064 bool isKnownAttribute(const QualifiedName&);
00065
00066 private:
00067 ANIMATED_PROPERTY_FORWARD_DECLARATIONS(SVGExternalResourcesRequired, bool, ExternalResourcesRequired, externalResourcesRequired)
00068
00069 ANIMATED_PROPERTY_DECLARATIONS(SVGTextContentElement, SVGLength, SVGLength, TextLength, textLength)
00070 ANIMATED_PROPERTY_DECLARATIONS(SVGTextContentElement, int, int, LengthAdjust, lengthAdjust)
00071 };
00072
00073 }
00074
00075 #endif // ENABLE(SVG)
00076 #endif