• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* libs/graphics/animator/SkPaintParts.cpp
2 **
3 ** Copyright 2006, The Android Open Source Project
4 **
5 ** Licensed under the Apache License, Version 2.0 (the "License");
6 ** you may not use this file except in compliance with the License.
7 ** You may obtain a copy of the License at
8 **
9 **     http://www.apache.org/licenses/LICENSE-2.0
10 **
11 ** Unless required by applicable law or agreed to in writing, software
12 ** distributed under the License is distributed on an "AS IS" BASIS,
13 ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 ** See the License for the specific language governing permissions and
15 ** limitations under the License.
16 */
17 
18 #include "SkPaintParts.h"
19 #include "SkDrawPaint.h"
20 #ifdef SK_DUMP_ENABLED
21 #include "SkDisplayList.h"
22 #include "SkDump.h"
23 #endif
24 
SkPaintPart()25 SkPaintPart::SkPaintPart() : fPaint(NULL) {
26 }
27 
getParent() const28 SkDisplayable* SkPaintPart::getParent() const {
29     return fPaint;
30 }
31 
setParent(SkDisplayable * parent)32 bool SkPaintPart::setParent(SkDisplayable* parent) {
33     SkASSERT(parent != NULL);
34     if (parent->isPaint() == false)
35         return true;
36     fPaint = (SkDrawPaint*) parent;
37     return false;
38 }
39 
40 
41 // SkDrawMaskFilter
add()42 bool SkDrawMaskFilter::add() {
43     if (fPaint->maskFilter != (SkDrawMaskFilter*) -1)
44         return true;
45     fPaint->maskFilter = this;
46     fPaint->fOwnsMaskFilter = true;
47     return false;
48 }
49 
getMaskFilter()50 SkMaskFilter* SkDrawMaskFilter::getMaskFilter() {
51     return NULL;
52 }
53 
54 
55 // SkDrawPathEffect
add()56 bool SkDrawPathEffect::add() {
57     if (fPaint->isPaint()) {
58         if (fPaint->pathEffect != (SkDrawPathEffect*) -1)
59             return true;
60         fPaint->pathEffect = this;
61         fPaint->fOwnsPathEffect = true;
62         return false;
63     }
64     fPaint->add(*(SkAnimateMaker*) NULL, this);
65     return false;
66 }
67 
getPathEffect()68 SkPathEffect* SkDrawPathEffect::getPathEffect() {
69     return NULL;
70 }
71 
72 
73 // SkDrawShader
getShader()74 SkShader* SkDrawShader::getShader() {
75     return NULL;
76 }
77 
78 
79 // Typeface
80 #if SK_USE_CONDENSED_INFO == 0
81 
82 const SkMemberInfo SkDrawTypeface::fInfo[] = {
83     SK_MEMBER(fontName, String),
84     SK_MEMBER(style, FontStyle)
85 };
86 
87 #endif
88 
89 DEFINE_GET_MEMBER(SkDrawTypeface);
90 
SkDrawTypeface()91 SkDrawTypeface::SkDrawTypeface() : style (SkTypeface::kNormal){
92 }
93 
add()94 bool SkDrawTypeface::add() {
95     if (fPaint->typeface != (SkDrawTypeface*) -1)
96         return true;
97     fPaint->typeface = this;
98     fPaint->fOwnsTypeface = true;
99     return false;
100 }
101 
102 #ifdef SK_DUMP_ENABLED
dump(SkAnimateMaker * maker)103 void SkDrawTypeface::dump(SkAnimateMaker* maker) {
104     SkDebugf("%*s<typeface fontName=\"%s\" ", SkDisplayList::fIndent, "", fontName.c_str());
105     SkString string;
106     SkDump::GetEnumString(SkType_FontStyle, style, &string);
107     SkDebugf("style=\"%s\" />\n", string.c_str());
108 }
109 #endif
110 
111 
112