diff options
Diffstat (limited to 'libs/graphics/animator/SkPaintParts.cpp')
-rw-r--r-- | libs/graphics/animator/SkPaintParts.cpp | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/libs/graphics/animator/SkPaintParts.cpp b/libs/graphics/animator/SkPaintParts.cpp new file mode 100644 index 0000000000..b45a125489 --- /dev/null +++ b/libs/graphics/animator/SkPaintParts.cpp @@ -0,0 +1,94 @@ +#include "SkPaintParts.h" +#include "SkDrawPaint.h" +#ifdef SK_DUMP_ENABLED +#include "SkDisplayList.h" +#include "SkDump.h" +#endif + +SkPaintPart::SkPaintPart() : fPaint(nil) { +} + +SkDisplayable* SkPaintPart::getParent() const { + return fPaint; +} + +bool SkPaintPart::setParent(SkDisplayable* parent) { + SkASSERT(parent != nil); + if (parent->isPaint() == false) + return true; + fPaint = (SkDrawPaint*) parent; + return false; +} + + +// SkDrawMaskFilter +bool SkDrawMaskFilter::add() { + if (fPaint->maskFilter != (SkDrawMaskFilter*) -1) + return true; + fPaint->maskFilter = this; + fPaint->fOwnsMaskFilter = true; + return false; +} + +SkMaskFilter* SkDrawMaskFilter::getMaskFilter() { + return nil; +} + + +// SkDrawPathEffect +bool SkDrawPathEffect::add() { + if (fPaint->isPaint()) { + if (fPaint->pathEffect != (SkDrawPathEffect*) -1) + return true; + fPaint->pathEffect = this; + fPaint->fOwnsPathEffect = true; + return false; + } + fPaint->add(*(SkAnimateMaker*) nil, this); + return false; +} + +SkPathEffect* SkDrawPathEffect::getPathEffect() { + return nil; +} + + +// SkDrawShader +SkShader* SkDrawShader::getShader() { + return nil; +} + + +// Typeface +#if SK_USE_CONDENSED_INFO == 0 + +const SkMemberInfo SkDrawTypeface::fInfo[] = { + SK_MEMBER(fontName, String), + SK_MEMBER(style, FontStyle) +}; + +#endif + +DEFINE_GET_MEMBER(SkDrawTypeface); + +SkDrawTypeface::SkDrawTypeface() : style (SkTypeface::kNormal){ +} + +bool SkDrawTypeface::add() { + if (fPaint->typeface != (SkDrawTypeface*) -1) + return true; + fPaint->typeface = this; + fPaint->fOwnsTypeface = true; + return false; +} + +#ifdef SK_DUMP_ENABLED +void SkDrawTypeface::dump(SkAnimateMaker* maker) { + SkDebugf("%*s<typeface fontName=\"%s\" ", SkDisplayList::fIndent, "", fontName.c_str()); + SkString string; + SkDump::GetEnumString(SkType_FontStyle, style, &string); + SkDebugf("style=\"%s\" />\n", string.c_str()); +} +#endif + + |