Chromium Code Reviews| Index: src/gpu/GrAtlasTextContext.h |
| diff --git a/src/gpu/GrAtlasTextContext.h b/src/gpu/GrAtlasTextContext.h |
| index c6e1d2f0b2d16b7966c4f9b7a426f3ebb38aec0b..55597cfcccd13e52c7c65eb962c636ae70d4fae4 100644 |
| --- a/src/gpu/GrAtlasTextContext.h |
| +++ b/src/gpu/GrAtlasTextContext.h |
| @@ -19,6 +19,11 @@ |
| #include "SkTextBlob.h" |
| #include "SkTInternalLList.h" |
| +#ifdef GR_TEST_UTILS |
| +#include "GrBatchTest.h" |
| +#endif |
| + |
| +class BitmapTextBatch; |
| class GrPipelineBuilder; |
| class GrTextBlobCache; |
| @@ -265,6 +270,10 @@ private: |
| inline void flushRunAsPaths(const SkTextBlob::RunIterator&, const SkPaint&, SkDrawFilter*, |
| const SkMatrix& viewMatrix, const SkIRect& clipBounds, SkScalar x, |
| SkScalar y); |
| + inline BitmapTextBatch* createBatch(BitmapTextBlob*, const PerSubRunInfo&, |
| + int glyphCount, int run, int subRun, |
| + GrColor, SkScalar transX, SkScalar transY, |
| + const SkPaint&); |
| inline void flushRun(GrDrawTarget*, GrPipelineBuilder*, BitmapTextBlob*, int run, GrColor, |
| SkScalar transX, SkScalar transY, const SkPaint&); |
| inline void flushBigGlyphs(BitmapTextBlob* cacheBlob, GrRenderTarget* rt, |
| @@ -332,6 +341,20 @@ private: |
| inline void initDistanceFieldPaint(BitmapTextBlob*, SkPaint*, SkScalar* textRatio, |
| const SkMatrix&); |
| + // Test methods |
| + // TODO this is really ugly. It'd be much nicer if positioning could be moved to batch |
|
robertphillips
2015/05/08 17:12:13
blarg
|
| + inline BitmapTextBlob* createDrawTextBlob(GrRenderTarget*, const GrClip&, const GrPaint&, |
| + const SkPaint&, const SkMatrix& viewMatrix, |
| + const char text[], size_t byteLength, |
| + SkScalar x, SkScalar y, |
| + const SkIRect& regionClipBounds); |
| + inline BitmapTextBlob* createDrawPosTextBlob(GrRenderTarget*, const GrClip&, const GrPaint&, |
| + const SkPaint&, const SkMatrix& viewMatrix, |
| + const char text[], size_t byteLength, |
| + const SkScalar pos[], int scalarsPerPosition, |
| + const SkPoint& offset, |
| + const SkIRect& regionClipBounds); |
| + |
| // Distance field text needs this table to compute a value for use in the fragment shader. |
| // Because the GrAtlasTextContext can go out of scope before the final flush, this needs to be |
| // refcnted and malloced |
| @@ -360,6 +383,10 @@ private: |
| friend class GrTextBlobCache; |
| friend class BitmapTextBatch; |
| +#ifdef GR_TEST_UTILS |
| + BATCH_TEST_FRIEND(TextBlob); |
| +#endif |
| + |
| typedef GrTextContext INHERITED; |
| }; |