KHTML
SVGFontFaceElement.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 #ifndef SVGFontFaceElement_h
00022 #define SVGFontFaceElement_h
00023
00024 #if ENABLE(SVG_FONTS)
00025 #include "SVGElement.h"
00026
00027 namespace WebCore {
00028
00029 class CSSFontFaceRule;
00030 class CSSMutableStyleDeclaration;
00031 class SVGFontElement;
00032
00033 class SVGFontFaceElement : public SVGElement {
00034 public:
00035 SVGFontFaceElement(const QualifiedName&, Document*);
00036 virtual ~SVGFontFaceElement();
00037
00038 virtual void parseMappedAttribute(MappedAttribute*);
00039
00040 virtual void childrenChanged(bool changedByParser = false, Node* beforeChange = 0, Node* afterChange = 0, int childCountDelta = 0);
00041 virtual void insertedIntoDocument();
00042
00043 unsigned unitsPerEm() const;
00044 int xHeight() const;
00045 float horizontalOriginX() const;
00046 float horizontalOriginY() const;
00047 float horizontalAdvanceX() const;
00048 float verticalOriginX() const;
00049 float verticalOriginY() const;
00050 float verticalAdvanceY() const;
00051 int ascent() const;
00052 int descent() const;
00053 String fontFamily() const;
00054
00055 SVGFontElement* associatedFontElement() const;
00056 void rebuildFontFace();
00057
00058 private:
00059 RefPtr<CSSFontFaceRule> m_fontFaceRule;
00060 RefPtr<CSSMutableStyleDeclaration> m_styleDeclaration;
00061
00062 RefPtr<SVGFontElement> m_fontElement;
00063 };
00064
00065 }
00066
00067 #endif // ENABLE(SVG_FONTS)
00068 #endif
00069
00070