Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. | 2 * Copyright (C) 2012 Adobe Systems Incorporated. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above | 8 * 1. Redistributions of source code must retain the above |
| 9 * copyright notice, this list of conditions and the following | 9 * copyright notice, this list of conditions and the following |
| 10 * disclaimer. | 10 * disclaimer. |
| (...skipping 13 matching lines...) Expand all Loading... | |
| 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR | 24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR |
| 25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF | 25 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF |
| 26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | 26 * THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| 27 * SUCH DAMAGE. | 27 * SUCH DAMAGE. |
| 28 */ | 28 */ |
| 29 | 29 |
| 30 #ifndef ExclusionShapeValue_h | 30 #ifndef ExclusionShapeValue_h |
| 31 #define ExclusionShapeValue_h | 31 #define ExclusionShapeValue_h |
| 32 | 32 |
| 33 #include "core/rendering/style/BasicShapes.h" | 33 #include "core/rendering/style/BasicShapes.h" |
| 34 #include <wtf/PassRefPtr.h> | 34 #include "core/rendering/style/StyleImage.h" |
| 35 #include "wtf/PassRefPtr.h" | |
| 35 | 36 |
| 36 namespace WebCore { | 37 namespace WebCore { |
| 37 | 38 |
| 38 class ExclusionShapeValue : public RefCounted<ExclusionShapeValue> { | 39 class ExclusionShapeValue : public RefCounted<ExclusionShapeValue> { |
| 39 public: | 40 public: |
| 40 enum ExclusionShapeValueType { | 41 enum ExclusionShapeValueType { |
| 41 // The AUTO value is defined by a null ExclusionShapeValue* | 42 // The Auto value is defined by a null ExclusionShapeValue* |
| 42 SHAPE, | 43 Shape, |
| 43 OUTSIDE | 44 Outside, |
| 45 Image | |
| 44 }; | 46 }; |
| 45 | 47 |
| 46 static PassRefPtr<ExclusionShapeValue> createShapeValue(PassRefPtr<BasicShap e> shape) | 48 static PassRefPtr<ExclusionShapeValue> createShapeValue(PassRefPtr<BasicShap e> shape) |
| 47 { | 49 { |
| 48 return adoptRef(new ExclusionShapeValue(shape)); | 50 return adoptRef(new ExclusionShapeValue(shape)); |
| 49 } | 51 } |
| 50 | 52 |
| 51 static PassRefPtr<ExclusionShapeValue> createOutsideValue() | 53 static PassRefPtr<ExclusionShapeValue> createOutsideValue() |
| 52 { | 54 { |
| 53 return adoptRef(new ExclusionShapeValue(OUTSIDE)); | 55 return adoptRef(new ExclusionShapeValue(Outside)); |
| 56 } | |
| 57 | |
| 58 static PassRefPtr<ExclusionShapeValue> createImageValue(PassRefPtr<StyleImag e> image) | |
| 59 { | |
| 60 return adoptRef(new ExclusionShapeValue(image)); | |
| 54 } | 61 } |
| 55 | 62 |
| 56 ExclusionShapeValueType type() const { return m_type; } | 63 ExclusionShapeValueType type() const { return m_type; } |
| 57 BasicShape* shape() const { return m_shape.get(); } | 64 BasicShape* shape() const { return m_shape.get(); } |
| 65 StyleImage* image() const { return m_image.get(); } | |
| 66 void setImage(PassRefPtr<StyleImage> image) | |
| 67 { | |
| 68 if (m_image != image) | |
|
eseidel
2013/06/04 18:10:36
Why bother avoiding?
| |
| 69 m_image = image; | |
| 70 } | |
| 58 bool operator==(const ExclusionShapeValue& other) const { return type() == o ther.type(); } | 71 bool operator==(const ExclusionShapeValue& other) const { return type() == o ther.type(); } |
| 59 | 72 |
| 60 private: | 73 private: |
| 61 ExclusionShapeValue(PassRefPtr<BasicShape> shape) : m_type(SHAPE), m_shape(s hape) { } | 74 ExclusionShapeValue(PassRefPtr<BasicShape> shape) |
| 62 ExclusionShapeValue(ExclusionShapeValueType type) : m_type(type) { } | 75 : m_type(Shape) |
| 76 , m_shape(shape) | |
| 77 { | |
| 78 } | |
| 79 ExclusionShapeValue(ExclusionShapeValueType type) | |
| 80 : m_type(type) | |
| 81 { | |
| 82 } | |
| 83 ExclusionShapeValue(PassRefPtr<StyleImage> image) | |
| 84 : m_type(Image) | |
| 85 , m_image(image) | |
| 86 { | |
| 87 } | |
| 63 ExclusionShapeValueType m_type; | 88 ExclusionShapeValueType m_type; |
| 64 RefPtr<BasicShape> m_shape; | 89 RefPtr<BasicShape> m_shape; |
| 90 RefPtr<StyleImage> m_image; | |
| 65 }; | 91 }; |
| 66 | 92 |
| 67 } | 93 } |
| 68 | 94 |
| 69 #endif | 95 #endif |
| OLD | NEW |