Pepper_42_C++_interfaces
fullscreen.h
Go to the documentation of this file.
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 PPAPI_CPP_FULLSCREEN_H_
6 #define PPAPI_CPP_FULLSCREEN_H_
7 
8 #include "ppapi/cpp/instance_handle.h"
9 
10 /// @file
11 /// This file defines the API for handling transitions of a module instance to
12 /// and from fullscreen mode.
13 
14 namespace pp {
15 
16 class Size;
17 
18 /// The Fullscreen class allowing you to check and toggle fullscreen mode.
19 class Fullscreen {
20  public:
21  /// A constructor for creating a <code>Fullscreen</code>.
22  ///
23  /// @param[in] instance The instance with which this resource will be
24  /// associated.
25  explicit Fullscreen(const InstanceHandle& instance);
26 
27  /// Destructor.
28  virtual ~Fullscreen();
29 
30  /// IsFullscreen() checks whether the module instance is currently in
31  /// fullscreen mode.
32  ///
33  /// @return <code>true</code> if the module instance is in fullscreen mode,
34  /// <code>false</code> if the module instance is not in fullscreen mode.
35  bool IsFullscreen();
36 
37  /// SetFullscreen() switches the module instance to and from fullscreen
38  /// mode.
39  ///
40  /// The transition to and from fullscreen mode is asynchronous. During the
41  /// transition, IsFullscreen() will return the previous value and
42  /// no 2D or 3D device can be bound. The transition ends at DidChangeView()
43  /// when IsFullscreen() returns the new value. You might receive other
44  /// DidChangeView() calls while in transition.
45  ///
46  /// The transition to fullscreen mode can only occur while the browser is
47  /// processing a user gesture, even if <code>true</code> is returned.
48  ///
49  /// @param[in] fullscreen <code>true</code> to enter fullscreen mode, or
50  /// <code>false</code> to exit fullscreen mode.
51  ///
52  /// @return <code>true</code> on success or <code>false</code> on
53  /// failure.
54  bool SetFullscreen(bool fullscreen);
55 
56  /// GetScreenSize() gets the size of the screen in pixels. The module instance
57  /// will be resized to this size when SetFullscreen() is called to enter
58  /// fullscreen mode.
59  ///
60  /// @param[out] size The size of the entire screen in pixels.
61  ///
62  /// @return <code>true</code> on success or <code>false</code> on
63  /// failure.
64  bool GetScreenSize(Size* size);
65 
66  private:
67  InstanceHandle instance_;
68 };
69 
70 } // namespace pp
71 
72 #endif // PPAPI_CPP_FULLSCREEN_H_
virtual ~Fullscreen()
Destructor.
The Fullscreen class allowing you to check and toggle fullscreen mode.
Definition: fullscreen.h:19
bool IsFullscreen()
bool GetScreenSize(Size *size)
A size of an object based on width and height.
Definition: size.h:18
Fullscreen(const InstanceHandle &instance)
bool SetFullscreen(bool fullscreen)