gfx/skia/trunk/src/animator/SkPathParts.h

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/skia/trunk/src/animator/SkPathParts.h	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,164 @@
     1.4 +
     1.5 +/*
     1.6 + * Copyright 2006 The Android Open Source Project
     1.7 + *
     1.8 + * Use of this source code is governed by a BSD-style license that can be
     1.9 + * found in the LICENSE file.
    1.10 + */
    1.11 +
    1.12 +
    1.13 +#ifndef SkPathParts_DEFINED
    1.14 +#define SkPathParts_DEFINED
    1.15 +
    1.16 +#include "SkDisplayable.h"
    1.17 +#include "SkMemberInfo.h"
    1.18 +#include "SkPath.h"
    1.19 +
    1.20 +class SkDrawPath;
    1.21 +class SkDrawMatrix;
    1.22 +
    1.23 +class SkPathPart : public SkDisplayable {
    1.24 +public:
    1.25 +    SkPathPart();
    1.26 +    virtual bool add() = 0;
    1.27 +    virtual void dirty();
    1.28 +    virtual SkDisplayable* getParent() const;
    1.29 +    virtual bool setParent(SkDisplayable* parent);
    1.30 +#ifdef SK_DEBUG
    1.31 +    virtual bool isPathPart() const { return true; }
    1.32 +#endif
    1.33 +protected:
    1.34 +    SkDrawPath* fPath;
    1.35 +};
    1.36 +
    1.37 +class SkMoveTo : public SkPathPart {
    1.38 +    DECLARE_MEMBER_INFO(MoveTo);
    1.39 +    SkMoveTo();
    1.40 +    virtual bool add();
    1.41 +protected:
    1.42 +    SkScalar x;
    1.43 +    SkScalar y;
    1.44 +};
    1.45 +
    1.46 +class SkRMoveTo : public SkMoveTo {
    1.47 +    DECLARE_MEMBER_INFO(RMoveTo);
    1.48 +    virtual bool add();
    1.49 +private:
    1.50 +    typedef SkMoveTo INHERITED;
    1.51 +};
    1.52 +
    1.53 +class SkLineTo : public SkPathPart {
    1.54 +    DECLARE_MEMBER_INFO(LineTo);
    1.55 +    SkLineTo();
    1.56 +    virtual bool add();
    1.57 +protected:
    1.58 +    SkScalar x;
    1.59 +    SkScalar y;
    1.60 +};
    1.61 +
    1.62 +class SkRLineTo : public SkLineTo {
    1.63 +    DECLARE_MEMBER_INFO(RLineTo);
    1.64 +    virtual bool add();
    1.65 +private:
    1.66 +    typedef SkLineTo INHERITED;
    1.67 +};
    1.68 +
    1.69 +class SkQuadTo : public SkPathPart {
    1.70 +    DECLARE_MEMBER_INFO(QuadTo);
    1.71 +    SkQuadTo();
    1.72 +    virtual bool add();
    1.73 +protected:
    1.74 +    SkScalar x1;
    1.75 +    SkScalar y1;
    1.76 +    SkScalar x2;
    1.77 +    SkScalar y2;
    1.78 +};
    1.79 +
    1.80 +class SkRQuadTo : public SkQuadTo {
    1.81 +    DECLARE_MEMBER_INFO(RQuadTo);
    1.82 +    virtual bool add();
    1.83 +private:
    1.84 +    typedef SkQuadTo INHERITED;
    1.85 +};
    1.86 +
    1.87 +class SkCubicTo : public SkPathPart {
    1.88 +    DECLARE_MEMBER_INFO(CubicTo);
    1.89 +    SkCubicTo();
    1.90 +    virtual bool add();
    1.91 +protected:
    1.92 +    SkScalar x1;
    1.93 +    SkScalar y1;
    1.94 +    SkScalar x2;
    1.95 +    SkScalar y2;
    1.96 +    SkScalar x3;
    1.97 +    SkScalar y3;
    1.98 +};
    1.99 +
   1.100 +class SkRCubicTo : public SkCubicTo {
   1.101 +    DECLARE_MEMBER_INFO(RCubicTo);
   1.102 +    virtual bool add();
   1.103 +private:
   1.104 +    typedef SkCubicTo INHERITED;
   1.105 +};
   1.106 +
   1.107 +class SkClose : public SkPathPart {
   1.108 +    DECLARE_EMPTY_MEMBER_INFO(Close);
   1.109 +    virtual bool add();
   1.110 +};
   1.111 +
   1.112 +class SkAddGeom : public SkPathPart {
   1.113 +    DECLARE_PRIVATE_MEMBER_INFO(AddGeom);
   1.114 +    SkAddGeom();
   1.115 +protected:
   1.116 +    int /*SkPath::Direction*/ direction;
   1.117 +};
   1.118 +
   1.119 +class SkAddRect : public SkAddGeom {
   1.120 +    DECLARE_MEMBER_INFO(AddRect);
   1.121 +    SkAddRect();
   1.122 +    virtual bool add();
   1.123 +protected:
   1.124 +    SkRect fRect;
   1.125 +private:
   1.126 +    typedef SkAddGeom INHERITED;
   1.127 +};
   1.128 +
   1.129 +class SkAddOval : public SkAddRect {
   1.130 +    DECLARE_MEMBER_INFO(AddOval);
   1.131 +    virtual bool add();
   1.132 +private:
   1.133 +    typedef SkAddRect INHERITED;
   1.134 +};
   1.135 +
   1.136 +class SkAddCircle : public SkAddGeom {
   1.137 +    DECLARE_MEMBER_INFO(AddCircle);
   1.138 +    SkAddCircle();
   1.139 +    virtual bool add();
   1.140 +private:
   1.141 +    SkScalar radius;
   1.142 +    SkScalar x;
   1.143 +    SkScalar y;
   1.144 +    typedef SkAddGeom INHERITED;
   1.145 +};
   1.146 +
   1.147 +class SkAddRoundRect : public SkAddRect {
   1.148 +    DECLARE_MEMBER_INFO(AddRoundRect);
   1.149 +    SkAddRoundRect();
   1.150 +    virtual bool add();
   1.151 +private:
   1.152 +    SkScalar rx;
   1.153 +    SkScalar ry;
   1.154 +    typedef SkAddRect INHERITED;
   1.155 +};
   1.156 +
   1.157 +class SkAddPath : public SkPathPart {
   1.158 +    DECLARE_MEMBER_INFO(AddPath);
   1.159 +    SkAddPath();
   1.160 +    virtual bool add();
   1.161 +private:
   1.162 +    typedef SkPathPart INHERITED;
   1.163 +    SkDrawMatrix* matrix;
   1.164 +    SkDrawPath* path;
   1.165 +};
   1.166 +
   1.167 +#endif // SkPathParts_DEFINED

mercurial