| OLD | NEW |
| 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 15 matching lines...) Expand all Loading... |
| 26 class SkGlyphCache; | 26 class SkGlyphCache; |
| 27 class SkImageFilter; | 27 class SkImageFilter; |
| 28 class SkMaskFilter; | 28 class SkMaskFilter; |
| 29 class SkPath; | 29 class SkPath; |
| 30 class SkPathEffect; | 30 class SkPathEffect; |
| 31 struct SkPoint; | 31 struct SkPoint; |
| 32 class SkRasterizer; | 32 class SkRasterizer; |
| 33 struct SkScalerContextEffects; | 33 struct SkScalerContextEffects; |
| 34 class SkShader; | 34 class SkShader; |
| 35 class SkSurfaceProps; | 35 class SkSurfaceProps; |
| 36 class SkTextBlob; |
| 36 class SkTypeface; | 37 class SkTypeface; |
| 37 | 38 |
| 38 #define kBicubicFilterBitmap_Flag kHighQualityFilterBitmap_Flag | 39 #define kBicubicFilterBitmap_Flag kHighQualityFilterBitmap_Flag |
| 39 | 40 |
| 40 /** \class SkPaint | 41 /** \class SkPaint |
| 41 | 42 |
| 42 The SkPaint class holds the style and color information about how to draw | 43 The SkPaint class holds the style and color information about how to draw |
| 43 geometries, text and bitmaps. | 44 geometries, text and bitmaps. |
| 44 */ | 45 */ |
| 45 class SK_API SkPaint { | 46 class SK_API SkPaint { |
| (...skipping 911 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 957 * @param length number of bytes of text | 958 * @param length number of bytes of text |
| 958 * @param pos array of positions, used to position each character | 959 * @param pos array of positions, used to position each character |
| 959 * @param bounds The lower and upper line parallel to the advance. | 960 * @param bounds The lower and upper line parallel to the advance. |
| 960 * @param array If not null, the glyph bounds contained by the advan
ce parallel lines. | 961 * @param array If not null, the glyph bounds contained by the advan
ce parallel lines. |
| 961 * | 962 * |
| 962 * @return The number of intersections, which may be zero. | 963 * @return The number of intersections, which may be zero. |
| 963 */ | 964 */ |
| 964 int getPosTextIntercepts(const void* text, size_t length, const SkPoint pos[
], | 965 int getPosTextIntercepts(const void* text, size_t length, const SkPoint pos[
], |
| 965 const SkScalar bounds[2], SkScalar* intervals) cons
t; | 966 const SkScalar bounds[2], SkScalar* intervals) cons
t; |
| 966 | 967 |
| 968 /** Return the number of intervals that intersect the intercept along the ax
is of the advance. |
| 969 * The return count is zero or a multiple of two, and is at most the number
of glyphs * 2 in |
| 970 * string. The caller may pass nullptr for intervals to determine the size
of the interval |
| 971 * array, or may conservatively pre-allocate an array with length * 2 entri
es. The computed |
| 972 * intervals are cached by glyph to improve performance for multiple calls. |
| 973 * This permits constructing an underline that skips the descenders. |
| 974 * |
| 975 * @param text The text. |
| 976 * @param length Number of bytes of text. |
| 977 * @param xpos Array of x-positions, used to position each characte
r. |
| 978 * @param constY The shared Y coordinate for all of the positions. |
| 979 * @param bounds The lower and upper line parallel to the advance. |
| 980 * @param array If not null, the glyph bounds contained by the advan
ce parallel lines. |
| 981 * |
| 982 * @return The number of intersections, which may be zero. |
| 983 */ |
| 984 int getPosTextHIntercepts(const void* text, size_t length, const SkScalar xp
os[], |
| 985 SkScalar constY, const SkScalar bounds[2], SkScala
r* intervals) const; |
| 986 |
| 987 /** Return the number of intervals that intersect the intercept along the ax
is of the advance. |
| 988 * The return count is zero or a multiple of two, and is at most the number
of glyphs * 2 in |
| 989 * text blob. The caller may pass nullptr for intervals to determine the si
ze of the interval |
| 990 * array. The computed intervals are cached by glyph to improve performance
for multiple calls. |
| 991 * This permits constructing an underline that skips the descenders. |
| 992 * |
| 993 * @param blob The text blob. |
| 994 * @param bounds The lower and upper line parallel to the advance. |
| 995 * @param array If not null, the glyph bounds contained by the advan
ce parallel lines. |
| 996 * |
| 997 * @return The number of intersections, which may be zero. |
| 998 */ |
| 999 int getTextBlobIntercepts(const SkTextBlob* blob, const SkScalar bounds[2], |
| 1000 SkScalar* intervals) const; |
| 1001 |
| 967 /** | 1002 /** |
| 968 * Return a rectangle that represents the union of the bounds of all | 1003 * Return a rectangle that represents the union of the bounds of all |
| 969 * of the glyphs, but each one positioned at (0,0). This may be conservativ
ely large, and | 1004 * of the glyphs, but each one positioned at (0,0). This may be conservativ
ely large, and |
| 970 * will not take into account any hinting, but will respect any text-scale-
x or text-skew-x | 1005 * will not take into account any hinting, but will respect any text-scale-
x or text-skew-x |
| 971 * on this paint. | 1006 * on this paint. |
| 972 */ | 1007 */ |
| 973 SkRect getFontBounds() const; | 1008 SkRect getFontBounds() const; |
| 974 | 1009 |
| 975 // returns true if the paint's settings (e.g. xfermode + alpha) resolve to | 1010 // returns true if the paint's settings (e.g. xfermode + alpha) resolve to |
| 976 // mean that we need not draw at all (e.g. SrcOver + 0-alpha) | 1011 // mean that we need not draw at all (e.g. SrcOver + 0-alpha) |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1174 friend class GrStencilAndCoverTextContext; | 1209 friend class GrStencilAndCoverTextContext; |
| 1175 friend class GrPathRendering; | 1210 friend class GrPathRendering; |
| 1176 friend class GrTextUtils; | 1211 friend class GrTextUtils; |
| 1177 friend class GrGLPathRendering; | 1212 friend class GrGLPathRendering; |
| 1178 friend class SkScalerContext; | 1213 friend class SkScalerContext; |
| 1179 friend class SkTextBaseIter; | 1214 friend class SkTextBaseIter; |
| 1180 friend class SkCanonicalizePaint; | 1215 friend class SkCanonicalizePaint; |
| 1181 }; | 1216 }; |
| 1182 | 1217 |
| 1183 #endif | 1218 #endif |
| OLD | NEW |