- add sources.
[platform/framework/web/crosswalk.git] / src / ppapi / proxy / serialized_structs.cc
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
3 // found in the LICENSE file.
4
5 #include "ppapi/proxy/serialized_structs.h"
6
7 #include "base/pickle.h"
8 #include "build/build_config.h"
9 #include "ppapi/c/dev/ppb_font_dev.h"
10 #include "ppapi/c/pp_file_info.h"
11 #include "ppapi/c/pp_rect.h"
12 #include "ppapi/c/trusted/ppb_browser_font_trusted.h"
13 #include "ppapi/shared_impl/var.h"
14
15 namespace ppapi {
16 namespace proxy {
17
18 SerializedFontDescription::SerializedFontDescription()
19     : face(),
20       family(0),
21       size(0),
22       weight(0),
23       italic(PP_FALSE),
24       small_caps(PP_FALSE),
25       letter_spacing(0),
26       word_spacing(0) {
27 }
28
29 SerializedFontDescription::~SerializedFontDescription() {}
30
31 void SerializedFontDescription::SetFromPPFontDescription(
32     const PP_FontDescription_Dev& desc) {
33   StringVar* string_var = StringVar::FromPPVar(desc.face);
34   face = string_var ? string_var->value() : std::string();
35
36   family = desc.family;
37   size = desc.size;
38   weight = desc.weight;
39   italic = desc.italic;
40   small_caps = desc.small_caps;
41   letter_spacing = desc.letter_spacing;
42   word_spacing = desc.word_spacing;
43 }
44
45 void SerializedFontDescription::SetFromPPBrowserFontDescription(
46     const PP_BrowserFont_Trusted_Description& desc) {
47   StringVar* string_var = StringVar::FromPPVar(desc.face);
48   face = string_var ? string_var->value() : std::string();
49
50   family = desc.family;
51   size = desc.size;
52   weight = desc.weight;
53   italic = desc.italic;
54   small_caps = desc.small_caps;
55   letter_spacing = desc.letter_spacing;
56   word_spacing = desc.word_spacing;
57 }
58
59 void SerializedFontDescription::SetToPPFontDescription(
60     PP_FontDescription_Dev* desc) const {
61   desc->face = StringVar::StringToPPVar(face);
62   desc->family = static_cast<PP_FontFamily_Dev>(family);
63   desc->size = size;
64   desc->weight = static_cast<PP_FontWeight_Dev>(weight);
65   desc->italic = italic;
66   desc->small_caps = small_caps;
67   desc->letter_spacing = letter_spacing;
68   desc->word_spacing = word_spacing;
69 }
70
71 void SerializedFontDescription::SetToPPBrowserFontDescription(
72     PP_BrowserFont_Trusted_Description* desc) const {
73   desc->face = StringVar::StringToPPVar(face);
74   desc->family = static_cast<PP_BrowserFont_Trusted_Family>(family);
75   desc->size = size;
76   desc->weight = static_cast<PP_BrowserFont_Trusted_Weight>(weight);
77   desc->italic = italic;
78   desc->small_caps = small_caps;
79   desc->letter_spacing = letter_spacing;
80   desc->word_spacing = word_spacing;
81 }
82
83 SerializedNetworkInfo::SerializedNetworkInfo()
84     : type(PP_NETWORKLIST_TYPE_UNKNOWN),
85       state(PP_NETWORKLIST_STATE_DOWN),
86       mtu(0) {
87 }
88
89 SerializedNetworkInfo::~SerializedNetworkInfo() {}
90
91 SerializedTrueTypeFontDesc::SerializedTrueTypeFontDesc()
92     : family(),
93       generic_family(),
94       style(),
95       weight(),
96       width(),
97       charset() {
98 }
99
100 SerializedTrueTypeFontDesc::~SerializedTrueTypeFontDesc() {}
101
102 void SerializedTrueTypeFontDesc::SetFromPPTrueTypeFontDesc(
103     const PP_TrueTypeFontDesc_Dev& desc) {
104   StringVar* string_var = StringVar::FromPPVar(desc.family);
105   family = string_var ? string_var->value() : std::string();
106
107   generic_family = desc.generic_family;
108   style = desc.style;
109   weight = desc.weight;
110   width = desc.width;
111   charset = desc.charset;
112 }
113
114 void SerializedTrueTypeFontDesc::CopyToPPTrueTypeFontDesc(
115     PP_TrueTypeFontDesc_Dev* desc) const {
116   desc->family = StringVar::StringToPPVar(family);
117
118   desc->generic_family = generic_family;
119   desc->style = style;
120   desc->weight = weight;
121   desc->width = width;
122   desc->charset = charset;
123 }
124
125 PPBFlash_DrawGlyphs_Params::PPBFlash_DrawGlyphs_Params()
126     : instance(0),
127       font_desc(),
128       color(0) {
129   clip.point.x = 0;
130   clip.point.y = 0;
131   clip.size.height = 0;
132   clip.size.width = 0;
133   position.x = 0;
134   position.y = 0;
135   allow_subpixel_aa = PP_FALSE;
136 }
137
138 PPBFlash_DrawGlyphs_Params::~PPBFlash_DrawGlyphs_Params() {}
139
140 }  // namespace proxy
141 }  // namespace ppapi