OLD | NEW |
1 // Copyright (C) 2013 Google Inc. All rights reserved. | 1 // Copyright (C) 2013 Google Inc. All rights reserved. |
2 // | 2 // |
3 // Redistribution and use in source and binary forms, with or without | 3 // Redistribution and use in source and binary forms, with or without |
4 // modification, are permitted provided that the following conditions are | 4 // modification, are permitted provided that the following conditions are |
5 // met: | 5 // met: |
6 // | 6 // |
7 // * Redistributions of source code must retain the above copyright | 7 // * Redistributions of source code must retain the above copyright |
8 // notice, this list of conditions and the following disclaimer. | 8 // notice, this list of conditions and the following disclaimer. |
9 // * Redistributions in binary form must reproduce the above | 9 // * Redistributions in binary form must reproduce the above |
10 // copyright notice, this list of conditions and the following disclaimer | 10 // copyright notice, this list of conditions and the following disclaimer |
(...skipping 16 matching lines...) Expand all Loading... |
27 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 27 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
28 | 28 |
29 #ifndef GraphicsContextState_h | 29 #ifndef GraphicsContextState_h |
30 #define GraphicsContextState_h | 30 #define GraphicsContextState_h |
31 | 31 |
32 #include "platform/graphics/DrawLooperBuilder.h" | 32 #include "platform/graphics/DrawLooperBuilder.h" |
33 #include "platform/graphics/GraphicsTypes.h" | 33 #include "platform/graphics/GraphicsTypes.h" |
34 #include "platform/graphics/StrokeData.h" | 34 #include "platform/graphics/StrokeData.h" |
35 #include "third_party/skia/include/core/SkColorFilter.h" | 35 #include "third_party/skia/include/core/SkColorFilter.h" |
36 #include "third_party/skia/include/core/SkPaint.h" | 36 #include "third_party/skia/include/core/SkPaint.h" |
| 37 #include "third_party/skia/include/core/SkRefCnt.h" |
37 #include "wtf/Allocator.h" | 38 #include "wtf/Allocator.h" |
38 #include "wtf/Noncopyable.h" | 39 #include "wtf/Noncopyable.h" |
39 #include "wtf/PtrUtil.h" | 40 #include "wtf/PtrUtil.h" |
40 #include "wtf/RefPtr.h" | |
41 #include <memory> | 41 #include <memory> |
42 | 42 |
43 namespace blink { | 43 namespace blink { |
44 | 44 |
45 // Encapsulates the state information we store for each pushed graphics state. | 45 // Encapsulates the state information we store for each pushed graphics state. |
46 // Only GraphicsContext can use this class. | 46 // Only GraphicsContext can use this class. |
47 class PLATFORM_EXPORT GraphicsContextState final { | 47 class PLATFORM_EXPORT GraphicsContextState final { |
48 USING_FAST_MALLOC(GraphicsContextState); | 48 USING_FAST_MALLOC(GraphicsContextState); |
49 public: | 49 public: |
50 static std::unique_ptr<GraphicsContextState> create() | 50 static std::unique_ptr<GraphicsContextState> create() |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 // Fill data | 83 // Fill data |
84 Color fillColor() const { return m_fillPaint.getColor(); } | 84 Color fillColor() const { return m_fillPaint.getColor(); } |
85 void setFillColor(const Color&); | 85 void setFillColor(const Color&); |
86 | 86 |
87 // Shadow. (This will need tweaking if we use draw loopers for other things.
) | 87 // Shadow. (This will need tweaking if we use draw loopers for other things.
) |
88 SkDrawLooper* drawLooper() const | 88 SkDrawLooper* drawLooper() const |
89 { | 89 { |
90 DCHECK_EQ(m_fillPaint.getLooper(), m_strokePaint.getLooper()); | 90 DCHECK_EQ(m_fillPaint.getLooper(), m_strokePaint.getLooper()); |
91 return m_fillPaint.getLooper(); | 91 return m_fillPaint.getLooper(); |
92 } | 92 } |
93 void setDrawLooper(PassRefPtr<SkDrawLooper>); | 93 void setDrawLooper(sk_sp<SkDrawLooper>); |
94 | 94 |
95 // Text. (See TextModeFill & friends.) | 95 // Text. (See TextModeFill & friends.) |
96 TextDrawingModeFlags textDrawingMode() const { return m_textDrawingMode; } | 96 TextDrawingModeFlags textDrawingMode() const { return m_textDrawingMode; } |
97 void setTextDrawingMode(TextDrawingModeFlags mode) { m_textDrawingMode = mod
e; } | 97 void setTextDrawingMode(TextDrawingModeFlags mode) { m_textDrawingMode = mod
e; } |
98 | 98 |
99 SkColorFilter* colorFilter() const | 99 SkColorFilter* colorFilter() const |
100 { | 100 { |
101 DCHECK_EQ(m_fillPaint.getColorFilter(), m_strokePaint.getColorFilter()); | 101 DCHECK_EQ(m_fillPaint.getColorFilter(), m_strokePaint.getColorFilter()); |
102 return m_fillPaint.getColorFilter(); | 102 return m_fillPaint.getColorFilter(); |
103 } | 103 } |
104 void setColorFilter(PassRefPtr<SkColorFilter>); | 104 void setColorFilter(sk_sp<SkColorFilter>); |
105 | 105 |
106 // Image interpolation control. | 106 // Image interpolation control. |
107 InterpolationQuality getInterpolationQuality() const { return m_interpolatio
nQuality; } | 107 InterpolationQuality getInterpolationQuality() const { return m_interpolatio
nQuality; } |
108 void setInterpolationQuality(InterpolationQuality); | 108 void setInterpolationQuality(InterpolationQuality); |
109 | 109 |
110 bool shouldAntialias() const { return m_shouldAntialias; } | 110 bool shouldAntialias() const { return m_shouldAntialias; } |
111 void setShouldAntialias(bool); | 111 void setShouldAntialias(bool); |
112 | 112 |
113 private: | 113 private: |
114 GraphicsContextState(); | 114 GraphicsContextState(); |
(...skipping 11 matching lines...) Expand all Loading... |
126 InterpolationQuality m_interpolationQuality; | 126 InterpolationQuality m_interpolationQuality; |
127 | 127 |
128 uint16_t m_saveCount; | 128 uint16_t m_saveCount; |
129 | 129 |
130 bool m_shouldAntialias : 1; | 130 bool m_shouldAntialias : 1; |
131 }; | 131 }; |
132 | 132 |
133 } // namespace blink | 133 } // namespace blink |
134 | 134 |
135 #endif // GraphicsContextState_h | 135 #endif // GraphicsContextState_h |
OLD | NEW |