Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(170)

Side by Side Diff: ppapi/thunk/ppb_view_thunk.cc

Issue 12220082: IDL: Autogenerate thunk .cc file for PPB_View (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ppapi/thunk/ppb_view_dev_thunk.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ppapi/c/dev/ppb_view_dev.h" 5 // From ppb_view.idl modified Fri Feb 8 14:28:54 2013.
6
7 #include "ppapi/c/pp_errors.h"
6 #include "ppapi/c/ppb_view.h" 8 #include "ppapi/c/ppb_view.h"
7 #include "ppapi/shared_impl/ppb_view_shared.h" 9 #include "ppapi/shared_impl/tracked_callback.h"
8 #include "ppapi/thunk/enter.h" 10 #include "ppapi/thunk/enter.h"
11 #include "ppapi/thunk/ppb_instance_api.h"
9 #include "ppapi/thunk/ppb_view_api.h" 12 #include "ppapi/thunk/ppb_view_api.h"
13 #include "ppapi/thunk/resource_creation_api.h"
10 #include "ppapi/thunk/thunk.h" 14 #include "ppapi/thunk/thunk.h"
11 15
12 namespace ppapi { 16 namespace ppapi {
13 namespace thunk { 17 namespace thunk {
14 18
15 namespace { 19 namespace {
16 20
17 typedef EnterResource<PPB_View_API> EnterView; 21 PP_Bool IsView(PP_Resource resource) {
18 22 EnterResource<PPB_View_API> enter(resource, false);
19 bool IsRectVisible(const PP_Rect& rect) { 23 return PP_FromBool(enter.succeeded());
20 return rect.size.width > 0 && rect.size.height > 0;
21 } 24 }
22 25
23 PP_Bool IsView(PP_Resource resource) { 26 PP_Bool GetRect(PP_Resource resource, struct PP_Rect* rect) {
24 EnterView enter(resource, false); 27 EnterResource<PPB_View_API> enter(resource, true);
25 return enter.succeeded() ? PP_TRUE : PP_FALSE; 28 if (enter.failed())
26 }
27
28 PP_Bool GetRect(PP_Resource resource, PP_Rect* viewport) {
29 EnterView enter(resource, true);
30 if (enter.failed() || !viewport)
31 return PP_FALSE; 29 return PP_FALSE;
32 *viewport = enter.object()->GetData().rect; 30 return enter.object()->GetRect(rect);
33 return PP_TRUE;
34 } 31 }
35 32
36 PP_Bool IsFullscreen(PP_Resource resource) { 33 PP_Bool IsFullscreen(PP_Resource resource) {
37 EnterView enter(resource, true); 34 EnterResource<PPB_View_API> enter(resource, true);
38 if (enter.failed()) 35 if (enter.failed())
39 return PP_FALSE; 36 return PP_FALSE;
40 return PP_FromBool(enter.object()->GetData().is_fullscreen); 37 return enter.object()->IsFullscreen();
41 } 38 }
42 39
43 PP_Bool IsUserVisible(PP_Resource resource) { 40 PP_Bool IsVisible(PP_Resource resource) {
44 EnterView enter(resource, true); 41 EnterResource<PPB_View_API> enter(resource, true);
45 if (enter.failed()) 42 if (enter.failed())
46 return PP_FALSE; 43 return PP_FALSE;
47 return PP_FromBool(enter.object()->GetData().is_page_visible && 44 return enter.object()->IsVisible();
48 IsRectVisible(enter.object()->GetData().clip_rect));
49 } 45 }
50 46
51 PP_Bool IsPageVisible(PP_Resource resource) { 47 PP_Bool IsPageVisible(PP_Resource resource) {
52 EnterView enter(resource, true); 48 EnterResource<PPB_View_API> enter(resource, true);
53 if (enter.failed()) 49 if (enter.failed())
54 return PP_FALSE; 50 return PP_FALSE;
55 return PP_FromBool(enter.object()->GetData().is_page_visible); 51 return enter.object()->IsPageVisible();
56 } 52 }
57 53
58 PP_Bool GetClipRect(PP_Resource resource, PP_Rect* clip) { 54 PP_Bool GetClipRect(PP_Resource resource, struct PP_Rect* clip) {
59 EnterView enter(resource, true); 55 EnterResource<PPB_View_API> enter(resource, true);
60 if (enter.failed() || !clip) 56 if (enter.failed())
61 return PP_FALSE; 57 return PP_FALSE;
62 *clip = enter.object()->GetData().clip_rect; 58 return enter.object()->GetClipRect(clip);
63 return PP_TRUE;
64 } 59 }
65 60
66 float GetDeviceScale(PP_Resource resource) { 61 const PPB_View_1_0 g_ppb_view_thunk_1_0 = {
67 EnterView enter(resource, true);
68 if (enter.failed())
69 return 0.0f;
70 return enter.object()->GetData().device_scale;
71 }
72
73 float GetCSSScale(PP_Resource resource) {
74 EnterView enter(resource, true);
75 if (enter.failed())
76 return 0.0f;
77 return enter.object()->GetData().css_scale;
78 }
79
80 const PPB_View g_ppb_view_thunk = {
81 &IsView, 62 &IsView,
82 &GetRect, 63 &GetRect,
83 &IsFullscreen, 64 &IsFullscreen,
84 &IsUserVisible, 65 &IsVisible,
85 &IsPageVisible, 66 &IsPageVisible,
86 &GetClipRect 67 &GetClipRect
87 }; 68 };
88 69
89 const PPB_View_Dev g_ppb_view_dev_thunk = {
90 &GetDeviceScale,
91 &GetCSSScale
92 };
93
94 } // namespace 70 } // namespace
95 71
96 const PPB_View* GetPPB_View_1_0_Thunk() { 72 const PPB_View_1_0* GetPPB_View_1_0_Thunk() {
97 return &g_ppb_view_thunk; 73 return &g_ppb_view_thunk_1_0;
98 }
99
100 const PPB_View_Dev* GetPPB_View_Dev_0_1_Thunk() {
101 return &g_ppb_view_dev_thunk;
102 } 74 }
103 75
104 } // namespace thunk 76 } // namespace thunk
105 } // namespace ppapi 77 } // namespace ppapi
OLDNEW
« no previous file with comments | « ppapi/thunk/ppb_view_dev_thunk.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698