2012-07-19 23:48:25 -07:00
|
|
|
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
|
|
/* vim: set sw=4 ts=8 et tw=80 : */
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
#ifndef mozilla_layers_GeckoContentController_h
|
|
|
|
#define mozilla_layers_GeckoContentController_h
|
|
|
|
|
2012-07-30 17:42:26 -07:00
|
|
|
#include "FrameMetrics.h"
|
|
|
|
#include "nsISupportsImpl.h"
|
2012-07-19 23:48:25 -07:00
|
|
|
|
|
|
|
namespace mozilla {
|
|
|
|
namespace layers {
|
|
|
|
|
|
|
|
class GeckoContentController {
|
|
|
|
public:
|
|
|
|
NS_INLINE_DECL_THREADSAFE_REFCOUNTING(GeckoContentController)
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Requests a paint of the given FrameMetrics |aFrameMetrics| from Gecko.
|
|
|
|
* Implementations per-platform are responsible for actually handling this.
|
|
|
|
*/
|
|
|
|
virtual void RequestContentRepaint(const FrameMetrics& aFrameMetrics) = 0;
|
2012-07-22 13:37:13 -07:00
|
|
|
|
2012-08-08 21:39:02 -07:00
|
|
|
/**
|
|
|
|
* Requests handling of a double tap. |aPoint| is in CSS pixels, relative to
|
|
|
|
* the current scroll offset. This should eventually round-trip back to
|
|
|
|
* AsyncPanZoomController::ZoomToRect with the dimensions that we want to zoom
|
|
|
|
* to.
|
|
|
|
*/
|
|
|
|
virtual void HandleDoubleTap(const nsIntPoint& aPoint) = 0;
|
|
|
|
|
2012-09-14 18:16:32 -07:00
|
|
|
/**
|
|
|
|
* Requests handling a single tap. |aPoint| is in CSS pixels, relative to the
|
|
|
|
* current scroll offset. This should simulate and send to content a mouse
|
|
|
|
* button down, then mouse button up at |aPoint|.
|
|
|
|
*/
|
|
|
|
virtual void HandleSingleTap(const nsIntPoint& aPoint) = 0;
|
|
|
|
|
2012-07-24 12:12:11 -07:00
|
|
|
GeckoContentController() {}
|
|
|
|
virtual ~GeckoContentController() {}
|
2012-07-19 23:48:25 -07:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif // mozilla_layers_GeckoContentController_h
|