1/* 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 65