SkTransparentShader.h revision 6806fe87e0b39e283291c1a1c7d1d864230aa2aa
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_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkTransparentShader) 25 26private: 27 // these are a cache from the call to setContext() 28 const SkBitmap* fDevice; 29 uint8_t fAlpha; 30 31 SkTransparentShader(SkFlattenableReadBuffer& buffer) : INHERITED(buffer) {} 32 33 typedef SkShader INHERITED; 34}; 35 36#endif 37