1 2 /* 3 * Copyright 2012 Google Inc. 4 * 5 * Use of this source code is governed by a BSD-style license that can be 6 * found in the LICENSE file. 7 */ 8 9 #ifndef SkSweepGradient_DEFINED 10 #define SkSweepGradient_DEFINED 11 12 #include "SkGradientShaderPriv.h" 13 14 class SkSweepGradient : public SkGradientShaderBase { 15 public: 16 SkSweepGradient(SkScalar cx, SkScalar cy, const Descriptor&); 17 virtual void shadeSpan(int x, int y, SkPMColor dstC[], int count) SK_OVERRIDE; 18 virtual void shadeSpan16(int x, int y, uint16_t dstC[], int count) SK_OVERRIDE; 19 20 virtual BitmapType asABitmap(SkBitmap* bitmap, 21 SkMatrix* matrix, 22 TileMode* xy) const SK_OVERRIDE; 23 24 virtual GradientType asAGradient(GradientInfo* info) const SK_OVERRIDE; 25 26 virtual GrEffectRef* asNewEffect(GrContext* context, const SkPaint&) const SK_OVERRIDE; 27 28 SK_DEVELOPER_TO_STRING() 29 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkSweepGradient) 30 31 protected: 32 SkSweepGradient(SkFlattenableReadBuffer& buffer); 33 virtual void flatten(SkFlattenableWriteBuffer& buffer) const SK_OVERRIDE; 34 35 private: 36 typedef SkGradientShaderBase INHERITED; 37 const SkPoint fCenter; 38 }; 39 40 #endif 41