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: include/core/SkPaint.h

Issue 821083002: add newImage API (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: check when subset == bounds Created 5 years, 11 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 | « include/core/SkImage.h ('k') | src/core/SkPaint.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
11 #include "SkColor.h" 11 #include "SkColor.h"
12 #include "SkDrawLooper.h" 12 #include "SkDrawLooper.h"
13 #include "SkFilterQuality.h"
13 #include "SkMatrix.h" 14 #include "SkMatrix.h"
14 #include "SkXfermode.h" 15 #include "SkXfermode.h"
15 16
17 // TODO: clean up Skia internals so we can remove this and only keep it for clie nts
18 #define SK_SUPPORT_LEGACY_FILTERLEVEL_ENUM
19
16 class SkAnnotation; 20 class SkAnnotation;
17 class SkAutoGlyphCache; 21 class SkAutoGlyphCache;
18 class SkColorFilter; 22 class SkColorFilter;
19 class SkDescriptor; 23 class SkDescriptor;
20 struct SkDeviceProperties; 24 struct SkDeviceProperties;
21 class SkReadBuffer; 25 class SkReadBuffer;
22 class SkWriteBuffer; 26 class SkWriteBuffer;
23 struct SkGlyph; 27 struct SkGlyph;
24 struct SkRect; 28 struct SkRect;
25 class SkGlyphCache; 29 class SkGlyphCache;
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 bool isDistanceFieldTextTEMP() const { 291 bool isDistanceFieldTextTEMP() const {
288 return SkToBool(this->getFlags() & kDistanceFieldTextTEMP_Flag); 292 return SkToBool(this->getFlags() & kDistanceFieldTextTEMP_Flag);
289 } 293 }
290 294
291 /** Helper for setFlags(), setting or clearing the kDistanceFieldTextTEMP_Fl ag bit 295 /** Helper for setFlags(), setting or clearing the kDistanceFieldTextTEMP_Fl ag bit
292 @param distanceFieldText true to set the kDistanceFieldTextTEMP_Flag bit in the paint's 296 @param distanceFieldText true to set the kDistanceFieldTextTEMP_Flag bit in the paint's
293 flags, false to clear it. 297 flags, false to clear it.
294 */ 298 */
295 void setDistanceFieldTextTEMP(bool distanceFieldText); 299 void setDistanceFieldTextTEMP(bool distanceFieldText);
296 300
301 #ifdef SK_SUPPORT_LEGACY_FILTERLEVEL_ENUM
297 enum FilterLevel { 302 enum FilterLevel {
298 kNone_FilterLevel, 303 kNone_FilterLevel = kNone_SkFilterQuality,
299 kLow_FilterLevel, 304 kLow_FilterLevel = kLow_SkFilterQuality,
300 kMedium_FilterLevel, 305 kMedium_FilterLevel = kMedium_SkFilterQuality,
301 kHigh_FilterLevel 306 kHigh_FilterLevel = kHigh_SkFilterQuality
302 }; 307 };
303 308
304 /** 309 /**
305 * Return the filter level. This affects the quality (and performance) of 310 * Return the filter level. This affects the quality (and performance) of
306 * drawing scaled images. 311 * drawing scaled images.
307 */ 312 */
308 FilterLevel getFilterLevel() const { 313 FilterLevel getFilterLevel() const {
309 return (FilterLevel)fBitfields.fFilterLevel; 314 return (FilterLevel)this->getFilterQuality();
310 } 315 }
311 316
312 /** 317 /**
313 * Set the filter level. This affects the quality (and performance) of 318 * Set the filter level. This affects the quality (and performance) of
314 * drawing scaled images. 319 * drawing scaled images.
315 */ 320 */
316 void setFilterLevel(FilterLevel); 321 void setFilterLevel(FilterLevel level) {
322 this->setFilterQuality((SkFilterQuality)level);
323 }
324 #endif
325
326 /**
327 * Return the filter level. This affects the quality (and performance) of
328 * drawing scaled images.
329 */
330 SkFilterQuality getFilterQuality() const {
331 return (SkFilterQuality)fBitfields.fFilterQuality;
332 }
333
334 /**
335 * Set the filter quality. This affects the quality (and performance) of
336 * drawing scaled images.
337 */
338 void setFilterQuality(SkFilterQuality quality);
317 339
318 /** 340 /**
319 * If the predicate is true, set the filterLevel to Low, else set it to 341 * If the predicate is true, set the filterLevel to Low, else set it to
320 * None. 342 * None.
321 */ 343 */
322 SK_ATTR_DEPRECATED("use setFilterLevel") 344 SK_ATTR_DEPRECATED("use setFilterLevel")
323 void setFilterBitmap(bool doFilter) { 345 void setFilterBitmap(bool doFilter) {
324 this->setFilterLevel(doFilter ? kLow_FilterLevel : kNone_FilterLevel); 346 this->setFilterLevel(doFilter ? kLow_FilterLevel : kNone_FilterLevel);
325 } 347 }
326 348
(...skipping 706 matching lines...) Expand 10 before | Expand all | Expand 10 after
1033 union { 1055 union {
1034 struct { 1056 struct {
1035 // all of these bitfields should add up to 32 1057 // all of these bitfields should add up to 32
1036 unsigned fFlags : 16; 1058 unsigned fFlags : 16;
1037 unsigned fTextAlign : 2; 1059 unsigned fTextAlign : 2;
1038 unsigned fCapType : 2; 1060 unsigned fCapType : 2;
1039 unsigned fJoinType : 2; 1061 unsigned fJoinType : 2;
1040 unsigned fStyle : 2; 1062 unsigned fStyle : 2;
1041 unsigned fTextEncoding : 2; // 3 values 1063 unsigned fTextEncoding : 2; // 3 values
1042 unsigned fHinting : 2; 1064 unsigned fHinting : 2;
1043 unsigned fFilterLevel : 2; 1065 unsigned fFilterQuality : 2;
1044 //unsigned fFreeBits : 2; 1066 //unsigned fFreeBits : 2;
1045 } fBitfields; 1067 } fBitfields;
1046 uint32_t fBitfieldsUInt; 1068 uint32_t fBitfieldsUInt;
1047 }; 1069 };
1048 1070
1049 SkDrawCacheProc getDrawCacheProc() const; 1071 SkDrawCacheProc getDrawCacheProc() const;
1050 SkMeasureCacheProc getMeasureCacheProc(bool needFullMetrics) const; 1072 SkMeasureCacheProc getMeasureCacheProc(bool needFullMetrics) const;
1051 1073
1052 SkScalar measure_text(SkGlyphCache*, const char* text, size_t length, 1074 SkScalar measure_text(SkGlyphCache*, const char* text, size_t length,
1053 int* count, SkRect* bounds) const; 1075 int* count, SkRect* bounds) const;
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
1108 friend class GrBitmapTextContext; 1130 friend class GrBitmapTextContext;
1109 friend class GrDistanceFieldTextContext; 1131 friend class GrDistanceFieldTextContext;
1110 friend class GrStencilAndCoverTextContext; 1132 friend class GrStencilAndCoverTextContext;
1111 friend class GrPathRendering; 1133 friend class GrPathRendering;
1112 friend class GrGLPathRendering; 1134 friend class GrGLPathRendering;
1113 friend class SkTextToPathIter; 1135 friend class SkTextToPathIter;
1114 friend class SkCanonicalizePaint; 1136 friend class SkCanonicalizePaint;
1115 }; 1137 };
1116 1138
1117 #endif 1139 #endif
OLDNEW
« no previous file with comments | « include/core/SkImage.h ('k') | src/core/SkPaint.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698