| 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 |