diff options
Diffstat (limited to 'skia/animator/SkPaintParts.cpp')
-rw-r--r-- | skia/animator/SkPaintParts.cpp | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/skia/animator/SkPaintParts.cpp b/skia/animator/SkPaintParts.cpp new file mode 100644 index 0000000..a6c0fa1 --- /dev/null +++ b/skia/animator/SkPaintParts.cpp @@ -0,0 +1,111 @@ +/* libs/graphics/animator/SkPaintParts.cpp +** +** Copyright 2006, Google Inc. +** +** 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. +*/ + +#include "SkPaintParts.h" +#include "SkDrawPaint.h" +#ifdef SK_DUMP_ENABLED +#include "SkDisplayList.h" +#include "SkDump.h" +#endif + +SkPaintPart::SkPaintPart() : fPaint(NULL) { +} + +SkDisplayable* SkPaintPart::getParent() const { + return fPaint; +} + +bool SkPaintPart::setParent(SkDisplayable* parent) { + SkASSERT(parent != NULL); + 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 NULL; +} + + +// 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*) NULL, this); + return false; +} + +SkPathEffect* SkDrawPathEffect::getPathEffect() { + return NULL; +} + + +// SkDrawShader +SkShader* SkDrawShader::getShader() { + return NULL; +} + + +// 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 + + |