OLD | NEW |
| (Empty) |
1 /* | |
2 * Copyright 2015 Google Inc. | |
3 * | |
4 * Use of this source code is governed by a BSD-style license that can be | |
5 * found in the LICENSE file. | |
6 */ | |
7 | |
8 #ifndef GrTextUtils_DEFINED | |
9 #define GrTextUtils_DEFINED | |
10 | |
11 #include "GrColor.h" | |
12 #include "SkScalar.h" | |
13 | |
14 class GrAtlasTextBlob; | |
15 class GrBatchFontCache; | |
16 class GrBatchTextStrike; | |
17 class GrClip; | |
18 class GrContext; | |
19 class GrDrawContext; | |
20 class GrFontScaler; | |
21 class SkGlyph; | |
22 class SkMatrix; | |
23 struct SkIRect; | |
24 class SkPaint; | |
25 struct SkPoint; | |
26 class SkGlyphCache; | |
27 class SkSurfaceProps; | |
28 | |
29 /* | |
30 * A class to house a bunch of common text utilities. This class should *ONLY*
have static | |
31 * functions. It is not a namespace only because we wish to friend SkPaint | |
32 * | |
33 */ | |
34 class GrTextUtils { | |
35 public: | |
36 // Functions for appending BMP text to GrAtlasTextBlob | |
37 static void DrawBmpText(GrAtlasTextBlob*, int runIndex, | |
38 GrBatchFontCache*, SkGlyphCache*, const SkPaint&, | |
39 GrColor, const SkMatrix& viewMatrix, | |
40 const char text[], size_t byteLength, | |
41 SkScalar x, SkScalar y); | |
42 | |
43 static void DrawBmpPosText(GrAtlasTextBlob*, int runIndex, | |
44 GrBatchFontCache*, SkGlyphCache*, const SkPaint&, | |
45 GrColor, const SkMatrix& viewMatrix, | |
46 const char text[], size_t byteLength, | |
47 const SkScalar pos[], int scalarsPerPosition, | |
48 const SkPoint& offset); | |
49 | |
50 // Functions for drawing text as paths | |
51 static void DrawTextAsPath(GrContext*, GrDrawContext*, const GrClip& clip, | |
52 const SkPaint& origPaint, const SkMatrix& viewMat
rix, | |
53 const char text[], size_t byteLength, SkScalar x,
SkScalar y, | |
54 const SkIRect& clipBounds); | |
55 | |
56 static void DrawPosTextAsPath(GrContext* context, | |
57 GrDrawContext* dc, | |
58 const SkSurfaceProps& props, | |
59 const GrClip& clip, | |
60 const SkPaint& origPaint, const SkMatrix& view
Matrix, | |
61 const char text[], size_t byteLength, | |
62 const SkScalar pos[], int scalarsPerPosition, | |
63 const SkPoint& offset, const SkIRect& clipBoun
ds); | |
64 private: | |
65 static void BmpAppendGlyph(GrAtlasTextBlob*, int runIndex, GrBatchFontCache*
, | |
66 GrBatchTextStrike**, const SkGlyph&, int left, in
t top, | |
67 GrColor color, GrFontScaler*); | |
68 }; | |
69 | |
70 #endif | |
OLD | NEW |