diff options
author | 2008-12-17 15:59:43 +0000 | |
---|---|---|
committer | 2008-12-17 15:59:43 +0000 | |
commit | 8a1c16ff38322f0210116fa7293eb8817c7e477e (patch) | |
tree | fe40e07f6c8983318a2f79032b9a706ede1090c1 /src/animator/SkPathParts.h | |
parent | 2559c629078f738ac37095d896d580b681ac6a30 (diff) |
grab from latest android
git-svn-id: http://skia.googlecode.com/svn/trunk@27 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'src/animator/SkPathParts.h')
-rw-r--r-- | src/animator/SkPathParts.h | 173 |
1 files changed, 173 insertions, 0 deletions
diff --git a/src/animator/SkPathParts.h b/src/animator/SkPathParts.h new file mode 100644 index 0000000000..72e41855de --- /dev/null +++ b/src/animator/SkPathParts.h @@ -0,0 +1,173 @@ +/* libs/graphics/animator/SkPathParts.h +** +** Copyright 2006, The Android Open Source Project +** +** Licensed under the Apache License, Version 2.0 (the "License"); +** you may not use this file except in compliance with the License. +** You may obtain a copy of the License at +** +** http://www.apache.org/licenses/LICENSE-2.0 +** +** Unless required by applicable law or agreed to in writing, software +** distributed under the License is distributed on an "AS IS" BASIS, +** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +** See the License for the specific language governing permissions and +** limitations under the License. +*/ + +#ifndef SkPathParts_DEFINED +#define SkPathParts_DEFINED + +#include "SkDisplayable.h" +#include "SkMemberInfo.h" +#include "SkPath.h" + +class SkDrawPath; +class SkDrawMatrix; + +class SkPathPart : public SkDisplayable { +public: + SkPathPart(); + virtual bool add() = 0; + virtual void dirty(); + virtual SkDisplayable* getParent() const; + virtual bool setParent(SkDisplayable* parent); +#ifdef SK_DEBUG + virtual bool isPathPart() const { return true; } +#endif +protected: + SkDrawPath* fPath; +}; + +class SkMoveTo : public SkPathPart { + DECLARE_MEMBER_INFO(MoveTo); + SkMoveTo(); + virtual bool add(); +protected: + SkScalar x; + SkScalar y; +}; + +class SkRMoveTo : public SkMoveTo { + DECLARE_MEMBER_INFO(RMoveTo); + virtual bool add(); +private: + typedef SkMoveTo INHERITED; +}; + +class SkLineTo : public SkPathPart { + DECLARE_MEMBER_INFO(LineTo); + SkLineTo(); + virtual bool add(); +protected: + SkScalar x; + SkScalar y; +}; + +class SkRLineTo : public SkLineTo { + DECLARE_MEMBER_INFO(RLineTo); + virtual bool add(); +private: + typedef SkLineTo INHERITED; +}; + +class SkQuadTo : public SkPathPart { + DECLARE_MEMBER_INFO(QuadTo); + SkQuadTo(); + virtual bool add(); +protected: + SkScalar x1; + SkScalar y1; + SkScalar x2; + SkScalar y2; +}; + +class SkRQuadTo : public SkQuadTo { + DECLARE_MEMBER_INFO(RQuadTo); + virtual bool add(); +private: + typedef SkQuadTo INHERITED; +}; + +class SkCubicTo : public SkPathPart { + DECLARE_MEMBER_INFO(CubicTo); + SkCubicTo(); + virtual bool add(); +protected: + SkScalar x1; + SkScalar y1; + SkScalar x2; + SkScalar y2; + SkScalar x3; + SkScalar y3; +}; + +class SkRCubicTo : public SkCubicTo { + DECLARE_MEMBER_INFO(RCubicTo); + virtual bool add(); +private: + typedef SkCubicTo INHERITED; +}; + +class SkClose : public SkPathPart { + DECLARE_EMPTY_MEMBER_INFO(Close); + virtual bool add(); +}; + +class SkAddGeom : public SkPathPart { + DECLARE_PRIVATE_MEMBER_INFO(AddGeom); + SkAddGeom(); +protected: + int /*SkPath::Direction*/ direction; +}; + +class SkAddRect : public SkAddGeom { + DECLARE_MEMBER_INFO(AddRect); + SkAddRect(); + virtual bool add(); +protected: + SkRect fRect; +private: + typedef SkAddGeom INHERITED; +}; + +class SkAddOval : public SkAddRect { + DECLARE_MEMBER_INFO(AddOval); + virtual bool add(); +private: + typedef SkAddRect INHERITED; +}; + +class SkAddCircle : public SkAddGeom { + DECLARE_MEMBER_INFO(AddCircle); + SkAddCircle(); + virtual bool add(); +private: + SkScalar radius; + SkScalar x; + SkScalar y; + typedef SkAddGeom INHERITED; +}; + +class SkAddRoundRect : public SkAddRect { + DECLARE_MEMBER_INFO(AddRoundRect); + SkAddRoundRect(); + virtual bool add(); +private: + SkScalar rx; + SkScalar ry; + typedef SkAddRect INHERITED; +}; + +class SkAddPath : public SkPathPart { + DECLARE_MEMBER_INFO(AddPath); + SkAddPath(); + virtual bool add(); +private: + typedef SkPathPart INHERITED; + SkDrawMatrix* matrix; + SkDrawPath* path; +}; + +#endif // SkPathParts_DEFINED + |