aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkGlyphRun.h
diff options
context:
space:
mode:
authorGravatar Herb Derby <herb@google.com>2018-07-30 10:10:40 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-07-31 20:51:18 +0000
commit0ab5ce151c4507966c135ab3986cf2b28b36d6c6 (patch)
tree42fac4dd57f2027f027be03f43343059f27b30af /src/core/SkGlyphRun.h
parenta83bb57bfe2be07a7fb60cd01417e8c69e77e967 (diff)
Move path leaf loop to drawer
This CL makes GPU and Raster use the same path drawing interface. When I get the main body of regenerate over into the glyph run system, I I can refactor a lot of annoyingly similar code away. Change-Id: I6bd2e6119570062695d6943565749d85555b03fa Reviewed-on: https://skia-review.googlesource.com/144350 Reviewed-by: Jim Van Verth <jvanverth@google.com> Commit-Queue: Herb Derby <herb@google.com>
Diffstat (limited to 'src/core/SkGlyphRun.h')
-rw-r--r--src/core/SkGlyphRun.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/core/SkGlyphRun.h b/src/core/SkGlyphRun.h
index 6bdc633091..7f9307292c 100644
--- a/src/core/SkGlyphRun.h
+++ b/src/core/SkGlyphRun.h
@@ -119,21 +119,21 @@ public:
using PerMask = std::function<void(const SkMask&, const SkGlyph&, SkPoint)>;
using PerMaskCreator = std::function<PerMask(const SkPaint&, SkArenaAlloc* alloc)>;
- using PerPath = std::function<void(const SkPath&, const SkMatrix&)>;
- using PerPathCreator = std::function<PerPath(const SkPaint&, SkArenaAlloc* alloc)>;
+ using PerPath = std::function<void(const SkPath*, const SkGlyph&, SkPoint)>;
+ using PerPathCreator = std::function<PerPath(
+ const SkPaint&, SkScalar matrixScale,SkArenaAlloc* alloc)>;
void drawForBitmapDevice(
const SkGlyphRunList& glyphRunList, const SkMatrix& deviceMatrix,
PerMaskCreator perMaskCreator, PerPathCreator perPathCreator);
void drawUsingMasks(
SkGlyphCache* cache, const SkGlyphRun& glyphRun, SkPoint origin,
const SkMatrix& deviceMatrix, PerMask perMask);
+ void drawUsingPaths(
+ const SkGlyphRun& glyphRun, SkPoint origin, SkGlyphCache* cache, PerPath perPath) const;
private:
static bool ShouldDrawAsPath(const SkPaint& paint, const SkMatrix& matrix);
bool ensureBitmapBuffers(size_t runSize);
- void drawUsingPaths(
- const SkGlyphRun& glyphRun, SkPoint origin,
- const SkSurfaceProps& props, PerPath perPath) const;
void drawGlyphRunAsSubpixelMask(
SkGlyphCache* cache, const SkGlyphRun& glyphRun,
SkPoint origin, const SkMatrix& deviceMatrix,