OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/thunk/thunk.h" | 5 #include "ppapi/thunk/thunk.h" |
6 #include "ppapi/thunk/enter.h" | 6 #include "ppapi/thunk/enter.h" |
7 #include "ppapi/thunk/ppb_scrollbar_api.h" | 7 #include "ppapi/thunk/ppb_scrollbar_api.h" |
8 #include "ppapi/thunk/resource_creation_api.h" | 8 #include "ppapi/thunk/resource_creation_api.h" |
9 | 9 |
10 namespace ppapi { | 10 namespace ppapi { |
11 namespace thunk { | 11 namespace thunk { |
12 | 12 |
13 typedef EnterResource<PPB_Scrollbar_API> EnterScrollbar; | 13 typedef EnterResource<PPB_Scrollbar_API> EnterScrollbar; |
14 | 14 |
15 namespace { | 15 namespace { |
16 | 16 |
17 PP_Resource Create(PP_Instance instance, PP_Bool vertical) { | 17 PP_Resource Create(PP_Instance instance, |
| 18 PP_Instance scrollbar_group, |
| 19 PP_Bool vertical) { |
18 EnterFunction<ResourceCreationAPI> enter(instance, true); | 20 EnterFunction<ResourceCreationAPI> enter(instance, true); |
19 if (enter.failed()) | 21 if (enter.failed()) |
20 return 0; | 22 return 0; |
21 return enter.functions()->CreateScrollbar(instance, vertical); | 23 return enter.functions()->CreateScrollbar( |
| 24 instance, scrollbar_group, vertical); |
22 } | 25 } |
23 | 26 |
24 PP_Bool IsScrollbar(PP_Resource resource) { | 27 PP_Bool IsScrollbar(PP_Resource resource) { |
25 EnterScrollbar enter(resource, false); | 28 EnterScrollbar enter(resource, false); |
26 return PP_FromBool(enter.succeeded()); | 29 return PP_FromBool(enter.succeeded()); |
27 } | 30 } |
28 | 31 |
29 uint32_t GetThickness(PP_Resource scrollbar) { | 32 uint32_t GetThickness(PP_Resource scrollbar) { |
30 EnterScrollbar enter(scrollbar, true); | 33 EnterScrollbar enter(scrollbar, true); |
31 if (enter.failed()) | 34 if (enter.failed()) |
32 return 0; | 35 return 0; |
33 return enter.object()->GetThickness(); | 36 return enter.object()->GetThickness(); |
34 } | 37 } |
35 | 38 |
| 39 PP_Bool IsOverlay(PP_Resource scrollbar) { |
| 40 EnterScrollbar enter(scrollbar, true); |
| 41 if (enter.failed()) |
| 42 return PP_FALSE; |
| 43 return PP_FromBool(enter.object()->IsOverlay()); |
| 44 } |
| 45 |
36 uint32_t GetValue(PP_Resource scrollbar) { | 46 uint32_t GetValue(PP_Resource scrollbar) { |
37 EnterScrollbar enter(scrollbar, true); | 47 EnterScrollbar enter(scrollbar, true); |
38 if (enter.failed()) | 48 if (enter.failed()) |
39 return 0; | 49 return 0; |
40 return enter.object()->GetValue(); | 50 return enter.object()->GetValue(); |
41 } | 51 } |
42 | 52 |
43 void SetValue(PP_Resource scrollbar, uint32_t value) { | 53 void SetValue(PP_Resource scrollbar, uint32_t value) { |
44 EnterScrollbar enter(scrollbar, true); | 54 EnterScrollbar enter(scrollbar, true); |
45 if (enter.succeeded()) | 55 if (enter.succeeded()) |
(...skipping 13 matching lines...) Expand all Loading... |
59 if (enter.succeeded()) | 69 if (enter.succeeded()) |
60 enter.object()->SetTickMarks(tick_marks, count); | 70 enter.object()->SetTickMarks(tick_marks, count); |
61 } | 71 } |
62 | 72 |
63 void ScrollBy(PP_Resource scrollbar, PP_ScrollBy_Dev unit, int32_t multiplier) { | 73 void ScrollBy(PP_Resource scrollbar, PP_ScrollBy_Dev unit, int32_t multiplier) { |
64 EnterScrollbar enter(scrollbar, true); | 74 EnterScrollbar enter(scrollbar, true); |
65 if (enter.succeeded()) | 75 if (enter.succeeded()) |
66 enter.object()->ScrollBy(unit, multiplier); | 76 enter.object()->ScrollBy(unit, multiplier); |
67 } | 77 } |
68 | 78 |
69 const PPB_Scrollbar_0_4_Dev g_ppb_scrollbar_thunk = { | 79 const PPB_Scrollbar_Dev g_ppb_scrollbar_thunk = { |
70 &Create, | 80 &Create, |
71 &IsScrollbar, | 81 &IsScrollbar, |
72 &GetThickness, | 82 &GetThickness, |
| 83 &IsOverlay, |
73 &GetValue, | 84 &GetValue, |
74 &SetValue, | 85 &SetValue, |
75 &SetDocumentSize, | 86 &SetDocumentSize, |
76 &SetTickMarks, | 87 &SetTickMarks, |
77 &ScrollBy | 88 &ScrollBy |
78 }; | 89 }; |
79 | 90 |
80 } // namespace | 91 } // namespace |
81 | 92 |
82 const PPB_Scrollbar_0_4_Dev* GetPPB_Scrollbar_Thunk() { | 93 const PPB_Scrollbar_Dev* GetPPB_Scrollbar_Thunk() { |
83 return &g_ppb_scrollbar_thunk; | 94 return &g_ppb_scrollbar_thunk; |
84 } | 95 } |
85 | 96 |
86 } // namespace thunk | 97 } // namespace thunk |
87 } // namespace ppapi | 98 } // namespace ppapi |
OLD | NEW |