blob: 0aa9192e78b738c0e92862569f55252928b2c0d0 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
reed@android.com8a1c16f2008-12-17 15:59:43 +00002/*
epoger@google.comec3ed6a2011-07-28 14:26:00 +00003 * Copyright 2006 The Android Open Source Project
reed@android.com8a1c16f2008-12-17 15:59:43 +00004 *
epoger@google.comec3ed6a2011-07-28 14:26:00 +00005 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
reed@android.com8a1c16f2008-12-17 15:59:43 +00007 */
8
epoger@google.comec3ed6a2011-07-28 14:26:00 +00009
reed@android.com8a1c16f2008-12-17 15:59:43 +000010#ifndef SkTransparentShader_DEFINED
11#define SkTransparentShader_DEFINED
12
13#include "SkShader.h"
14
15class SkTransparentShader : public SkShader {
16public:
17 SkTransparentShader() {}
reed@google.com7716afb2011-12-07 15:17:50 +000018
19 virtual uint32_t getFlags() SK_OVERRIDE;
reed@android.com8a1c16f2008-12-17 15:59:43 +000020 virtual bool setContext( const SkBitmap& device,
21 const SkPaint& paint,
reed@google.com7716afb2011-12-07 15:17:50 +000022 const SkMatrix& matrix) SK_OVERRIDE;
23 virtual void shadeSpan(int x, int y, SkPMColor[], int count) SK_OVERRIDE;
24 virtual void shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE;
reed@android.com8a1c16f2008-12-17 15:59:43 +000025
26 // overrides for SkFlattenable
reed@google.com7716afb2011-12-07 15:17:50 +000027 virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
djsollen@google.comba28d032012-03-26 17:57:35 +000028 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTransparentShader)
reed@google.com7716afb2011-12-07 15:17:50 +000029
reed@android.com8a1c16f2008-12-17 15:59:43 +000030private:
31 // these are a cache from the call to setContext()
32 const SkBitmap* fDevice;
33 uint8_t fAlpha;
34
35 SkTransparentShader(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {}
36
reed@android.com8a1c16f2008-12-17 15:59:43 +000037 typedef SkShader INHERITED;
38};
39
40#endif
41