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 142