blob: 9f8bc0a13a18c935ff1df30dde9c90c4cd9d7678 [file] [log] [blame]
reed@android.com8a1c16f2008-12-17 15:59:43 +00001/* libs/graphics/animator/SkDrawRectangle.h
2**
3** Copyright 2006, The Android Open Source Project
4**
5** Licensed under the Apache License, Version 2.0 (the "License");
6** you may not use this file except in compliance with the License.
7** You may obtain a copy of the License at
8**
9** http://www.apache.org/licenses/LICENSE-2.0
10**
11** Unless required by applicable law or agreed to in writing, software
12** distributed under the License is distributed on an "AS IS" BASIS,
13** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14** See the License for the specific language governing permissions and
15** limitations under the License.
16*/
17
18#ifndef SkDrawRectangle_DEFINED
19#define SkDrawRectangle_DEFINED
20
21#include "SkBoundable.h"
22#include "SkMemberInfo.h"
23#include "SkRect.h"
24
25class SkRectToRect;
26
27class SkDrawRect : public SkBoundable {
28 DECLARE_DRAW_MEMBER_INFO(Rect);
29 SkDrawRect();
30 virtual void dirty();
31 virtual bool draw(SkAnimateMaker& );
32#ifdef SK_DUMP_ENABLED
33 virtual void dump(SkAnimateMaker* );
34#endif
35 virtual SkDisplayable* getParent() const;
36 virtual bool getProperty(int index, SkScriptValue* value) const;
37 virtual bool setParent(SkDisplayable* parent);
38 virtual bool setProperty(int index, SkScriptValue& );
39protected:
40 SkRect fRect;
41 SkDisplayable* fParent;
42private:
43 friend class SkDrawClip;
44 friend class SkRectToRect;
45 friend class SkSaveLayer;
46 typedef SkBoundable INHERITED;
47};
48
49class SkRoundRect : public SkDrawRect {
50 DECLARE_MEMBER_INFO(RoundRect);
51 SkRoundRect();
52 virtual bool draw(SkAnimateMaker& );
53#ifdef SK_DUMP_ENABLED
54 virtual void dump(SkAnimateMaker* );
55#endif
56protected:
57 SkScalar rx;
58 SkScalar ry;
59private:
60 typedef SkDrawRect INHERITED;
61};
62
63#endif // SkDrawRectangle_DEFINED
64