15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/proxy/serialized_structs.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/pickle.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "build/build_config.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/dev/ppb_font_dev.h" 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_file_info.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/c/pp_rect.h" 122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "ppapi/c/trusted/ppb_browser_font_trusted.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ppapi/shared_impl/var.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace ppapi { 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace proxy { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SerializedFontDescription::SerializedFontDescription() 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : face(), 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) family(0), 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) size(0), 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) weight(0), 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) italic(PP_FALSE), 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) small_caps(PP_FALSE), 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) letter_spacing(0), 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) word_spacing(0) { 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)SerializedFontDescription::~SerializedFontDescription() {} 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void SerializedFontDescription::SetFromPPFontDescription( 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const PP_FontDescription_Dev& desc) { 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) StringVar* string_var = StringVar::FromPPVar(desc.face); 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) face = string_var ? string_var->value() : std::string(); 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) family = desc.family; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) size = desc.size; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) weight = desc.weight; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) italic = desc.italic; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) small_caps = desc.small_caps; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) letter_spacing = desc.letter_spacing; 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) word_spacing = desc.word_spacing; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void SerializedFontDescription::SetFromPPBrowserFontDescription( 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const PP_BrowserFont_Trusted_Description& desc) { 472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) StringVar* string_var = StringVar::FromPPVar(desc.face); 482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) face = string_var ? string_var->value() : std::string(); 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) family = desc.family; 512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) size = desc.size; 522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) weight = desc.weight; 532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) italic = desc.italic; 542a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) small_caps = desc.small_caps; 552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) letter_spacing = desc.letter_spacing; 562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) word_spacing = desc.word_spacing; 572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void SerializedFontDescription::SetToPPFontDescription( 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) PP_FontDescription_Dev* desc) const { 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->face = StringVar::StringToPPVar(face); 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->family = static_cast<PP_FontFamily_Dev>(family); 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->size = size; 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->weight = static_cast<PP_FontWeight_Dev>(weight); 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->italic = italic; 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->small_caps = small_caps; 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->letter_spacing = letter_spacing; 685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) desc->word_spacing = word_spacing; 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void SerializedFontDescription::SetToPPBrowserFontDescription( 722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_BrowserFont_Trusted_Description* desc) const { 732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->face = StringVar::StringToPPVar(face); 742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->family = static_cast<PP_BrowserFont_Trusted_Family>(family); 752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->size = size; 762a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->weight = static_cast<PP_BrowserFont_Trusted_Weight>(weight); 772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->italic = italic; 782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->small_caps = small_caps; 792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->letter_spacing = letter_spacing; 802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->word_spacing = word_spacing; 812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 83d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)SerializedNetworkInfo::SerializedNetworkInfo() 8468043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) : type(PP_NETWORKLIST_TYPE_UNKNOWN), 8568043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) state(PP_NETWORKLIST_STATE_DOWN), 86d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) mtu(0) { 87d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)} 88d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 89d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)SerializedNetworkInfo::~SerializedNetworkInfo() {} 90d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)SerializedTrueTypeFontDesc::SerializedTrueTypeFontDesc() 922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) : family(), 932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) generic_family(), 942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) style(), 952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) weight(), 962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) width(), 972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) charset() { 982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)SerializedTrueTypeFontDesc::~SerializedTrueTypeFontDesc() {} 1012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void SerializedTrueTypeFontDesc::SetFromPPTrueTypeFontDesc( 1032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const PP_TrueTypeFontDesc_Dev& desc) { 1042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) StringVar* string_var = StringVar::FromPPVar(desc.family); 1052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) family = string_var ? string_var->value() : std::string(); 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) generic_family = desc.generic_family; 1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) style = desc.style; 1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) weight = desc.weight; 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) width = desc.width; 1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) charset = desc.charset; 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void SerializedTrueTypeFontDesc::CopyToPPTrueTypeFontDesc( 1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) PP_TrueTypeFontDesc_Dev* desc) const { 1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->family = StringVar::StringToPPVar(family); 1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->generic_family = generic_family; 1192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->style = style; 1202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->weight = weight; 1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->width = width; 1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) desc->charset = charset; 1232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 1242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PPBFlash_DrawGlyphs_Params::PPBFlash_DrawGlyphs_Params() 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : instance(0), 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) font_desc(), 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) color(0) { 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) clip.point.x = 0; 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) clip.point.y = 0; 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) clip.size.height = 0; 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) clip.size.width = 0; 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) position.x = 0; 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) position.y = 0; 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) allow_subpixel_aa = PP_FALSE; 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)PPBFlash_DrawGlyphs_Params::~PPBFlash_DrawGlyphs_Params() {} 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace proxy 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace ppapi 142