Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(21)

Side by Side Diff: skia/ext/skia_utils_base.cc

Issue 1877673002: Move legacyCreateTypeface to SkFontStyle. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update Skia patch to fix Mac. Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include <stdint.h> 5 #include <stdint.h>
6 6
7 #include "skia/ext/skia_utils_base.h" 7 #include "skia/ext/skia_utils_base.h"
8 8
9 namespace skia { 9 namespace skia {
10 10
(...skipping 22 matching lines...) Expand all
33 return false; 33 return false;
34 34
35 if (identity) { 35 if (identity) {
36 identity->fID = reply_id; 36 identity->fID = reply_id;
37 identity->fTTCIndex = reply_ttcIndex; 37 identity->fTTCIndex = reply_ttcIndex;
38 identity->fString.set(reply_text, reply_length); 38 identity->fString.set(reply_text, reply_length);
39 } 39 }
40 return true; 40 return true;
41 } 41 }
42 42
43 bool ReadSkFontStyle(base::PickleIterator* iter, SkFontStyle* style) {
44 uint16_t reply_weight;
45 uint16_t reply_width;
46 uint16_t reply_slant;
47
48 if (!iter->ReadUInt16(&reply_weight) ||
49 !iter->ReadUInt16(&reply_width) ||
50 !iter->ReadUInt16(&reply_slant))
51 return false;
52
53 if (style) {
dcheng 2016/04/12 17:11:23 Seems odd that this is an optional parameter. It d
bungeman-chromium 2016/04/12 18:15:38 I think the original intent was to avoid the local
bungeman-chromium 2016/04/12 18:47:04 To provide an example, taking advantage of the way
54 *style = SkFontStyle(reply_weight,
55 reply_width,
56 static_cast<SkFontStyle::Slant>(reply_slant));
57 }
58 return true;
59 }
60
43 bool WriteSkString(base::Pickle* pickle, const SkString& str) { 61 bool WriteSkString(base::Pickle* pickle, const SkString& str) {
44 return pickle->WriteData(str.c_str(), str.size()); 62 return pickle->WriteData(str.c_str(), str.size());
45 } 63 }
46 64
47 bool WriteSkFontIdentity(base::Pickle* pickle, 65 bool WriteSkFontIdentity(base::Pickle* pickle,
48 const SkFontConfigInterface::FontIdentity& identity) { 66 const SkFontConfigInterface::FontIdentity& identity) {
49 return pickle->WriteUInt32(identity.fID) && 67 return pickle->WriteUInt32(identity.fID) &&
50 pickle->WriteUInt32(identity.fTTCIndex) && 68 pickle->WriteUInt32(identity.fTTCIndex) &&
51 WriteSkString(pickle, identity.fString); 69 WriteSkString(pickle, identity.fString);
52 } 70 }
53 71
72 bool WriteSkFontStyle(base::Pickle* pickle, SkFontStyle style) {
73 return pickle->WriteUInt16(style.weight()) &&
74 pickle->WriteUInt16(style.width()) &&
75 pickle->WriteUInt16(style.slant());
76 }
77
54 SkPixelGeometry ComputeDefaultPixelGeometry() { 78 SkPixelGeometry ComputeDefaultPixelGeometry() {
55 SkFontHost::LCDOrder order = SkFontHost::GetSubpixelOrder(); 79 SkFontHost::LCDOrder order = SkFontHost::GetSubpixelOrder();
56 if (SkFontHost::kNONE_LCDOrder == order) { 80 if (SkFontHost::kNONE_LCDOrder == order) {
57 return kUnknown_SkPixelGeometry; 81 return kUnknown_SkPixelGeometry;
58 } else { 82 } else {
59 // Bit0 is RGB(0), BGR(1) 83 // Bit0 is RGB(0), BGR(1)
60 // Bit1 is H(0), V(1) 84 // Bit1 is H(0), V(1)
61 const SkPixelGeometry gGeo[] = { 85 const SkPixelGeometry gGeo[] = {
62 kRGB_H_SkPixelGeometry, 86 kRGB_H_SkPixelGeometry,
63 kBGR_H_SkPixelGeometry, 87 kBGR_H_SkPixelGeometry,
64 kRGB_V_SkPixelGeometry, 88 kRGB_V_SkPixelGeometry,
65 kBGR_V_SkPixelGeometry, 89 kBGR_V_SkPixelGeometry,
66 }; 90 };
67 int index = 0; 91 int index = 0;
68 if (SkFontHost::kBGR_LCDOrder == order) { 92 if (SkFontHost::kBGR_LCDOrder == order) {
69 index |= 1; 93 index |= 1;
70 } 94 }
71 if (SkFontHost::kVertical_LCDOrientation == SkFontHost::GetSubpixelOrien tation()){ 95 if (SkFontHost::kVertical_LCDOrientation == SkFontHost::GetSubpixelOrien tation()){
72 index |= 2; 96 index |= 2;
73 } 97 }
74 return gGeo[index]; 98 return gGeo[index];
75 } 99 }
76 } 100 }
77 101
78 } // namespace skia 102 } // namespace skia
79 103
OLDNEW
« no previous file with comments | « skia/ext/skia_utils_base.h ('k') | third_party/WebKit/Source/platform/fonts/FontCustomPlatformData.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698