diff options
Diffstat (limited to 'WebCore/platform/ScrollbarClient.h')
-rw-r--r-- | WebCore/platform/ScrollbarClient.h | 26 |
1 files changed, 24 insertions, 2 deletions
diff --git a/WebCore/platform/ScrollbarClient.h b/WebCore/platform/ScrollbarClient.h index f720e95..6efe72e 100644 --- a/WebCore/platform/ScrollbarClient.h +++ b/WebCore/platform/ScrollbarClient.h @@ -27,12 +27,11 @@ #define ScrollbarClient_h #include "IntRect.h" +#include "Scrollbar.h" #include <wtf/Vector.h> namespace WebCore { -class Scrollbar; - class ScrollbarClient { public: virtual ~ScrollbarClient() {} @@ -45,6 +44,29 @@ public: virtual bool scrollbarCornerPresent() const = 0; virtual void getTickmarks(Vector<IntRect>&) const { } + + // Convert points and rects between the scrollbar and its containing view. + // The client needs to implement these in order to be aware of layout effects + // like CSS transforms. + virtual IntRect convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntRect& scrollbarRect) const + { + return scrollbar->Widget::convertToContainingView(scrollbarRect); + } + + virtual IntRect convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntRect& parentRect) const + { + return scrollbar->Widget::convertFromContainingView(parentRect); + } + + virtual IntPoint convertFromScrollbarToContainingView(const Scrollbar* scrollbar, const IntPoint& scrollbarPoint) const + { + return scrollbar->Widget::convertToContainingView(scrollbarPoint); + } + + virtual IntPoint convertFromContainingViewToScrollbar(const Scrollbar* scrollbar, const IntPoint& parentPoint) const + { + return scrollbar->Widget::convertFromContainingView(parentPoint); + } }; } |