virtual ~SkColorShader();
- virtual uint32_t getFlags() { return fFlags; }
- virtual uint8_t getSpan16Alpha() const;
+ virtual uint32_t getFlags() SK_OVERRIDE;
+ virtual uint8_t getSpan16Alpha() const SK_OVERRIDE;
virtual bool setContext(const SkBitmap& device, const SkPaint& paint,
- const SkMatrix& matrix);
- virtual void shadeSpan(int x, int y, SkPMColor span[], int count);
- virtual void shadeSpan16(int x, int y, uint16_t span[], int count);
- virtual void shadeSpanAlpha(int x, int y, uint8_t alpha[], int count);
+ const SkMatrix& matrix) 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;
// we return false for this, use asAGradient
virtual BitmapType asABitmap(SkBitmap* outTexture,
SkMatrix* outMatrix,
TileMode xy[2],
- SkScalar* twoPointRadialParams) const;
+ SkScalar* twoPointRadialParams) const SK_OVERRIDE;
- virtual GradientType asAGradient(GradientInfo* info) const;
+ virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE;
protected:
- SkColorShader(SkFlattenableReadBuffer& );
- virtual void flatten(SkFlattenableWriteBuffer& );
- virtual Factory getFactory() { return CreateProc; }
+ SkColorShader(SkFlattenableReadBuffer&);
+
+ virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
+ virtual Factory getFactory() SK_OVERRIDE;
+
private:
- static SkFlattenable* CreateProc(SkFlattenableReadBuffer& buffer) {
- return SkNEW_ARGS(SkColorShader, (buffer));
- }
+ static SkFlattenable* CreateProc(SkFlattenableReadBuffer&);
+
SkColor fColor; // ignored if fInheritColor is true
SkPMColor fPMColor; // cached after setContext()
uint32_t fFlags; // cached after setContext()
/**
* \class SkEmptyShader
- * A Shader that always draws nothing.
+ * 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();
+ SkEmptyShader() {}
- virtual uint32_t getFlags();
- virtual uint8_t getSpan16Alpha() const;
- virtual bool setContext(const SkBitmap& device, const SkPaint& paint,
- const SkMatrix& matrix);
- virtual void shadeSpan(int x, int y, SkPMColor span[], int count);
- virtual void shadeSpan16(int x, int y, uint16_t span[], int count);
- virtual void shadeSpanAlpha(int x, int y, uint8_t alpha[], int count);
+ 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();
- virtual void flatten(SkFlattenableWriteBuffer&);
+
+ virtual Factory getFactory() SK_OVERRIDE;
+ virtual void flatten(SkFlattenableWriteBuffer&) SK_OVERRIDE;
private:
typedef SkShader INHERITED;
buffer.write32(fColor);
}
+SkFlattenable* SkColorShader::CreateProc(SkFlattenableReadBuffer& buffer) {
+ return SkNEW_ARGS(SkColorShader, (buffer));
+}
+
+SkFlattenable::Factory SkColorShader::getFactory() {
+ return CreateProc;
+}
+
+uint32_t SkColorShader::getFlags() {
+ return fFlags;
+}
+
uint8_t SkColorShader::getSpan16Alpha() const {
return SkGetPackedA32(fPMColor);
}
#include "SkEmptyShader.h"
-SkEmptyShader::SkEmptyShader() {}
SkEmptyShader::SkEmptyShader(SkFlattenableReadBuffer& b) : INHERITED(b) {}
uint32_t SkEmptyShader::getFlags() { return 0; }
uint8_t SkEmptyShader::getSpan16Alpha() const { return 0; }
-bool SkEmptyShader::setContext(const SkBitmap& device, const SkPaint& paint,
- const SkMatrix& matrix) {
- return false;
+
+bool SkEmptyShader::setContext(const SkBitmap&, const SkPaint&,
+ const SkMatrix&) { return false; }
+
+void SkEmptyShader::shadeSpan(int x, int y, SkPMColor span[], int count) {
+ SkASSERT(!"should never get called, since setContext() returned false");
+}
+
+void SkEmptyShader::shadeSpan16(int x, int y, uint16_t span[], int count) {
+ SkASSERT(!"should never get called, since setContext() returned false");
+}
+
+void SkEmptyShader::shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) {
+ SkASSERT(!"should never get called, since setContext() returned false");
}
-void SkEmptyShader::shadeSpan(int x, int y, SkPMColor span[], int count) {}
-void SkEmptyShader::shadeSpan16(int x, int y, uint16_t span[], int count) {}
-void SkEmptyShader::shadeSpanAlpha(int x, int y, uint8_t alpha[], int count) {}
SkFlattenable::Factory SkEmptyShader::getFactory() { return NULL; }
+
void SkEmptyShader::flatten(SkFlattenableWriteBuffer& buffer) {
this->INHERITED::flatten(buffer);
}