diff options
author | polina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-14 21:59:17 +0000 |
---|---|---|
committer | polina@google.com <polina@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-10-14 21:59:17 +0000 |
commit | 6570e56784b0970646c5c4c704e155015400a032 (patch) | |
tree | 6b3adbd125f753a275233834545bedee2a4c8302 /ppapi/cpp | |
parent | d280ab686b2dbfe743bbaa7d39e9d2f03af82e31 (diff) | |
download | chromium_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.cc | 50 | ||||
-rw-r--r-- | ppapi/cpp/fullscreen.h | 29 |
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_ |