summaryrefslogtreecommitdiff
path: root/chromium/ppapi/cpp/view.cc
diff options
context:
space:
mode:
authorZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
committerZeno Albisser <zeno.albisser@digia.com>2013-08-15 21:46:11 +0200
commit679147eead574d186ebf3069647b4c23e8ccace6 (patch)
treefc247a0ac8ff119f7c8550879ebb6d3dd8d1ff69 /chromium/ppapi/cpp/view.cc
downloadqtwebengine-chromium-679147eead574d186ebf3069647b4c23e8ccace6.tar.gz
Initial import.
Diffstat (limited to 'chromium/ppapi/cpp/view.cc')
-rw-r--r--chromium/ppapi/cpp/view.cc98
1 files changed, 98 insertions, 0 deletions
diff --git a/chromium/ppapi/cpp/view.cc b/chromium/ppapi/cpp/view.cc
new file mode 100644
index 00000000000..ce347859d70
--- /dev/null
+++ b/chromium/ppapi/cpp/view.cc
@@ -0,0 +1,98 @@
+// 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.
+
+#include "ppapi/cpp/view.h"
+
+#include "ppapi/c/ppb_view.h"
+#include "ppapi/cpp/module_impl.h"
+
+namespace pp {
+
+namespace {
+
+template <> const char* interface_name<PPB_View_1_0>() {
+ return PPB_VIEW_INTERFACE_1_0;
+}
+
+template <> const char* interface_name<PPB_View_1_1>() {
+ return PPB_VIEW_INTERFACE_1_1;
+}
+
+} // namespace
+
+View::View() : Resource() {
+}
+
+View::View(PP_Resource view_resource) : Resource(view_resource) {
+}
+
+Rect View::GetRect() const {
+ PP_Rect out;
+ if (has_interface<PPB_View_1_1>()) {
+ if (PP_ToBool(get_interface<PPB_View_1_1>()->GetRect(pp_resource(), &out)))
+ return Rect(out);
+ } else if (has_interface<PPB_View_1_0>()) {
+ if (PP_ToBool(get_interface<PPB_View_1_0>()->GetRect(pp_resource(), &out)))
+ return Rect(out);
+ }
+ return Rect();
+}
+
+bool View::IsFullscreen() const {
+ if (has_interface<PPB_View_1_1>()) {
+ return PP_ToBool(get_interface<PPB_View_1_1>()->IsFullscreen(
+ pp_resource()));
+ } else if (has_interface<PPB_View_1_0>()) {
+ return PP_ToBool(get_interface<PPB_View_1_0>()->IsFullscreen(
+ pp_resource()));
+ }
+ return false;
+}
+
+bool View::IsVisible() const {
+ if (has_interface<PPB_View_1_1>())
+ return PP_ToBool(get_interface<PPB_View_1_1>()->IsVisible(pp_resource()));
+ else if (has_interface<PPB_View_1_0>())
+ return PP_ToBool(get_interface<PPB_View_1_0>()->IsVisible(pp_resource()));
+ return false;
+}
+
+bool View::IsPageVisible() const {
+ if (has_interface<PPB_View_1_1>()) {
+ return PP_ToBool(get_interface<PPB_View_1_1>()->IsPageVisible(
+ pp_resource()));
+ } else if (has_interface<PPB_View_1_0>()) {
+ return PP_ToBool(get_interface<PPB_View_1_0>()->IsPageVisible(
+ pp_resource()));
+ }
+ return true;
+}
+
+Rect View::GetClipRect() const {
+ PP_Rect out;
+ if (has_interface<PPB_View_1_1>()) {
+ if (PP_ToBool(get_interface<PPB_View_1_1>()->GetClipRect(pp_resource(),
+ &out)))
+ return Rect(out);
+ } else if (has_interface<PPB_View_1_0>()) {
+ if (PP_ToBool(get_interface<PPB_View_1_0>()->GetClipRect(pp_resource(),
+ &out)))
+ return Rect(out);
+ }
+ return Rect();
+}
+
+float View::GetDeviceScale() const {
+ if (has_interface<PPB_View_1_1>())
+ return get_interface<PPB_View_1_1>()->GetDeviceScale(pp_resource());
+ return 1.0f;
+}
+
+float View::GetCSSScale() const {
+ if (has_interface<PPB_View_1_1>())
+ return get_interface<PPB_View_1_1>()->GetCSSScale(pp_resource());
+ return 1.0f;
+}
+
+} // namespace pp