LCOV - code coverage report
Current view: top level - gfx/skia/skia/src/core - SkPictureShader.h (source / functions) Hit Total Coverage
Test: output.info Lines: 0 3 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 5 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :  * Copyright 2014 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 SkPictureShader_DEFINED
       9             : #define SkPictureShader_DEFINED
      10             : 
      11             : #include "SkShader.h"
      12             : 
      13             : class SkArenaAlloc;
      14             : class SkBitmap;
      15             : class SkPicture;
      16             : 
      17             : /*
      18             :  * An SkPictureShader can be used to draw SkPicture-based patterns.
      19             :  *
      20             :  * The SkPicture is first rendered into a tile, which is then used to shade the area according
      21             :  * to specified tiling rules.
      22             :  */
      23           0 : class SkPictureShader : public SkShader {
      24             : public:
      25             :     static sk_sp<SkShader> Make(sk_sp<SkPicture>, TileMode, TileMode, const SkMatrix*,
      26             :                                 const SkRect*);
      27             : 
      28             :     SK_TO_STRING_OVERRIDE()
      29           0 :     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkPictureShader)
      30             : 
      31             : #if SK_SUPPORT_GPU
      32             :     sk_sp<GrFragmentProcessor> asFragmentProcessor(const AsFPArgs&) const override;
      33             : #endif
      34             : 
      35             : protected:
      36             :     SkPictureShader(SkReadBuffer&);
      37             :     void flatten(SkWriteBuffer&) const override;
      38             :     bool onAppendStages(SkRasterPipeline*, SkColorSpace*, SkArenaAlloc*,
      39             :                         const SkMatrix&, const SkPaint&, const SkMatrix*) const override;
      40             :     Context* onMakeContext(const ContextRec&, SkArenaAlloc*) const override;
      41             : 
      42             : private:
      43             :     SkPictureShader(sk_sp<SkPicture>, TileMode, TileMode, const SkMatrix*, const SkRect*);
      44             : 
      45             :     sk_sp<SkShader> refBitmapShader(const SkMatrix&, const SkMatrix* localMatrix,
      46             :                                     SkColorSpace* dstColorSpace,
      47             :                                     const int maxTextureSize = 0) const;
      48             : 
      49             :     sk_sp<SkPicture>    fPicture;
      50             :     SkRect              fTile;
      51             :     TileMode            fTmx, fTmy;
      52             : 
      53           0 :     class PictureShaderContext : public SkShader::Context {
      54             :     public:
      55             :         PictureShaderContext(
      56             :             const SkPictureShader&, const ContextRec&, sk_sp<SkShader> bitmapShader, SkArenaAlloc*);
      57             : 
      58             :         uint32_t getFlags() const override;
      59             : 
      60             :         ShadeProc asAShadeProc(void** ctx) override;
      61             :         void shadeSpan(int x, int y, SkPMColor dstC[], int count) override;
      62             : 
      63             :         sk_sp<SkShader>     fBitmapShader;
      64             :         SkShader::Context*  fBitmapShaderContext;
      65             :         void*               fBitmapShaderContextStorage;
      66             : 
      67             :         typedef SkShader::Context INHERITED;
      68             :     };
      69             : 
      70             :     typedef SkShader INHERITED;
      71             : };
      72             : 
      73             : #endif // SkPictureShader_DEFINED

Generated by: LCOV version 1.13