ScrollbarThemeClient.h [plain text]
#ifndef ScrollbarThemeClient_h
#define ScrollbarThemeClient_h
#include "IntPoint.h"
#include "IntRect.h"
#include "IntSize.h"
#include "ScrollTypes.h"
#include <wtf/PassOwnPtr.h>
#include <wtf/Vector.h>
namespace WebCore {
class ScrollView;
class ScrollbarThemeClient {
public:
virtual int x() const = 0;
virtual int y() const = 0;
virtual int width() const = 0;
virtual int height() const = 0;
virtual IntSize size() const = 0;
virtual IntPoint location() const = 0;
virtual ScrollView* parent() const = 0;
virtual ScrollView* root() const = 0;
virtual void setFrameRect(const IntRect&) = 0;
virtual IntRect frameRect() const = 0;
virtual void invalidate() = 0;
virtual void invalidateRect(const IntRect&) = 0;
virtual ScrollbarOverlayStyle scrollbarOverlayStyle() const = 0;
virtual void getTickmarks(Vector<IntRect>&) const = 0;
virtual bool isScrollableAreaActive() const = 0;
virtual bool isScrollViewScrollbar() const = 0;
virtual IntPoint convertFromContainingWindow(const IntPoint& windowPoint) = 0;
virtual bool isCustomScrollbar() const = 0;
virtual ScrollbarOrientation orientation() const = 0;
virtual int value() const = 0;
virtual float currentPos() const = 0;
virtual int visibleSize() const = 0;
virtual int totalSize() const = 0;
virtual int maximum() const = 0;
virtual ScrollbarControlSize controlSize() const = 0;
virtual int lineStep() const = 0;
virtual int pageStep() const = 0;
virtual ScrollbarPart pressedPart() const = 0;
virtual ScrollbarPart hoveredPart() const = 0;
virtual void styleChanged() = 0;
virtual bool enabled() const = 0;
virtual void setEnabled(bool) = 0;
protected:
virtual ~ScrollbarThemeClient() { }
};
}
#endif // ScollbarThemeClient_h