OLD | NEW |
| (Empty) |
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 #ifndef SkSVGPaintState_DEFINED | |
11 #define SkSVGPaintState_DEFINED | |
12 | |
13 #include "SkSVGBase.h" | |
14 #include "SkString.h" | |
15 | |
16 class SkSVGPaint : public SkSVGBase { | |
17 public: | |
18 enum Field { | |
19 kInitial = -1, | |
20 kClipPath, | |
21 kClipRule, | |
22 kEnableBackground, | |
23 kFill, | |
24 kFillRule, | |
25 kFilter, | |
26 kFontFamily, | |
27 kFontSize, | |
28 kLetterSpacing, | |
29 kMask, | |
30 kOpacity, | |
31 kStopColor, | |
32 kStopOpacity, | |
33 kStroke, | |
34 kStroke_Dasharray, | |
35 kStroke_Linecap, | |
36 kStroke_Linejoin, | |
37 kStroke_Miterlimit, | |
38 kStroke_Width, | |
39 kStyle, | |
40 kTransform, | |
41 kTerminal | |
42 }; | |
43 | |
44 SkSVGPaint(); | |
45 virtual void addAttribute(SkSVGParser& parser, int attrIndex, | |
46 const char* attrValue, size_t attrLength); | |
47 bool flush(SkSVGParser& , bool isFlushable, bool isDef); | |
48 virtual int getAttributes(const SkSVGAttribute** attrPtr); | |
49 static void Push(SkSVGPaint** head, SkSVGPaint* add); | |
50 static void Pop(SkSVGPaint** head); | |
51 SkString* operator[](int index); | |
52 SkString fInitial; | |
53 SkString f_clipPath; | |
54 SkString f_clipRule; | |
55 SkString f_enableBackground; | |
56 SkString f_fill; | |
57 SkString f_fillRule; | |
58 SkString f_filter; | |
59 SkString f_fontFamily; | |
60 SkString f_fontSize; | |
61 SkString f_letterSpacing; | |
62 SkString f_mask; | |
63 SkString f_opacity; | |
64 SkString f_stopColor; | |
65 SkString f_stopOpacity; | |
66 SkString f_stroke; | |
67 SkString f_strokeDasharray; | |
68 SkString f_strokeLinecap; | |
69 SkString f_strokeLinejoin; | |
70 SkString f_strokeMiterlimit; | |
71 SkString f_strokeWidth; | |
72 SkString f_style; // unused, but allows array access to the rest | |
73 SkString f_transform; | |
74 #ifdef SK_DEBUG | |
75 SkString fTerminal; | |
76 #endif | |
77 SkString fTransformID; | |
78 static SkSVGAttribute gAttributes[]; | |
79 static const int kAttributesSize; | |
80 private: | |
81 void setSave(SkSVGParser& ); | |
82 bool writeChangedAttributes(SkSVGParser& , SkSVGPaint& , bool* changed); | |
83 bool writeChangedElements(SkSVGParser& , SkSVGPaint& , bool* changed); | |
84 SkSVGPaint* fNext; | |
85 friend class SkSVGParser; | |
86 typedef SkSVGPaint BASE_CLASS; | |
87 }; | |
88 | |
89 #endif // SkSVGPaintState_DEFINED | |
OLD | NEW |