| OLD | NEW |
| 1 | 1 |
| 2 | 2 |
| 3 /* | 3 /* |
| 4 * Copyright 2006 The Android Open Source Project | 4 * Copyright 2006 The Android Open Source Project |
| 5 * | 5 * |
| 6 * Use of this source code is governed by a BSD-style license that can be | 6 * Use of this source code is governed by a BSD-style license that can be |
| 7 * found in the LICENSE file. | 7 * found in the LICENSE file. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 | 10 |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 82 TARGET_LCD_V is used> | 82 TARGET_LCD_V is used> |
| 83 */ | 83 */ |
| 84 enum Hinting { | 84 enum Hinting { |
| 85 kNo_Hinting = 0, | 85 kNo_Hinting = 0, |
| 86 kSlight_Hinting = 1, | 86 kSlight_Hinting = 1, |
| 87 kNormal_Hinting = 2, //!< this is the default | 87 kNormal_Hinting = 2, //!< this is the default |
| 88 kFull_Hinting = 3 | 88 kFull_Hinting = 3 |
| 89 }; | 89 }; |
| 90 | 90 |
| 91 Hinting getHinting() const { | 91 Hinting getHinting() const { |
| 92 return static_cast<Hinting>(fHinting); | 92 return static_cast<Hinting>(fBitfields.fHinting); |
| 93 } | 93 } |
| 94 | 94 |
| 95 void setHinting(Hinting hintingLevel); | 95 void setHinting(Hinting hintingLevel); |
| 96 | 96 |
| 97 /** Specifies the bit values that are stored in the paint's flags. | 97 /** Specifies the bit values that are stored in the paint's flags. |
| 98 */ | 98 */ |
| 99 enum Flags { | 99 enum Flags { |
| 100 kAntiAlias_Flag = 0x01, //!< mask to enable antialiasing | 100 kAntiAlias_Flag = 0x01, //!< mask to enable antialiasing |
| 101 kDither_Flag = 0x04, //!< mask to enable dithering | 101 kDither_Flag = 0x04, //!< mask to enable dithering |
| 102 kUnderlineText_Flag = 0x08, //!< mask to enable underline text | 102 kUnderlineText_Flag = 0x08, //!< mask to enable underline text |
| (...skipping 11 matching lines...) Expand all Loading... |
| 114 // currently overrides LCD and sub
pixel rendering | 114 // currently overrides LCD and sub
pixel rendering |
| 115 // when adding extra flags, note that the fFlags member is specified | 115 // when adding extra flags, note that the fFlags member is specified |
| 116 // with a bit-width and you'll have to expand it. | 116 // with a bit-width and you'll have to expand it. |
| 117 | 117 |
| 118 kAllFlags = 0xFFFF | 118 kAllFlags = 0xFFFF |
| 119 }; | 119 }; |
| 120 | 120 |
| 121 /** Return the paint's flags. Use the Flag enum to test flag values. | 121 /** Return the paint's flags. Use the Flag enum to test flag values. |
| 122 @return the paint's flags (see enums ending in _Flag for bit masks) | 122 @return the paint's flags (see enums ending in _Flag for bit masks) |
| 123 */ | 123 */ |
| 124 uint32_t getFlags() const { return fFlags; } | 124 uint32_t getFlags() const { return fBitfields.fFlags; } |
| 125 | 125 |
| 126 /** Set the paint's flags. Use the Flag enum to specific flag values. | 126 /** Set the paint's flags. Use the Flag enum to specific flag values. |
| 127 @param flags The new flag bits for the paint (see Flags enum) | 127 @param flags The new flag bits for the paint (see Flags enum) |
| 128 */ | 128 */ |
| 129 void setFlags(uint32_t flags); | 129 void setFlags(uint32_t flags); |
| 130 | 130 |
| 131 /** Helper for getFlags(), returning true if kAntiAlias_Flag bit is set | 131 /** Helper for getFlags(), returning true if kAntiAlias_Flag bit is set |
| 132 @return true if the antialias bit is set in the paint's flags. | 132 @return true if the antialias bit is set in the paint's flags. |
| 133 */ | 133 */ |
| 134 bool isAntiAlias() const { | 134 bool isAntiAlias() const { |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 kNone_FilterLevel, | 295 kNone_FilterLevel, |
| 296 kLow_FilterLevel, | 296 kLow_FilterLevel, |
| 297 kMedium_FilterLevel, | 297 kMedium_FilterLevel, |
| 298 kHigh_FilterLevel | 298 kHigh_FilterLevel |
| 299 }; | 299 }; |
| 300 | 300 |
| 301 /** | 301 /** |
| 302 * Return the filter level. This affects the quality (and performance) of | 302 * Return the filter level. This affects the quality (and performance) of |
| 303 * drawing scaled images. | 303 * drawing scaled images. |
| 304 */ | 304 */ |
| 305 FilterLevel getFilterLevel() const { return (FilterLevel)fFilterLevel; } | 305 FilterLevel getFilterLevel() const { |
| 306 return (FilterLevel)fBitfields.fFilterLevel; |
| 307 } |
| 306 | 308 |
| 307 /** | 309 /** |
| 308 * Set the filter level. This affects the quality (and performance) of | 310 * Set the filter level. This affects the quality (and performance) of |
| 309 * drawing scaled images. | 311 * drawing scaled images. |
| 310 */ | 312 */ |
| 311 void setFilterLevel(FilterLevel); | 313 void setFilterLevel(FilterLevel); |
| 312 | 314 |
| 313 /** | 315 /** |
| 314 * If the predicate is true, set the filterLevel to Low, else set it to | 316 * If the predicate is true, set the filterLevel to Low, else set it to |
| 315 * None. | 317 * None. |
| (...skipping 27 matching lines...) Expand all Loading... |
| 343 }; | 345 }; |
| 344 enum { | 346 enum { |
| 345 kStyleCount = kStrokeAndFill_Style + 1 | 347 kStyleCount = kStrokeAndFill_Style + 1 |
| 346 }; | 348 }; |
| 347 | 349 |
| 348 /** Return the paint's style, used for controlling how primitives' | 350 /** Return the paint's style, used for controlling how primitives' |
| 349 geometries are interpreted (except for drawBitmap, which always assumes | 351 geometries are interpreted (except for drawBitmap, which always assumes |
| 350 kFill_Style). | 352 kFill_Style). |
| 351 @return the paint's Style | 353 @return the paint's Style |
| 352 */ | 354 */ |
| 353 Style getStyle() const { return (Style)fStyle; } | 355 Style getStyle() const { return (Style)fBitfields.fStyle; } |
| 354 | 356 |
| 355 /** Set the paint's style, used for controlling how primitives' | 357 /** Set the paint's style, used for controlling how primitives' |
| 356 geometries are interpreted (except for drawBitmap, which always assumes | 358 geometries are interpreted (except for drawBitmap, which always assumes |
| 357 Fill). | 359 Fill). |
| 358 @param style The new style to set in the paint | 360 @param style The new style to set in the paint |
| 359 */ | 361 */ |
| 360 void setStyle(Style style); | 362 void setStyle(Style style); |
| 361 | 363 |
| 362 /** Return the paint's color. Note that the color is a 32bit value | 364 /** Return the paint's color. Note that the color is a 32bit value |
| 363 containing alpha as well as r,g,b. This 32bit value is not | 365 containing alpha as well as r,g,b. This 32bit value is not |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 449 | 451 |
| 450 kJoinCount, | 452 kJoinCount, |
| 451 kDefault_Join = kMiter_Join | 453 kDefault_Join = kMiter_Join |
| 452 }; | 454 }; |
| 453 | 455 |
| 454 /** Return the paint's stroke cap type, controlling how the start and end | 456 /** Return the paint's stroke cap type, controlling how the start and end |
| 455 of stroked lines and paths are treated. | 457 of stroked lines and paths are treated. |
| 456 @return the line cap style for the paint, used whenever the paint's | 458 @return the line cap style for the paint, used whenever the paint's |
| 457 style is Stroke or StrokeAndFill. | 459 style is Stroke or StrokeAndFill. |
| 458 */ | 460 */ |
| 459 Cap getStrokeCap() const { return (Cap)fCapType; } | 461 Cap getStrokeCap() const { return (Cap)fBitfields.fCapType; } |
| 460 | 462 |
| 461 /** Set the paint's stroke cap type. | 463 /** Set the paint's stroke cap type. |
| 462 @param cap set the paint's line cap style, used whenever the paint's | 464 @param cap set the paint's line cap style, used whenever the paint's |
| 463 style is Stroke or StrokeAndFill. | 465 style is Stroke or StrokeAndFill. |
| 464 */ | 466 */ |
| 465 void setStrokeCap(Cap cap); | 467 void setStrokeCap(Cap cap); |
| 466 | 468 |
| 467 /** Return the paint's stroke join type. | 469 /** Return the paint's stroke join type. |
| 468 @return the paint's line join style, used whenever the paint's style is | 470 @return the paint's line join style, used whenever the paint's style is |
| 469 Stroke or StrokeAndFill. | 471 Stroke or StrokeAndFill. |
| 470 */ | 472 */ |
| 471 Join getStrokeJoin() const { return (Join)fJoinType; } | 473 Join getStrokeJoin() const { return (Join)fBitfields.fJoinType; } |
| 472 | 474 |
| 473 /** Set the paint's stroke join type. | 475 /** Set the paint's stroke join type. |
| 474 @param join set the paint's line join style, used whenever the paint's | 476 @param join set the paint's line join style, used whenever the paint's |
| 475 style is Stroke or StrokeAndFill. | 477 style is Stroke or StrokeAndFill. |
| 476 */ | 478 */ |
| 477 void setStrokeJoin(Join join); | 479 void setStrokeJoin(Join join); |
| 478 | 480 |
| 479 /** | 481 /** |
| 480 * Applies any/all effects (patheffect, stroking) to src, returning the | 482 * Applies any/all effects (patheffect, stroking) to src, returning the |
| 481 * result in dst. The result is that drawing src with this paint will be | 483 * result in dst. The result is that drawing src with this paint will be |
| (...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 678 kCenter_Align, | 680 kCenter_Align, |
| 679 kRight_Align, | 681 kRight_Align, |
| 680 }; | 682 }; |
| 681 enum { | 683 enum { |
| 682 kAlignCount = 3 | 684 kAlignCount = 3 |
| 683 }; | 685 }; |
| 684 | 686 |
| 685 /** Return the paint's Align value for drawing text. | 687 /** Return the paint's Align value for drawing text. |
| 686 @return the paint's Align value for drawing text. | 688 @return the paint's Align value for drawing text. |
| 687 */ | 689 */ |
| 688 Align getTextAlign() const { return (Align)fTextAlign; } | 690 Align getTextAlign() const { return (Align)fBitfields.fTextAlign; } |
| 689 | 691 |
| 690 /** Set the paint's text alignment. | 692 /** Set the paint's text alignment. |
| 691 @param align set the paint's Align value for drawing text. | 693 @param align set the paint's Align value for drawing text. |
| 692 */ | 694 */ |
| 693 void setTextAlign(Align align); | 695 void setTextAlign(Align align); |
| 694 | 696 |
| 695 /** Return the paint's text size. | 697 /** Return the paint's text size. |
| 696 @return the paint's text size. | 698 @return the paint's text size. |
| 697 */ | 699 */ |
| 698 SkScalar getTextSize() const { return fTextSize; } | 700 SkScalar getTextSize() const { return fTextSize; } |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 731 /** Describes how to interpret the text parameters that are passed to paint | 733 /** Describes how to interpret the text parameters that are passed to paint |
| 732 methods like measureText() and getTextWidths(). | 734 methods like measureText() and getTextWidths(). |
| 733 */ | 735 */ |
| 734 enum TextEncoding { | 736 enum TextEncoding { |
| 735 kUTF8_TextEncoding, //!< the text parameters are UTF8 | 737 kUTF8_TextEncoding, //!< the text parameters are UTF8 |
| 736 kUTF16_TextEncoding, //!< the text parameters are UTF16 | 738 kUTF16_TextEncoding, //!< the text parameters are UTF16 |
| 737 kUTF32_TextEncoding, //!< the text parameters are UTF32 | 739 kUTF32_TextEncoding, //!< the text parameters are UTF32 |
| 738 kGlyphID_TextEncoding //!< the text parameters are glyph indices | 740 kGlyphID_TextEncoding //!< the text parameters are glyph indices |
| 739 }; | 741 }; |
| 740 | 742 |
| 741 TextEncoding getTextEncoding() const { return (TextEncoding)fTextEncoding; } | 743 TextEncoding getTextEncoding() const { |
| 744 return (TextEncoding)fBitfields.fTextEncoding; |
| 745 } |
| 742 | 746 |
| 743 void setTextEncoding(TextEncoding encoding); | 747 void setTextEncoding(TextEncoding encoding); |
| 744 | 748 |
| 745 struct FontMetrics { | 749 struct FontMetrics { |
| 746 /** Flags which indicate the confidence level of various metrics. | 750 /** Flags which indicate the confidence level of various metrics. |
| 747 A set flag indicates that the metric may be trusted. | 751 A set flag indicates that the metric may be trusted. |
| 748 */ | 752 */ |
| 749 enum FontMetricsFlags { | 753 enum FontMetricsFlags { |
| 750 kUnderlineThinknessIsValid_Flag = 1 << 0, | 754 kUnderlineThinknessIsValid_Flag = 1 << 0, |
| 751 kUnderlinePositionIsValid_Flag = 1 << 1, | 755 kUnderlinePositionIsValid_Flag = 1 << 1, |
| (...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1059 // all of these bitfields should add up to 32 | 1063 // all of these bitfields should add up to 32 |
| 1060 unsigned fFlags : 16; | 1064 unsigned fFlags : 16; |
| 1061 unsigned fTextAlign : 2; | 1065 unsigned fTextAlign : 2; |
| 1062 unsigned fCapType : 2; | 1066 unsigned fCapType : 2; |
| 1063 unsigned fJoinType : 2; | 1067 unsigned fJoinType : 2; |
| 1064 unsigned fStyle : 2; | 1068 unsigned fStyle : 2; |
| 1065 unsigned fTextEncoding : 2; // 3 values | 1069 unsigned fTextEncoding : 2; // 3 values |
| 1066 unsigned fHinting : 2; | 1070 unsigned fHinting : 2; |
| 1067 unsigned fFilterLevel : 2; | 1071 unsigned fFilterLevel : 2; |
| 1068 //unsigned fFreeBits : 2; | 1072 //unsigned fFreeBits : 2; |
| 1069 }; | 1073 } fBitfields; |
| 1070 uint32_t fBitfields; | 1074 uint32_t fBitfieldsUInt; |
| 1071 }; | 1075 }; |
| 1072 uint32_t fDirtyBits; | 1076 uint32_t fDirtyBits; |
| 1073 | 1077 |
| 1074 uint32_t getBitfields() const { return fBitfields; } | |
| 1075 void setBitfields(uint32_t bitfields); | |
| 1076 | |
| 1077 SkDrawCacheProc getDrawCacheProc() const; | 1078 SkDrawCacheProc getDrawCacheProc() const; |
| 1078 SkMeasureCacheProc getMeasureCacheProc(TextBufferDirection dir, | 1079 SkMeasureCacheProc getMeasureCacheProc(TextBufferDirection dir, |
| 1079 bool needFullMetrics) const; | 1080 bool needFullMetrics) const; |
| 1080 | 1081 |
| 1081 SkScalar measure_text(SkGlyphCache*, const char* text, size_t length, | 1082 SkScalar measure_text(SkGlyphCache*, const char* text, size_t length, |
| 1082 int* count, SkRect* bounds) const; | 1083 int* count, SkRect* bounds) const; |
| 1083 | 1084 |
| 1084 SkGlyphCache* detachCache(const SkDeviceProperties* deviceProperties, const
SkMatrix*, | 1085 SkGlyphCache* detachCache(const SkDeviceProperties* deviceProperties, const
SkMatrix*, |
| 1085 bool ignoreGamma) const; | 1086 bool ignoreGamma) const; |
| 1086 | 1087 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1143 #ifdef SK_BUILD_FOR_ANDROID | 1144 #ifdef SK_BUILD_FOR_ANDROID |
| 1144 SkPaintOptionsAndroid fPaintOptionsAndroid; | 1145 SkPaintOptionsAndroid fPaintOptionsAndroid; |
| 1145 | 1146 |
| 1146 // In order for the == operator to work properly this must be the last field | 1147 // In order for the == operator to work properly this must be the last field |
| 1147 // in the struct so that we can do a memcmp to this field's offset. | 1148 // in the struct so that we can do a memcmp to this field's offset. |
| 1148 uint32_t fGenerationID; | 1149 uint32_t fGenerationID; |
| 1149 #endif | 1150 #endif |
| 1150 }; | 1151 }; |
| 1151 | 1152 |
| 1152 #endif | 1153 #endif |
| OLD | NEW |