Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef SKY_ENGINE_CORE_PAINTING_PAINT_H_ | 5 #ifndef SKY_ENGINE_CORE_PAINTING_PAINT_H_ |
| 6 #define SKY_ENGINE_CORE_PAINTING_PAINT_H_ | 6 #define SKY_ENGINE_CORE_PAINTING_PAINT_H_ |
| 7 | 7 |
| 8 #include "sky/engine/tonic/dart_wrappable.h" | 8 #include "sky/engine/tonic/dart_wrappable.h" |
| 9 #include "sky/engine/wtf/PassRefPtr.h" | 9 #include "sky/engine/wtf/PassRefPtr.h" |
| 10 #include "sky/engine/wtf/RefCounted.h" | 10 #include "sky/engine/wtf/RefCounted.h" |
| 11 #include "third_party/skia/include/core/SkPaint.h" | 11 #include "third_party/skia/include/core/SkPaint.h" |
| 12 | 12 |
| 13 namespace blink { | 13 namespace blink { |
| 14 | 14 |
| 15 class DrawLooper; | |
| 16 | |
| 15 class Paint : public RefCounted<Paint>, public DartWrappable { | 17 class Paint : public RefCounted<Paint>, public DartWrappable { |
| 16 DEFINE_WRAPPERTYPEINFO(); | 18 DEFINE_WRAPPERTYPEINFO(); |
| 17 public: | 19 public: |
| 18 ~Paint() override; | 20 ~Paint() override; |
| 19 static PassRefPtr<Paint> create() | 21 static PassRefPtr<Paint> create() |
| 20 { | 22 { |
| 21 return adoptRef(new Paint); | 23 return adoptRef(new Paint); |
| 22 } | 24 } |
| 25 static PassRefPtr<Paint> createWithWeakRef(SkPaint* paint) | |
| 26 { | |
| 27 return adoptRef(new Paint(paint)); | |
| 28 } | |
|
abarth-chromium
2015/05/27 02:12:51
How does this work? It seems like the Paint objec
Matt Perry
2015/05/27 14:46:32
Yeah, I'm using it with SkLayerDrawLooper::Builder
| |
| 23 | 29 |
| 24 bool isAntiAlias() const { return m_paint.isAntiAlias(); } | 30 bool isAntiAlias() const { return m_paint->isAntiAlias(); } |
| 25 void setIsAntiAlias(bool value) { m_paint.setAntiAlias(value); } | 31 void setIsAntiAlias(bool value) { m_paint->setAntiAlias(value); } |
| 26 | 32 |
| 27 unsigned color() const { return m_paint.getColor(); } | 33 unsigned color() const { return m_paint->getColor(); } |
| 28 void setColor(unsigned color) { m_paint.setColor(color); } | 34 void setColor(unsigned color) { m_paint->setColor(color); } |
| 29 | 35 |
| 30 void setARGB(unsigned a, unsigned r, unsigned g, unsigned b) | 36 void setARGB(unsigned a, unsigned r, unsigned g, unsigned b) |
| 31 { | 37 { |
| 32 m_paint.setARGB(a, r, g, b); | 38 m_paint->setARGB(a, r, g, b); |
| 33 } | 39 } |
| 40 void setDrawLooper(DrawLooper* looper); | |
| 34 | 41 |
| 35 const SkPaint& paint() const { return m_paint; } | 42 const SkPaint& paint() const { return *m_paint; } |
| 36 | 43 |
| 37 private: | 44 private: |
| 38 Paint(); | 45 Paint(); |
| 46 Paint(SkPaint* paint); | |
| 39 | 47 |
| 40 SkPaint m_paint; | 48 SkPaint* m_paint; |
| 49 | |
| 50 // The backing for m_paint when we own the SkPaint. Not used when | |
| 51 // constructed with createWithWeakRef. | |
| 52 SkPaint m_inline_paint; | |
| 41 }; | 53 }; |
| 42 | 54 |
| 43 } // namespace blink | 55 } // namespace blink |
| 44 | 56 |
| 45 #endif // SKY_ENGINE_CORE_PAINTING_PAINT_H_ | 57 #endif // SKY_ENGINE_CORE_PAINTING_PAINT_H_ |
| OLD | NEW |