OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef WEBKIT_PLUGINS_PPAPI_PPB_FULLSCREEN_CONTAINER_IMPL_H_ | |
6 #define WEBKIT_PLUGINS_PPAPI_PPB_FULLSCREEN_CONTAINER_IMPL_H_ | |
7 | |
8 #include "webkit/plugins/ppapi/plugin_delegate.h" | |
9 | |
10 namespace WebKit { | |
11 struct WebCursorInfo; | |
12 struct WebRect; | |
13 } // namespace WebKit | |
14 | |
15 namespace webkit { | |
16 namespace ppapi { | |
17 | |
18 // This class is like a lightweight WebPluginContainer for fullscreen PPAPI | |
19 // plugins, that only handles painting. | |
20 class FullscreenContainer { | |
21 public: | |
22 // Invalidates the full plugin region. | |
23 virtual void Invalidate() = 0; | |
24 | |
25 // Invalidates a partial region of the plugin. | |
26 virtual void InvalidateRect(const WebKit::WebRect&) = 0; | |
27 | |
28 // Scrolls a partial region of the plugin in the given direction. | |
29 virtual void ScrollRect(int dx, int dy, const WebKit::WebRect&) = 0; | |
30 | |
31 // Destroys the fullscreen window. This also destroys the FullscreenContainer | |
32 // instance. | |
33 virtual void Destroy() = 0; | |
34 | |
35 // Notifies the container that the mouse cursor has changed. | |
36 virtual void DidChangeCursor(const WebKit::WebCursorInfo& cursor) = 0; | |
37 | |
38 virtual void SetLayer(WebKit::WebLayer* layer) = 0; | |
39 | |
40 protected: | |
41 virtual ~FullscreenContainer() {} | |
42 }; | |
43 | |
44 } // namespace ppapi | |
45 } // namespace webkit | |
46 | |
47 #endif // WEBKIT_PLUGINS_PPAPI_PPB_FULLSCREEN_CONTAINER_IMPL_H_ | |
OLD | NEW |