1 // Copyright (c) 2013 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.
5 #include "skia/ext/skia_utils_base.h"
9 bool ReadSkString(const Pickle
& pickle
, PickleIterator
* iter
, SkString
* str
) {
11 const char* reply_text
;
13 if (!pickle
.ReadData(iter
, &reply_text
, &reply_length
))
17 str
->set(reply_text
, reply_length
);
21 bool ReadSkFontIdentity(const Pickle
& pickle
, PickleIterator
* iter
,
22 SkFontConfigInterface::FontIdentity
* identity
) {
24 uint32_t reply_ttcIndex
;
26 const char* reply_text
;
28 if (!pickle
.ReadUInt32(iter
, &reply_id
) ||
29 !pickle
.ReadUInt32(iter
, &reply_ttcIndex
) ||
30 !pickle
.ReadData(iter
, &reply_text
, &reply_length
))
34 identity
->fID
= reply_id
;
35 identity
->fTTCIndex
= reply_ttcIndex
;
36 identity
->fString
.set(reply_text
, reply_length
);
41 bool WriteSkString(Pickle
* pickle
, const SkString
& str
) {
42 return pickle
->WriteData(str
.c_str(), str
.size());
45 bool WriteSkFontIdentity(Pickle
* pickle
,
46 const SkFontConfigInterface::FontIdentity
& identity
) {
47 return pickle
->WriteUInt32(identity
.fID
) &&
48 pickle
->WriteUInt32(identity
.fTTCIndex
) &&
49 WriteSkString(pickle
, identity
.fString
);