• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 
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 
9 
10 #include "SkPaintParts.h"
11 #include "SkDrawPaint.h"
12 #ifdef SK_DUMP_ENABLED
13 #include "SkDisplayList.h"
14 #include "SkDump.h"
15 #endif
16 
SkPaintPart()17 SkPaintPart::SkPaintPart() : fPaint(NULL) {
18 }
19 
getParent() const20 SkDisplayable* SkPaintPart::getParent() const {
21     return fPaint;
22 }
23 
setParent(SkDisplayable * parent)24 bool 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
add()34 bool SkDrawMaskFilter::add() {
35     if (fPaint->maskFilter != (SkDrawMaskFilter*) -1)
36         return true;
37     fPaint->maskFilter = this;
38     fPaint->fOwnsMaskFilter = true;
39     return false;
40 }
41 
getMaskFilter()42 SkMaskFilter* SkDrawMaskFilter::getMaskFilter() {
43     return NULL;
44 }
45 
46 
47 // SkDrawPathEffect
add()48 bool 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     }
56     fPaint->add(NULL, this);
57     return false;
58 }
59 
getPathEffect()60 SkPathEffect* SkDrawPathEffect::getPathEffect() {
61     return NULL;
62 }
63 
64 
65 // SkDrawShader
getShader()66 SkShader* SkDrawShader::getShader() {
67     return NULL;
68 }
69 
70 
71 // Typeface
72 #if SK_USE_CONDENSED_INFO == 0
73 
74 const SkMemberInfo SkDrawTypeface::fInfo[] = {
75     SK_MEMBER(fontName, String),
76     SK_MEMBER(style, FontStyle)
77 };
78 
79 #endif
80 
81 DEFINE_GET_MEMBER(SkDrawTypeface);
82 
SkDrawTypeface()83 SkDrawTypeface::SkDrawTypeface() : style (SkTypeface::kNormal){
84 }
85 
add()86 bool 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
dump(SkAnimateMaker *)95 void SkDrawTypeface::dump(SkAnimateMaker*) {
96     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
102