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.
5 #ifndef CONTENT_RENDERER_PEPPER_FULLSCREEN_CONTAINER_H_
6 #define CONTENT_RENDERER_PEPPER_FULLSCREEN_CONTAINER_H_
16 // This class is like a lightweight WebPluginContainer for fullscreen PPAPI
17 // plugins, that only handles painting.
18 class FullscreenContainer
{
20 // Invalidates the full plugin region.
21 virtual void Invalidate() = 0;
23 // Invalidates a partial region of the plugin.
24 virtual void InvalidateRect(const blink::WebRect
&) = 0;
26 // Scrolls a partial region of the plugin in the given direction.
27 virtual void ScrollRect(int dx
, int dy
, const blink::WebRect
&) = 0;
29 // Destroys the fullscreen window. This also destroys the FullscreenContainer
31 virtual void Destroy() = 0;
33 // Notifies the container that the mouse cursor has changed.
34 virtual void DidChangeCursor(const blink::WebCursorInfo
& cursor
) = 0;
36 virtual void SetLayer(blink::WebLayer
* layer
) = 0;
39 virtual ~FullscreenContainer() {}
42 } // namespace content
44 #endif // CONTENT_RENDERER_PEPPER_FULLSCREEN_CONTAINER_H_