• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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     virtual void dirty();
23     virtual bool draw(SkAnimateMaker& );
24 #ifdef SK_DUMP_ENABLED
25     virtual void dump(SkAnimateMaker* );
26 #endif
27     virtual SkDisplayable* getParent() const;
28     virtual bool getProperty(int index, SkScriptValue* value) const;
29     virtual bool setParent(SkDisplayable* parent);
30     virtual bool setProperty(int index, SkScriptValue& );
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     virtual bool draw(SkAnimateMaker& );
45 #ifdef SK_DUMP_ENABLED
46     virtual void dump(SkAnimateMaker* );
47 #endif
48 protected:
49     SkScalar rx;
50     SkScalar ry;
51 private:
52     typedef SkDrawRect INHERITED;
53 };
54 
55 #endif // SkDrawRectangle_DEFINED
56