| |
| /* |
| * 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 SkRectShape_DEFINED |
| #define SkRectShape_DEFINED |
| |
| #include "SkShape.h" |
| #include "SkPaint.h" |
| #include "SkSize.h" |
| |
| class SkPaintShape : public SkShape { |
| public: |
| SkPaintShape(); |
| |
| SkPaint& paint() { return fPaint; } |
| const SkPaint& paint() const { return fPaint; } |
| |
| protected: |
| SkPaintShape(SkFlattenableReadBuffer& buffer); |
| virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; |
| |
| private: |
| SkPaint fPaint; |
| |
| typedef SkShape INHERITED; |
| }; |
| |
| class SkRectShape : public SkPaintShape { |
| public: |
| SkRectShape(); |
| |
| void setRect(const SkRect&); |
| void setOval(const SkRect&); |
| void setCircle(SkScalar x, SkScalar y, SkScalar radius); |
| void setRRect(const SkRect&, SkScalar rx, SkScalar ry); |
| |
| SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkRectShape) |
| |
| protected: |
| SkRectShape(SkFlattenableReadBuffer&); |
| virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; |
| |
| // overrides |
| virtual void onDraw(SkCanvas*); |
| |
| private: |
| SkRect fBounds; |
| SkSize fRadii; |
| |
| typedef SkPaintShape INHERITED; |
| }; |
| |
| #endif |