44ed7c477dc7875d5c2e511b9c3d9699e1744181
[platform/upstream/libSkiaSharp.git] / src / animator / SkDrawRectangle.h
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() SK_OVERRIDE;
23     bool draw(SkAnimateMaker& ) SK_OVERRIDE;
24 #ifdef SK_DUMP_ENABLED
25     void dump(SkAnimateMaker* ) SK_OVERRIDE;
26 #endif
27     SkDisplayable* getParent() const SK_OVERRIDE;
28     bool getProperty(int index, SkScriptValue* value) const SK_OVERRIDE;
29     bool setParent(SkDisplayable* parent) SK_OVERRIDE;
30     bool setProperty(int index, SkScriptValue& ) SK_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& ) SK_OVERRIDE;
45 #ifdef SK_DUMP_ENABLED
46     void dump(SkAnimateMaker* ) SK_OVERRIDE;
47 #endif
48 protected:
49     SkScalar rx;
50     SkScalar ry;
51 private:
52     typedef SkDrawRect INHERITED;
53 };
54
55 #endif // SkDrawRectangle_DEFINED