ScrollbarThemeIOS.h [plain text]
#ifndef ScrollbarThemeIOS_h
#define ScrollbarThemeIOS_h
#include "ScrollbarThemeComposite.h"
namespace WebCore {
class ScrollbarThemeIOS : public ScrollbarThemeComposite {
public:
ScrollbarThemeIOS();
virtual ~ScrollbarThemeIOS();
virtual bool paint(ScrollbarThemeClient*, GraphicsContext*, const IntRect& damageRect) override;
virtual int scrollbarThickness(ScrollbarControlSize = RegularScrollbar) override;
virtual bool supportsControlTints() const override { return true; }
virtual double initialAutoscrollTimerDelay() override;
virtual double autoscrollTimerDelay() override;
virtual ScrollbarButtonsPlacement buttonsPlacement() const override;
virtual void registerScrollbar(ScrollbarThemeClient*) override;
virtual void unregisterScrollbar(ScrollbarThemeClient*) override;
protected:
virtual bool hasButtons(ScrollbarThemeClient*) override;
virtual bool hasThumb(ScrollbarThemeClient*) override;
virtual IntRect backButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
virtual IntRect forwardButtonRect(ScrollbarThemeClient*, ScrollbarPart, bool painting = false) override;
virtual IntRect trackRect(ScrollbarThemeClient*, bool painting = false) override;
virtual int minimumThumbLength(ScrollbarThemeClient*) override;
virtual bool shouldCenterOnThumb(ScrollbarThemeClient*, const PlatformMouseEvent&) override;
public:
void preferencesChanged();
};
}
#endif // ScrollbarThemeIOS_h