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

Side by Side Diff: include/core/SkPaint.h

Issue 1718423002: Simplify and combine SkDrawCacheProc and SkMeasureCacheProc to SkPaint::GlyphCacheProc. (Closed) Base URL: https://skia.googlesource.com/skia@master
Patch Set: Created 4 years, 10 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/SkDraw.cpp » ('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 * Copyright 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkPaint_DEFINED 8 #ifndef SkPaint_DEFINED
9 #define SkPaint_DEFINED 9 #define SkPaint_DEFINED
10 10
(...skipping 17 matching lines...) Expand all
28 class SkImageFilter; 28 class SkImageFilter;
29 class SkMaskFilter; 29 class SkMaskFilter;
30 class SkPath; 30 class SkPath;
31 class SkPathEffect; 31 class SkPathEffect;
32 struct SkPoint; 32 struct SkPoint;
33 class SkRasterizer; 33 class SkRasterizer;
34 class SkShader; 34 class SkShader;
35 class SkSurfaceProps; 35 class SkSurfaceProps;
36 class SkTypeface; 36 class SkTypeface;
37 37
38 typedef const SkGlyph& (*SkDrawCacheProc)(SkGlyphCache*, const char**,
39 SkFixed x, SkFixed y);
40
41 typedef const SkGlyph& (*SkMeasureCacheProc)(SkGlyphCache*, const char**);
42
43 #define kBicubicFilterBitmap_Flag kHighQualityFilterBitmap_Flag 38 #define kBicubicFilterBitmap_Flag kHighQualityFilterBitmap_Flag
44 39
45 /** \class SkPaint 40 /** \class SkPaint
46 41
47 The SkPaint class holds the style and color information about how to draw 42 The SkPaint class holds the style and color information about how to draw
48 geometries, text and bitmaps. 43 geometries, text and bitmaps.
49 */ 44 */
50 45
51 class SK_API SkPaint { 46 class SK_API SkPaint {
52 public: 47 public:
(...skipping 970 matching lines...) Expand 10 before | Expand all | Expand 10 after
1023 if (skewX) { 1018 if (skewX) {
1024 matrix->postSkew(skewX, 0); 1019 matrix->postSkew(skewX, 0);
1025 } 1020 }
1026 return matrix; 1021 return matrix;
1027 } 1022 }
1028 1023
1029 SkMatrix* setTextMatrix(SkMatrix* matrix) const { 1024 SkMatrix* setTextMatrix(SkMatrix* matrix) const {
1030 return SetTextMatrix(matrix, fTextSize, fTextScaleX, fTextSkewX); 1025 return SetTextMatrix(matrix, fTextSize, fTextScaleX, fTextSkewX);
1031 } 1026 }
1032 1027
1028 typedef const SkGlyph& (*GlyphCacheProc)(SkGlyphCache*, const char**);
1029
1033 SK_TO_STRING_NONVIRT() 1030 SK_TO_STRING_NONVIRT()
1034 1031
1035 private: 1032 private:
1036 SkTypeface* fTypeface; 1033 SkTypeface* fTypeface;
1037 SkPathEffect* fPathEffect; 1034 SkPathEffect* fPathEffect;
1038 SkShader* fShader; 1035 SkShader* fShader;
1039 SkXfermode* fXfermode; 1036 SkXfermode* fXfermode;
1040 SkMaskFilter* fMaskFilter; 1037 SkMaskFilter* fMaskFilter;
1041 SkColorFilter* fColorFilter; 1038 SkColorFilter* fColorFilter;
1042 SkRasterizer* fRasterizer; 1039 SkRasterizer* fRasterizer;
(...skipping 16 matching lines...) Expand all
1059 unsigned fJoinType : 2; 1056 unsigned fJoinType : 2;
1060 unsigned fStyle : 2; 1057 unsigned fStyle : 2;
1061 unsigned fTextEncoding : 2; // 3 values 1058 unsigned fTextEncoding : 2; // 3 values
1062 unsigned fHinting : 2; 1059 unsigned fHinting : 2;
1063 unsigned fFilterQuality : 2; 1060 unsigned fFilterQuality : 2;
1064 //unsigned fFreeBits : 2; 1061 //unsigned fFreeBits : 2;
1065 } fBitfields; 1062 } fBitfields;
1066 uint32_t fBitfieldsUInt; 1063 uint32_t fBitfieldsUInt;
1067 }; 1064 };
1068 1065
1069 SkDrawCacheProc getDrawCacheProc() const; 1066 GlyphCacheProc getGlyphCacheProc(bool needFullMetrics) const;
1070 SkMeasureCacheProc getMeasureCacheProc(bool needFullMetrics) const;
1071 1067
1072 SkScalar measure_text(SkGlyphCache*, const char* text, size_t length, 1068 SkScalar measure_text(SkGlyphCache*, const char* text, size_t length,
1073 int* count, SkRect* bounds) const; 1069 int* count, SkRect* bounds) const;
1074 1070
1075 enum class FakeGamma { 1071 enum class FakeGamma {
1076 Off = 0, On 1072 Off = 0, On
1077 }; 1073 };
1078 1074
1079 /* 1075 /*
1080 * Allocs an SkDescriptor on the heap and return it to the caller as a refcn ted 1076 * Allocs an SkDescriptor on the heap and return it to the caller as a refcn ted
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
1146 friend class GrStencilAndCoverTextContext; 1142 friend class GrStencilAndCoverTextContext;
1147 friend class GrPathRendering; 1143 friend class GrPathRendering;
1148 friend class GrTextUtils; 1144 friend class GrTextUtils;
1149 friend class GrGLPathRendering; 1145 friend class GrGLPathRendering;
1150 friend class SkScalerContext; 1146 friend class SkScalerContext;
1151 friend class SkTextBaseIter; 1147 friend class SkTextBaseIter;
1152 friend class SkCanonicalizePaint; 1148 friend class SkCanonicalizePaint;
1153 }; 1149 };
1154 1150
1155 #endif 1151 #endif
OLDNEW
« no previous file with comments | « no previous file | src/core/SkDraw.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698