diff options
Diffstat (limited to 'include/core/SkEmptyShader.h')
-rw-r--r-- | include/core/SkEmptyShader.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/include/core/SkEmptyShader.h b/include/core/SkEmptyShader.h new file mode 100644 index 0000000..bf270bf --- /dev/null +++ b/include/core/SkEmptyShader.h @@ -0,0 +1,43 @@ + +/* + * Copyright 2011 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + + +#ifndef SkEmptyShader_DEFINED +#define SkEmptyShader_DEFINED + +#include "SkShader.h" + +/** + * \class SkEmptyShader + * A Shader that always draws nothing. Its setContext always returns false, + * so it never expects that its shadeSpan() methods will get called. + */ +class SK_API SkEmptyShader : public SkShader { +public: + SkEmptyShader() {} + + virtual uint32_t getFlags() SK_OVERRIDE; + virtual uint8_t getSpan16Alpha() const SK_OVERRIDE; + virtual bool setContext(const SkBitmap&, const SkPaint&, + const SkMatrix&) SK_OVERRIDE; + virtual void shadeSpan(int x, int y, SkPMColor span[], int count) SK_OVERRIDE; + virtual void shadeSpan16(int x, int y, uint16_t span[], int count) SK_OVERRIDE; + virtual void shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) SK_OVERRIDE; + +protected: + SkEmptyShader(SkFlattenableReadBuffer&); + + virtual Factory getFactory() SK_OVERRIDE; + virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE; + +private: + typedef SkShader INHERITED; +}; + +#endif |