1 2 /* 3 * Copyright 2006 The Android Open Source Project 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 10 #ifndef SkDrawRectangle_DEFINED 11 #define SkDrawRectangle_DEFINED 12 13 #include "SkBoundable.h" 14 #include "SkMemberInfo.h" 15 #include "SkRect.h" 16 17 class SkRectToRect; 18 19 class SkDrawRect : public SkBoundable { 20 DECLARE_DRAW_MEMBER_INFO(Rect); 21 SkDrawRect(); 22 void dirty() override; 23 bool draw(SkAnimateMaker& ) override; 24 #ifdef SK_DUMP_ENABLED 25 void dump(SkAnimateMaker* ) override; 26 #endif 27 SkDisplayable* getParent() const override; 28 bool getProperty(int index, SkScriptValue* value) const override; 29 bool setParent(SkDisplayable* parent) override; 30 bool setProperty(int index, SkScriptValue& ) override; 31 protected: 32 SkRect fRect; 33 SkDisplayable* fParent; 34 private: 35 friend class SkDrawClip; 36 friend class SkRectToRect; 37 friend class SkSaveLayer; 38 typedef SkBoundable INHERITED; 39 }; 40 41 class SkRoundRect : public SkDrawRect { 42 DECLARE_MEMBER_INFO(RoundRect); 43 SkRoundRect(); 44 bool draw(SkAnimateMaker& ) override; 45 #ifdef SK_DUMP_ENABLED 46 void dump(SkAnimateMaker* ) override; 47 #endif 48 protected: 49 SkScalar rx; 50 SkScalar ry; 51 private: 52 typedef SkDrawRect INHERITED; 53 }; 54 55 #endif // SkDrawRectangle_DEFINED 56