Home | History | Annotate | Download | only in effects
      1 /*
      2  * Copyright 2006 The Android Open Source Project
      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 SkTransparentShader_DEFINED
      9 #define SkTransparentShader_DEFINED
     10 
     11 #include "SkShader.h"
     12 
     13 class SK_API SkTransparentShader : public SkShader {
     14 public:
     15     SkTransparentShader() {}
     16 
     17     virtual uint32_t getFlags() SK_OVERRIDE;
     18     virtual bool    setContext(const SkBitmap& device,
     19                                const SkPaint& paint,
     20                                const SkMatrix& matrix) SK_OVERRIDE;
     21     virtual void    shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE;
     22     virtual void    shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE;
     23 
     24     SK_DEVELOPER_TO_STRING()
     25     SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTransparentShader)
     26 
     27 private:
     28     // these are a cache from the call to setContext()
     29     const SkBitmap* fDevice;
     30     uint8_t         fAlpha;
     31 
     32     SkTransparentShader(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
     33 
     34     typedef SkShader INHERITED;
     35 };
     36 
     37 #endif
     38