SkTransparentShader.h revision 0f10f7bf1fb43ca6346dc220a076773b1f19a367
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 13class SK_API SkTransparentShader : public SkShader { 14public: 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_TO_STRING_OVERRIDE() 25 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTransparentShader) 26 27private: 28 // these are a cache from the call to setContext() 29 const SkBitmap* fDevice; 30 uint8_t fAlpha; 31 32 SkTransparentShader(SkReadBuffer& buffer) : INHERITED(buffer) {} 33 34 typedef SkShader INHERITED; 35}; 36 37#endif 38