KHTML
SVGLocatable.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 SVGLocatable_h
00024 #define SVGLocatable_h
00025
00026 #if ENABLE(SVG)
00027
00028 #include "ExceptionCode.h"
00029 #include "Document.h"
00030
00031 namespace WebCore {
00032
00033 class AffineTransform;
00034 class FloatRect;
00035 class SVGElement;
00036 class SVGStyledElement;
00037
00038 class SVGLocatable {
00039 public:
00040 SVGLocatable();
00041 virtual ~SVGLocatable();
00042
00043
00044 virtual SVGElement* nearestViewportElement() const = 0;
00045 virtual SVGElement* farthestViewportElement() const = 0;
00046
00047 virtual FloatRect getBBox() const = 0;
00048 virtual AffineTransform getCTM() const = 0;
00049 virtual AffineTransform getScreenCTM() const = 0;
00050 AffineTransform getTransformToElement(SVGElement*, ExceptionCode&) const;
00051
00052 static SVGElement* nearestViewportElement(const SVGStyledElement*);
00053 static SVGElement* farthestViewportElement(const SVGStyledElement*);
00054
00055 protected:
00056 static FloatRect getBBox(const SVGStyledElement*);
00057 static AffineTransform getCTM(const SVGElement*);
00058 static AffineTransform getScreenCTM(const SVGElement*);
00059 };
00060
00061 }
00062
00063 #endif // ENABLE(SVG)
00064 #endif // SVGLocatable_h
00065
00066