OLD | NEW |
1 // Copyright (c) 2010 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 #ifndef PPAPI_PROXY_PPB_FONT_PROXY_H_ | 5 #ifndef PPAPI_PROXY_PPB_FONT_PROXY_H_ |
6 #define PPAPI_PROXY_PPB_FONT_PROXY_H_ | 6 #define PPAPI_PROXY_PPB_FONT_PROXY_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "ppapi/c/pp_instance.h" | 9 #include "ppapi/c/pp_instance.h" |
10 #include "ppapi/c/pp_resource.h" | 10 #include "ppapi/c/pp_resource.h" |
| 11 #include "ppapi/proxy/host_resource.h" |
11 #include "ppapi/proxy/interface_proxy.h" | 12 #include "ppapi/proxy/interface_proxy.h" |
12 | 13 |
13 struct PPB_Font_Dev; | 14 struct PPB_Font_Dev; |
14 | 15 |
15 namespace pp { | 16 namespace pp { |
16 namespace proxy { | 17 namespace proxy { |
17 | 18 |
18 struct PPBFont_DrawTextAt_Params; | 19 struct PPBFont_DrawTextAt_Params; |
19 struct SerializedFontDescription; | 20 struct SerializedFontDescription; |
20 class SerializedVarReceiveInput; | 21 class SerializedVarReceiveInput; |
21 | 22 |
22 class PPB_Font_Proxy : public InterfaceProxy { | 23 class PPB_Font_Proxy : public InterfaceProxy { |
23 public: | 24 public: |
24 PPB_Font_Proxy(Dispatcher* dispatcher, const void* target_interface); | 25 PPB_Font_Proxy(Dispatcher* dispatcher, const void* target_interface); |
25 virtual ~PPB_Font_Proxy(); | 26 virtual ~PPB_Font_Proxy(); |
26 | 27 |
27 const PPB_Font_Dev* ppb_font_target() const { | 28 const PPB_Font_Dev* ppb_font_target() const { |
28 return static_cast<const PPB_Font_Dev*>(target_interface()); | 29 return static_cast<const PPB_Font_Dev*>(target_interface()); |
29 } | 30 } |
30 | 31 |
31 // InterfaceProxy implementation. | 32 // InterfaceProxy implementation. |
32 virtual const void* GetSourceInterface() const; | 33 virtual const void* GetSourceInterface() const; |
33 virtual InterfaceID GetInterfaceId() const; | 34 virtual InterfaceID GetInterfaceId() const; |
34 virtual bool OnMessageReceived(const IPC::Message& msg); | 35 virtual bool OnMessageReceived(const IPC::Message& msg); |
35 | 36 |
36 private: | 37 private: |
37 // Message handlers. | 38 // Message handlers. |
38 void OnMsgCreate(PP_Instance instance, | 39 void OnMsgCreate(PP_Instance instance, |
39 const SerializedFontDescription& in_description, | 40 const SerializedFontDescription& in_description, |
40 PP_Resource* result, | 41 HostResource* result, |
41 SerializedFontDescription* out_description, | 42 SerializedFontDescription* out_description, |
42 std::string* out_metrics); | 43 std::string* out_metrics); |
43 void OnMsgDrawTextAt(SerializedVarReceiveInput text, | 44 void OnMsgDrawTextAt(SerializedVarReceiveInput text, |
44 const PPBFont_DrawTextAt_Params& params, | 45 const PPBFont_DrawTextAt_Params& params, |
45 PP_Bool* result); | 46 PP_Bool* result); |
46 void OnMsgMeasureText(PP_Resource font, | 47 void OnMsgMeasureText(HostResource font, |
47 SerializedVarReceiveInput text, | 48 SerializedVarReceiveInput text, |
48 PP_Bool text_is_rtl, | 49 PP_Bool text_is_rtl, |
49 PP_Bool override_direction, | 50 PP_Bool override_direction, |
50 int32_t* result); | 51 int32_t* result); |
51 void OnMsgCharacterOffsetForPixel(PP_Resource font, | 52 void OnMsgCharacterOffsetForPixel(HostResource font, |
52 SerializedVarReceiveInput text, | 53 SerializedVarReceiveInput text, |
53 PP_Bool text_is_rtl, | 54 PP_Bool text_is_rtl, |
54 PP_Bool override_direction, | 55 PP_Bool override_direction, |
55 int32_t pixel_pos, | 56 int32_t pixel_pos, |
56 uint32_t* result); | 57 uint32_t* result); |
57 void OnMsgPixelOffsetForCharacter(PP_Resource font, | 58 void OnMsgPixelOffsetForCharacter(HostResource font, |
58 SerializedVarReceiveInput text, | 59 SerializedVarReceiveInput text, |
59 PP_Bool text_is_rtl, | 60 PP_Bool text_is_rtl, |
60 PP_Bool override_direction, | 61 PP_Bool override_direction, |
61 uint32_t char_offset, | 62 uint32_t char_offset, |
62 int32_t* result); | 63 int32_t* result); |
63 | 64 |
64 DISALLOW_COPY_AND_ASSIGN(PPB_Font_Proxy); | 65 DISALLOW_COPY_AND_ASSIGN(PPB_Font_Proxy); |
65 }; | 66 }; |
66 | 67 |
67 } // namespace proxy | 68 } // namespace proxy |
68 } // namespace pp | 69 } // namespace pp |
69 | 70 |
70 #endif // PPAPI_PROXY_PPB_FONT_PROXY_H_ | 71 #endif // PPAPI_PROXY_PPB_FONT_PROXY_H_ |
OLD | NEW |