diff options
Diffstat (limited to 'ppapi/thunk/ppb_view_thunk.cc')
-rw-r--r-- | ppapi/thunk/ppb_view_thunk.cc | 82 |
1 files changed, 27 insertions, 55 deletions
diff --git a/ppapi/thunk/ppb_view_thunk.cc b/ppapi/thunk/ppb_view_thunk.cc index c9a88b7..1aa16e6 100644 --- a/ppapi/thunk/ppb_view_thunk.cc +++ b/ppapi/thunk/ppb_view_thunk.cc @@ -2,11 +2,15 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "ppapi/c/dev/ppb_view_dev.h" +// From ppb_view.idl modified Fri Feb 8 14:28:54 2013. + +#include "ppapi/c/pp_errors.h" #include "ppapi/c/ppb_view.h" -#include "ppapi/shared_impl/ppb_view_shared.h" +#include "ppapi/shared_impl/tracked_callback.h" #include "ppapi/thunk/enter.h" +#include "ppapi/thunk/ppb_instance_api.h" #include "ppapi/thunk/ppb_view_api.h" +#include "ppapi/thunk/resource_creation_api.h" #include "ppapi/thunk/thunk.h" namespace ppapi { @@ -14,91 +18,59 @@ namespace thunk { namespace { -typedef EnterResource<PPB_View_API> EnterView; - -bool IsRectVisible(const PP_Rect& rect) { - return rect.size.width > 0 && rect.size.height > 0; -} - PP_Bool IsView(PP_Resource resource) { - EnterView enter(resource, false); - return enter.succeeded() ? PP_TRUE : PP_FALSE; + EnterResource<PPB_View_API> enter(resource, false); + return PP_FromBool(enter.succeeded()); } -PP_Bool GetRect(PP_Resource resource, PP_Rect* viewport) { - EnterView enter(resource, true); - if (enter.failed() || !viewport) +PP_Bool GetRect(PP_Resource resource, struct PP_Rect* rect) { + EnterResource<PPB_View_API> enter(resource, true); + if (enter.failed()) return PP_FALSE; - *viewport = enter.object()->GetData().rect; - return PP_TRUE; + return enter.object()->GetRect(rect); } PP_Bool IsFullscreen(PP_Resource resource) { - EnterView enter(resource, true); + EnterResource<PPB_View_API> enter(resource, true); if (enter.failed()) return PP_FALSE; - return PP_FromBool(enter.object()->GetData().is_fullscreen); + return enter.object()->IsFullscreen(); } -PP_Bool IsUserVisible(PP_Resource resource) { - EnterView enter(resource, true); +PP_Bool IsVisible(PP_Resource resource) { + EnterResource<PPB_View_API> enter(resource, true); if (enter.failed()) return PP_FALSE; - return PP_FromBool(enter.object()->GetData().is_page_visible && - IsRectVisible(enter.object()->GetData().clip_rect)); + return enter.object()->IsVisible(); } PP_Bool IsPageVisible(PP_Resource resource) { - EnterView enter(resource, true); + EnterResource<PPB_View_API> enter(resource, true); if (enter.failed()) return PP_FALSE; - return PP_FromBool(enter.object()->GetData().is_page_visible); -} - -PP_Bool GetClipRect(PP_Resource resource, PP_Rect* clip) { - EnterView enter(resource, true); - if (enter.failed() || !clip) - return PP_FALSE; - *clip = enter.object()->GetData().clip_rect; - return PP_TRUE; + return enter.object()->IsPageVisible(); } -float GetDeviceScale(PP_Resource resource) { - EnterView enter(resource, true); +PP_Bool GetClipRect(PP_Resource resource, struct PP_Rect* clip) { + EnterResource<PPB_View_API> enter(resource, true); if (enter.failed()) - return 0.0f; - return enter.object()->GetData().device_scale; -} - -float GetCSSScale(PP_Resource resource) { - EnterView enter(resource, true); - if (enter.failed()) - return 0.0f; - return enter.object()->GetData().css_scale; + return PP_FALSE; + return enter.object()->GetClipRect(clip); } -const PPB_View g_ppb_view_thunk = { +const PPB_View_1_0 g_ppb_view_thunk_1_0 = { &IsView, &GetRect, &IsFullscreen, - &IsUserVisible, + &IsVisible, &IsPageVisible, &GetClipRect }; -const PPB_View_Dev g_ppb_view_dev_thunk = { - &GetDeviceScale, - &GetCSSScale -}; - } // namespace -const PPB_View* GetPPB_View_1_0_Thunk() { - return &g_ppb_view_thunk; -} - -const PPB_View_Dev* GetPPB_View_Dev_0_1_Thunk() { - return &g_ppb_view_dev_thunk; +const PPB_View_1_0* GetPPB_View_1_0_Thunk() { + return &g_ppb_view_thunk_1_0; } } // namespace thunk |