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