summaryrefslogtreecommitdiffstats
path: root/ppapi/cpp
diff options
context:
space:
mode:
authorpolina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-14 21:59:17 +0000
committerpolina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2011-10-14 21:59:17 +0000
commit6570e56784b0970646c5c4c704e155015400a032 (patch)
tree6b3adbd125f753a275233834545bedee2a4c8302 /ppapi/cpp
parentd280ab686b2dbfe743bbaa7d39e9d2f03af82e31 (diff)
downloadchromium_src-6570e56784b0970646c5c4c704e155015400a032.zip
chromium_src-6570e56784b0970646c5c4c704e155015400a032.tar.gz
chromium_src-6570e56784b0970646c5c4c704e155015400a032.tar.bz2
PPAPI Fullscreen: move out of Dev.
BUG=41780 TEST=in CL Review URL: http://codereview.chromium.org/8291002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@105590 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi/cpp')
-rw-r--r--ppapi/cpp/fullscreen.cc50
-rw-r--r--ppapi/cpp/fullscreen.h29
2 files changed, 79 insertions, 0 deletions
diff --git a/ppapi/cpp/fullscreen.cc b/ppapi/cpp/fullscreen.cc
new file mode 100644
index 0000000..1c751cc6
--- /dev/null
+++ b/ppapi/cpp/fullscreen.cc
@@ -0,0 +1,50 @@
+// Copyright (c) 2011 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.
+
+#include "ppapi/cpp/fullscreen.h"
+
+#include "ppapi/c/ppb_fullscreen.h"
+#include "ppapi/cpp/instance.h"
+#include "ppapi/cpp/module.h"
+#include "ppapi/cpp/module_impl.h"
+#include "ppapi/cpp/size.h"
+
+namespace pp {
+
+namespace {
+
+template <> const char* interface_name<PPB_Fullscreen>() {
+ return PPB_FULLSCREEN_INTERFACE;
+}
+
+} // namespace
+
+Fullscreen::Fullscreen(Instance* instance)
+ : instance_(instance) {
+}
+
+Fullscreen::~Fullscreen() {
+}
+
+bool Fullscreen::IsFullscreen() {
+ return has_interface<PPB_Fullscreen>() &&
+ get_interface<PPB_Fullscreen>()->IsFullscreen(
+ instance_->pp_instance());
+}
+
+bool Fullscreen::SetFullscreen(bool fullscreen) {
+ if (!has_interface<PPB_Fullscreen>())
+ return false;
+ return PP_ToBool(get_interface<PPB_Fullscreen>()->SetFullscreen(
+ instance_->pp_instance(), PP_FromBool(fullscreen)));
+}
+
+bool Fullscreen::GetScreenSize(Size* size) {
+ if (!has_interface<PPB_Fullscreen>())
+ return false;
+ return PP_ToBool(get_interface<PPB_Fullscreen>()->GetScreenSize(
+ instance_->pp_instance(), &size->pp_size()));
+}
+
+} // namespace pp
diff --git a/ppapi/cpp/fullscreen.h b/ppapi/cpp/fullscreen.h
new file mode 100644
index 0000000..cb6a4f3
--- /dev/null
+++ b/ppapi/cpp/fullscreen.h
@@ -0,0 +1,29 @@
+// Copyright (c) 2011 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.
+
+#ifndef PPAPI_CPP_FULLSCREEN_H_
+#define PPAPI_CPP_FULLSCREEN_H_
+
+namespace pp {
+
+class Instance;
+class Size;
+
+class Fullscreen {
+ public:
+ Fullscreen(Instance* instance);
+ virtual ~Fullscreen();
+
+ // PPB_Fullscreen methods.
+ bool IsFullscreen();
+ bool SetFullscreen(bool fullscreen);
+ bool GetScreenSize(Size* size);
+
+ private:
+ Instance* instance_;
+};
+
+} // namespace pp
+
+#endif // PPAPI_CPP_FULLSCREEN_H_