blob: 0599e186943da957c972aaec775f6bc0c785bf4e [file] [log] [blame]
/* Copyright (c) 2012 The Chromium Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/**
* This file defines the <code>PPB_Fullscreen</code> interface for
* handling transitions of a module instance to and from fullscreen mode.
*/
[generate_thunk]
label Chrome {
M16 = 1.0
};
/**
* The <code>PPB_Fullscreen</code> interface is implemented by the browser.
* This interface provides a way of checking the current screen mode and
* toggling fullscreen mode.
*/
interface PPB_Fullscreen {
/**
* IsFullscreen() checks whether the module instance is currently in
* fullscreen mode.
*
* @param[in] instance A <code>PP_Instance</code> identifying one instance
* of a module.
*
* @return <code>PP_TRUE</code> if the module instance is in fullscreen mode,
* <code>PP_FALSE</code> if the module instance is not in fullscreen mode.
*/
PP_Bool IsFullscreen(
[in] PP_Instance instance);
/**
* SetFullscreen() switches the module instance to and from fullscreen
* mode.
*
* The transition to and from fullscreen mode is asynchronous. During the
* transition, IsFullscreen() will return the previous value and
* no 2D or 3D device can be bound. The transition ends at DidChangeView()
* when IsFullscreen() returns the new value. You might receive other
* DidChangeView() calls while in transition.
*
* The transition to fullscreen mode can only occur while the browser is
* processing a user gesture, even if <code>PP_TRUE</code> is returned.
*
* @param[in] instance A <code>PP_Instance</code> identifying one instance
* of a module.
* @param[in] fullscreen <code>PP_TRUE</code> to enter fullscreen mode, or
* <code>PP_FALSE</code> to exit fullscreen mode.
*
* @return <code>PP_TRUE</code> on success or <code>PP_FALSE</code> on
* failure.
*/
PP_Bool SetFullscreen(
[in] PP_Instance instance,
[in] PP_Bool fullscreen);
/**
* GetScreenSize() gets the size of the screen in pixels. The module instance
* will be resized to this size when SetFullscreen() is called to enter
* fullscreen mode.
*
* @param[in] instance A <code>PP_Instance</code> identifying one instance
* of a module.
* @param[out] size The size of the entire screen in pixels.
*
* @return <code>PP_TRUE</code> on success or <code>PP_FALSE</code> on
* failure.
*/
PP_Bool GetScreenSize(
[in] PP_Instance instance,
[out] PP_Size size);
};