196880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt/* 296880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt * Copyright 2016 Google Inc. 396880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt * 496880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt * Use of this source code is governed by a BSD-style license that can be 596880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt * found in the LICENSE file. 696880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt */ 796880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt 81105224f9701e57ec5ce0354d6a380b664f5c638Brian Osman#ifndef GrPathRenderingRenderTargetContext_DEFINED 91105224f9701e57ec5ce0354d6a380b664f5c638Brian Osman#define GrPathRenderingRenderTargetContext_DEFINED 1096880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt 116b20a559968e1ed0d3aa4ecbd6ddda9e681b4f86Hal Canary#include "text/GrStencilAndCoverTextContext.h" 1296880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt 131105224f9701e57ec5ce0354d6a380b664f5c638Brian Osmanclass GrPathRenderingRenderTargetContext : public GrRenderTargetContext { 1496880d9e366d58e5960aa0ee6aa67260797679ebjoshualittpublic: 156f1d36cc54dc635f5e4d0f925ef79c14914342bbBrian Salomon void drawText(const GrClip&, const SkPaint&, const SkMatrix& viewMatrix, const char text[], 166f1d36cc54dc635f5e4d0f925ef79c14914342bbBrian Salomon size_t byteLength, SkScalar x, SkScalar y, const SkIRect& clipBounds) override; 176f1d36cc54dc635f5e4d0f925ef79c14914342bbBrian Salomon void drawPosText(const GrClip&, const SkPaint&, const SkMatrix& viewMatrix, const char text[], 186f1d36cc54dc635f5e4d0f925ef79c14914342bbBrian Salomon size_t byteLength, const SkScalar pos[], int scalarsPerPosition, 196f1d36cc54dc635f5e4d0f925ef79c14914342bbBrian Salomon const SkPoint& offset, const SkIRect& clipBounds) override; 2096880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt void drawTextBlob(const GrClip&, const SkPaint&, 2196880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt const SkMatrix& viewMatrix, const SkTextBlob*, 2296880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt SkScalar x, SkScalar y, 2396880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt SkDrawFilter*, const SkIRect& clipBounds) override; 2496880d9e366d58e5960aa0ee6aa67260797679ebjoshualittprotected: 251105224f9701e57ec5ce0354d6a380b664f5c638Brian Osman GrPathRenderingRenderTargetContext(GrContext* ctx, GrDrawingManager* mgr, 26c7635fa374b87711e5ccd8222957a8fbdc772f7bRobert Phillips sk_sp<GrRenderTargetProxy> rtp, 27c7635fa374b87711e5ccd8222957a8fbdc772f7bRobert Phillips sk_sp<SkColorSpace> colorSpace, 281105224f9701e57ec5ce0354d6a380b664f5c638Brian Osman const SkSurfaceProps* surfaceProps, GrAuditTrail* at, 291105224f9701e57ec5ce0354d6a380b664f5c638Brian Osman GrSingleOwner* so) 30c7635fa374b87711e5ccd8222957a8fbdc772f7bRobert Phillips : INHERITED(ctx, mgr, std::move(rtp), std::move(colorSpace), surfaceProps, at, so) {} 3196880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt 3296880d9e366d58e5960aa0ee6aa67260797679ebjoshualittprivate: 33145dbcd165d9d27298eb8888bc240e2d06a95464Ben Wagner std::unique_ptr<GrStencilAndCoverTextContext> fStencilAndCoverTextContext; 3496880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt 3596880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt friend class GrDrawingManager; // for ctor 3696880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt 371105224f9701e57ec5ce0354d6a380b664f5c638Brian Osman typedef GrRenderTargetContext INHERITED; 3896880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt}; 3996880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt 4096880d9e366d58e5960aa0ee6aa67260797679ebjoshualitt#endif 41