diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/src/animator/SkPathParts.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/src/animator/SkPathParts.cpp Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,318 @@ + +/* + * Copyright 2006 The Android Open Source Project + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + + +#include "SkPathParts.h" +#include "SkAnimateMaker.h" +#include "SkDrawMatrix.h" +#include "SkDrawRectangle.h" +#include "SkDrawPath.h" + +SkPathPart::SkPathPart() : fPath(NULL) { +} + +void SkPathPart::dirty() { + fPath->dirty(); +} + +SkDisplayable* SkPathPart::getParent() const { + return fPath; +} + +bool SkPathPart::setParent(SkDisplayable* parent) { + SkASSERT(parent != NULL); + if (parent->isPath() == false) + return true; + fPath = (SkDrawPath*) parent; + return false; +} + +// MoveTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkMoveTo::fInfo[] = { + SK_MEMBER(x, Float), + SK_MEMBER(y, Float) +}; + +#endif + +DEFINE_GET_MEMBER(SkMoveTo); + +SkMoveTo::SkMoveTo() : x(0), y(0) { +} + +bool SkMoveTo::add() { + fPath->fPath.moveTo(x, y); + return false; +} + + +// RMoveTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkRMoveTo::fInfo[] = { + SK_MEMBER_INHERITED +}; + +#endif + +DEFINE_GET_MEMBER(SkRMoveTo); + +bool SkRMoveTo::add() { + fPath->fPath.rMoveTo(x, y); + return false; +} + + +// LineTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkLineTo::fInfo[] = { + SK_MEMBER(x, Float), + SK_MEMBER(y, Float) +}; + +#endif + +DEFINE_GET_MEMBER(SkLineTo); + +SkLineTo::SkLineTo() : x(0), y(0) { +} + +bool SkLineTo::add() { + fPath->fPath.lineTo(x, y); + return false; +} + + +// RLineTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkRLineTo::fInfo[] = { + SK_MEMBER_INHERITED +}; + +#endif + +DEFINE_GET_MEMBER(SkRLineTo); + +bool SkRLineTo::add() { + fPath->fPath.rLineTo(x, y); + return false; +} + + +// QuadTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkQuadTo::fInfo[] = { + SK_MEMBER(x1, Float), + SK_MEMBER(x2, Float), + SK_MEMBER(y1, Float), + SK_MEMBER(y2, Float) +}; + +#endif + +DEFINE_GET_MEMBER(SkQuadTo); + +SkQuadTo::SkQuadTo() : x1(0), y1(0), x2(0), y2(0) { +} + +bool SkQuadTo::add() { + fPath->fPath.quadTo(x1, y1, x2, y2); + return false; +} + + +// RQuadTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkRQuadTo::fInfo[] = { + SK_MEMBER_INHERITED +}; + +#endif + +DEFINE_GET_MEMBER(SkRQuadTo); + +bool SkRQuadTo::add() { + fPath->fPath.rQuadTo(x1, y1, x2, y2); + return false; +} + + +// CubicTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkCubicTo::fInfo[] = { + SK_MEMBER(x1, Float), + SK_MEMBER(x2, Float), + SK_MEMBER(x3, Float), + SK_MEMBER(y1, Float), + SK_MEMBER(y2, Float), + SK_MEMBER(y3, Float) +}; + +#endif + +DEFINE_GET_MEMBER(SkCubicTo); + +SkCubicTo::SkCubicTo() : x1(0), y1(0), x2(0), y2(0), x3(0), y3(0) { +} + +bool SkCubicTo::add() { + fPath->fPath.cubicTo(x1, y1, x2, y2, x3, y3); + return false; +} + + +// RCubicTo +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkRCubicTo::fInfo[] = { + SK_MEMBER_INHERITED +}; + +#endif + +DEFINE_GET_MEMBER(SkRCubicTo); + +bool SkRCubicTo::add() { + fPath->fPath.rCubicTo(x1, y1, x2, y2, x3, y3); + return false; +} + + +// SkClose +bool SkClose::add() { + fPath->fPath.close(); + return false; +} + + +// SkAddGeom +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkAddGeom::fInfo[] = { + SK_MEMBER(direction, PathDirection) +}; + +#endif + +DEFINE_GET_MEMBER(SkAddGeom); + +SkAddGeom::SkAddGeom() : direction(SkPath::kCCW_Direction) { +} + +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkAddRect::fInfo[] = { + SK_MEMBER_INHERITED, + SK_MEMBER_ALIAS(bottom, fRect.fBottom, Float), + SK_MEMBER_ALIAS(left, fRect.fLeft, Float), + SK_MEMBER_ALIAS(right, fRect.fRight, Float), + SK_MEMBER_ALIAS(top, fRect.fTop, Float) +}; + +#endif + +DEFINE_GET_MEMBER(SkAddRect); + +SkAddRect::SkAddRect() { + fRect.setEmpty(); +} + +bool SkAddRect::add() { + fPath->fPath.addRect(fRect, (SkPath::Direction) direction); + return false; +} + + +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkAddOval::fInfo[] = { + SK_MEMBER_INHERITED +}; + +#endif + +DEFINE_GET_MEMBER(SkAddOval); + +bool SkAddOval::add() { + fPath->fPath.addOval(fRect, (SkPath::Direction) direction); + return false; +} + + +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkAddCircle::fInfo[] = { + SK_MEMBER_INHERITED, + SK_MEMBER(radius, Float), + SK_MEMBER(x, Float), + SK_MEMBER(y, Float) +}; + +#endif + +DEFINE_GET_MEMBER(SkAddCircle); + +SkAddCircle::SkAddCircle() : radius(0), x(0), y(0) { +} + +bool SkAddCircle::add() { + fPath->fPath.addCircle(x, y, radius, (SkPath::Direction) direction); + return false; +} + + +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkAddRoundRect::fInfo[] = { + SK_MEMBER_INHERITED, + SK_MEMBER(rx, Float), + SK_MEMBER(ry, Float) +}; + +#endif + +DEFINE_GET_MEMBER(SkAddRoundRect); + +SkAddRoundRect::SkAddRoundRect() : rx(0), ry(0) { +} + +bool SkAddRoundRect::add() { + fPath->fPath.addRoundRect(fRect, rx, ry, (SkPath::Direction) direction); + return false; +} + + +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkAddPath::fInfo[] = { + SK_MEMBER(matrix, Matrix), + SK_MEMBER(path, Path) +}; + +#endif + +DEFINE_GET_MEMBER(SkAddPath); + +SkAddPath::SkAddPath() : matrix(NULL), path(NULL) { +} + +bool SkAddPath::add() { + SkASSERT (path != NULL); + if (matrix) + fPath->fPath.addPath(path->fPath, matrix->getMatrix()); + else + fPath->fPath.addPath(path->fPath); + return false; +}