blob: 22119a4ff91d018a3e86921565734a822ab078c9 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
2/*
3 * Copyright 2006 The Android Open Source Project
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
7 */
8
reed@android.com8a1c16f2008-12-17 15:59:43 +00009
10#include "SkPaintParts.h"
11#include "SkDrawPaint.h"
12#ifdef SK_DUMP_ENABLED
13#include "SkDisplayList.h"
14#include "SkDump.h"
15#endif
16
17SkPaintPart::SkPaintPart() : fPaint(NULL) {
18}
19
20SkDisplayable* SkPaintPart::getParent() const {
21 return fPaint;
22}
23
24bool SkPaintPart::setParent(SkDisplayable* parent) {
25 SkASSERT(parent != NULL);
26 if (parent->isPaint() == false)
27 return true;
28 fPaint = (SkDrawPaint*) parent;
29 return false;
30}
31
32
33// SkDrawMaskFilter
34bool SkDrawMaskFilter::add() {
35 if (fPaint->maskFilter != (SkDrawMaskFilter*) -1)
36 return true;
37 fPaint->maskFilter = this;
38 fPaint->fOwnsMaskFilter = true;
39 return false;
40}
41
42SkMaskFilter* SkDrawMaskFilter::getMaskFilter() {
43 return NULL;
44}
45
46
47// SkDrawPathEffect
48bool SkDrawPathEffect::add() {
49 if (fPaint->isPaint()) {
50 if (fPaint->pathEffect != (SkDrawPathEffect*) -1)
51 return true;
52 fPaint->pathEffect = this;
53 fPaint->fOwnsPathEffect = true;
54 return false;
55 }
tomhudson@google.comd6caf2e2011-07-08 14:41:12 +000056 fPaint->add(NULL, this);
reed@android.com8a1c16f2008-12-17 15:59:43 +000057 return false;
58}
59
60SkPathEffect* SkDrawPathEffect::getPathEffect() {
61 return NULL;
62}
63
64
65// SkDrawShader
66SkShader* SkDrawShader::getShader() {
67 return NULL;
68}
69
70
71// Typeface
72#if SK_USE_CONDENSED_INFO == 0
73
74const SkMemberInfo SkDrawTypeface::fInfo[] = {
75 SK_MEMBER(fontName, String),
76 SK_MEMBER(style, FontStyle)
77};
78
79#endif
80
81DEFINE_GET_MEMBER(SkDrawTypeface);
82
83SkDrawTypeface::SkDrawTypeface() : style (SkTypeface::kNormal){
84}
85
86bool SkDrawTypeface::add() {
87 if (fPaint->typeface != (SkDrawTypeface*) -1)
88 return true;
89 fPaint->typeface = this;
90 fPaint->fOwnsTypeface = true;
91 return false;
92}
93
94#ifdef SK_DUMP_ENABLED
sugoi@google.com93c7ee32013-03-12 14:36:57 +000095void SkDrawTypeface::dump(SkAnimateMaker*) {
reed@android.com8a1c16f2008-12-17 15:59:43 +000096 SkDebugf("%*s<typeface fontName=\"%s\" ", SkDisplayList::fIndent, "", fontName.c_str());
97 SkString string;
98 SkDump::GetEnumString(SkType_FontStyle, style, &string);
99 SkDebugf("style=\"%s\" />\n", string.c_str());
100}
101#endif