Home | History | Annotate | Download | only in gpu
      1 /*
      2  * Copyright 2016 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 GrPathRenderingRenderTargetContext_DEFINED
      9 #define GrPathRenderingRenderTargetContext_DEFINED
     10 
     11 #include "text/GrStencilAndCoverTextContext.h"
     12 
     13 class GrPathRenderingRenderTargetContext : public GrRenderTargetContext {
     14 public:
     15     void drawText(const GrClip&, const SkPaint&, const SkMatrix& viewMatrix, const char text[],
     16                   size_t byteLength, SkScalar x, SkScalar y, const SkIRect& clipBounds) override;
     17     void drawPosText(const GrClip&, const SkPaint&, const SkMatrix& viewMatrix, const char text[],
     18                      size_t byteLength, const SkScalar pos[], int scalarsPerPosition,
     19                      const SkPoint& offset, const SkIRect& clipBounds) override;
     20     void drawTextBlob(const GrClip&, const SkPaint&,
     21                       const SkMatrix& viewMatrix, const SkTextBlob*,
     22                       SkScalar x, SkScalar y,
     23                       SkDrawFilter*, const SkIRect& clipBounds) override;
     24 protected:
     25     GrPathRenderingRenderTargetContext(GrContext* ctx, GrDrawingManager* mgr,
     26                                        sk_sp<GrRenderTargetProxy> rtp,
     27                                        sk_sp<SkColorSpace> colorSpace,
     28                                        const SkSurfaceProps* surfaceProps, GrAuditTrail* at,
     29                                        GrSingleOwner* so)
     30         : INHERITED(ctx, mgr, std::move(rtp), std::move(colorSpace), surfaceProps, at, so) {}
     31 
     32 private:
     33     std::unique_ptr<GrStencilAndCoverTextContext> fStencilAndCoverTextContext;
     34 
     35     friend class GrDrawingManager; // for ctor
     36 
     37     typedef GrRenderTargetContext INHERITED;
     38 };
     39 
     40 #endif
     41