PageWidgetDelegate.h [plain text]
#ifndef PageWidgetDelegate_h
#define PageWidgetDelegate_h
#include "Page.h"
#include "WebWidget.h"
#include "platform/WebCanvas.h"
#include <wtf/OwnPtr.h>
namespace WebCore {
class Frame;
class Page;
}
namespace WebKit {
class PageOverlayList;
class WebGestureEvent;
class WebInputEvent;
class WebKeyboardEvent;
class WebMouseEvent;
class WebMouseWheelEvent;
class WebTouchEvent;
class PageWidgetEventHandler {
public:
virtual void handleMouseMove(WebCore::Frame& mainFrame, const WebMouseEvent&);
virtual void handleMouseLeave(WebCore::Frame& mainFrame, const WebMouseEvent&);
virtual void handleMouseDown(WebCore::Frame& mainFrame, const WebMouseEvent&);
virtual void handleMouseUp(WebCore::Frame& mainFrame, const WebMouseEvent&);
virtual bool handleMouseWheel(WebCore::Frame& mainFrame, const WebMouseWheelEvent&);
virtual bool handleKeyEvent(const WebKeyboardEvent&) = 0;
virtual bool handleCharEvent(const WebKeyboardEvent&) = 0;
#if ENABLE(GESTURE_EVENTS)
virtual bool handleGestureEvent(const WebGestureEvent&) = 0;
#endif
#if ENABLE(TOUCH_EVENTS)
virtual bool handleTouchEvent(WebCore::Frame& mainFrame, const WebTouchEvent&);
#endif
virtual ~PageWidgetEventHandler() { }
};
class PageWidgetDelegate {
public:
static void animate(WebCore::Page*, double monotonicFrameBeginTime);
static void layout(WebCore::Page*);
static void paint(WebCore::Page*, PageOverlayList*, WebCanvas*, const WebRect&);
static bool handleInputEvent(WebCore::Page*, PageWidgetEventHandler&, const WebInputEvent&);
private:
PageWidgetDelegate() { }
};
}
#endif