ScrollbarThemeWin.h [plain text]
#ifndef ScrollbarThemeWin_h
#define ScrollbarThemeWin_h
#include "ScrollbarThemeComposite.h"
namespace WebCore {
class ScrollbarThemeWin : public ScrollbarThemeComposite {
public:
ScrollbarThemeWin();
virtual ~ScrollbarThemeWin();
virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar);
virtual void themeChanged();
virtual bool invalidateOnMouseEnterExit();
protected:
virtual bool hasButtons(ScrollbarThemeClient*) { return true; }
virtual bool hasThumb(ScrollbarThemeClient*);
virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false);
virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false);
virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false);
virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&);
virtual bool shouldSnapBackToDragOrigin(ScrollbarThemeClient*, const PlatformMouseEvent&);
virtual void paintTrackBackground(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
virtual void paintTrackPiece(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart);
virtual void paintButton(GraphicsContext*, ScrollbarThemeClient*, const IntRect&, ScrollbarPart);
virtual void paintThumb(GraphicsContext*, ScrollbarThemeClient*, const IntRect&);
};
}
#endif