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 15namespace ppapi { 16namespace proxy { 17 18SerializedFontDescription::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 29SerializedFontDescription::~SerializedFontDescription() {} 30 31void 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 45void 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 59void 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 71void 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 83SerializedNetworkInfo::SerializedNetworkInfo() 84 : type(PP_NETWORKLIST_TYPE_UNKNOWN), 85 state(PP_NETWORKLIST_STATE_DOWN), 86 mtu(0) { 87} 88 89SerializedNetworkInfo::~SerializedNetworkInfo() {} 90 91SerializedTrueTypeFontDesc::SerializedTrueTypeFontDesc() 92 : family(), 93 generic_family(), 94 style(), 95 weight(), 96 width(), 97 charset() { 98} 99 100SerializedTrueTypeFontDesc::~SerializedTrueTypeFontDesc() {} 101 102void 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 114void 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 125PPBFlash_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 138PPBFlash_DrawGlyphs_Params::~PPBFlash_DrawGlyphs_Params() {} 139 140} // namespace proxy 141} // namespace ppapi 142