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

Side by Side Diff: src/core/SkAutoKern.h

Issue 1737693006: Change type of SkGlyph::fAdvance[XY] to float. (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Should be float, not SkScalar. 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
« no previous file with comments | « no previous file | src/core/SkDrawProcs.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 1
2 /* 2 /*
3 * Copyright 2006 The Android Open Source Project 3 * Copyright 2006 The Android Open Source Project
4 * 4 *
5 * Use of this source code is governed by a BSD-style license that can be 5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 6 * found in the LICENSE file.
7 */ 7 */
8 8
9 9
10 #ifndef SkAutoKern_DEFINED 10 #ifndef SkAutoKern_DEFINED
11 #define SkAutoKern_DEFINED 11 #define SkAutoKern_DEFINED
12 12
13 #include "SkGlyph.h" 13 #include "SkGlyph.h"
14 14
15 #define SkAutoKern_AdjustF(prev, next) (((next) - (prev) + 32) >> 6 << 16) 15 #define SkAutoKern_Adjust(prev, next) SkIntToScalar(((next) - (prev) + 32) >> 6)
16 #define SkAutoKern_AdjustS(prev, next) SkIntToScalar(((next) - (prev) + 32) > > 6)
17 16
18 /* this is a helper class to perform auto-kerning 17 /* this is a helper class to perform auto-kerning
19 * the adjust() method returns a SkFixed corresponding 18 * the adjust() method returns a SkScalar corresponding
20 * to a +1/0/-1 pixel adjustment 19 * to a +1/0/-1 pixel adjustment
21 */ 20 */
22 21
23 class SkAutoKern { 22 class SkAutoKern {
24 public: 23 public:
25 SkAutoKern() : fPrevRsbDelta(0) {} 24 SkAutoKern() : fPrevRsbDelta(0) {}
26 25
27 SkFixed adjust(const SkGlyph& glyph) 26 SkScalar adjust(const SkGlyph& glyph)
28 { 27 {
29 // if (SkAbs32(glyph.fLsbDelta) > 47 || SkAbs32(glyph.fRsbDelta) > 47) 28 // if (SkAbs32(glyph.fLsbDelta) > 47 || SkAbs32(glyph.fRsbDelta) > 47)
30 // printf("------- %d> L %d R %d\n", glyph.f_GlyphID, glyph.fLsbDelta , glyph.fRsbDelta); 29 // printf("------- %d> L %d R %d\n", glyph.f_GlyphID, glyph.fLsbDelta , glyph.fRsbDelta);
31 30
32 #if 0 31 #if 0
33 int distort = fPrevRsbDelta - glyph.fLsbDelta; 32 int distort = fPrevRsbDelta - glyph.fLsbDelta;
34 33
35 fPrevRsbDelta = glyph.fRsbDelta; 34 fPrevRsbDelta = glyph.fRsbDelta;
36 35
37 if (distort >= 32) 36 if (distort >= 32)
38 return -SK_Fixed1; 37 return -SK_Scalar1;
39 else if (distort < -32) 38 else if (distort < -32)
40 return +SK_Fixed1; 39 return +SK_Scalar1;
41 else 40 else
42 return 0; 41 return 0;
43 #else 42 #else
44 SkFixed adjust = SkAutoKern_AdjustF(fPrevRsbDelta, glyph.fLsbDelta); 43 SkScalar adjust = SkAutoKern_Adjust(fPrevRsbDelta, glyph.fLsbDelta);
45 fPrevRsbDelta = glyph.fRsbDelta; 44 fPrevRsbDelta = glyph.fRsbDelta;
46 return adjust; 45 return adjust;
47 #endif 46 #endif
48 } 47 }
49 private: 48 private:
50 int fPrevRsbDelta; 49 int fPrevRsbDelta;
51 }; 50 };
52 51
53 #endif 52 #endif
OLDNEW
« no previous file with comments | « no previous file | src/core/SkDrawProcs.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698