| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2008 Apple Inc. All rights reserved. | 2 * Copyright (C) 2008 Apple Inc. 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 * 1. Redistributions of source code must retain the above copyright | 7 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 103 , m_firstY(other.m_firstY) | 103 , m_firstY(other.m_firstY) |
| 104 , m_secondX(other.m_secondX) | 104 , m_secondX(other.m_secondX) |
| 105 , m_secondY(other.m_secondY) | 105 , m_secondY(other.m_secondY) |
| 106 , m_stops(other.m_stops) | 106 , m_stops(other.m_stops) |
| 107 , m_stopsSorted(other.m_stopsSorted) | 107 , m_stopsSorted(other.m_stopsSorted) |
| 108 , m_gradientType(gradientType) | 108 , m_gradientType(gradientType) |
| 109 , m_repeating(other.isRepeating() ? Repeating : NonRepeating) | 109 , m_repeating(other.isRepeating() ? Repeating : NonRepeating) |
| 110 { | 110 { |
| 111 } | 111 } |
| 112 | 112 |
| 113 void addStops(Gradient*, RenderObject*, RenderStyle* rootStyle, float maxLen
gthForRepeat = 0); | 113 void addStops(Gradient*, const CSSToLengthConversionData&, float maxLengthFo
rRepeat = 0); |
| 114 | 114 |
| 115 // Resolve points/radii to front end values. | 115 // Resolve points/radii to front end values. |
| 116 FloatPoint computeEndPoint(CSSPrimitiveValue*, CSSPrimitiveValue*, RenderSty
le*, RenderStyle* rootStyle, const IntSize&); | 116 FloatPoint computeEndPoint(CSSPrimitiveValue*, CSSPrimitiveValue*, const CSS
ToLengthConversionData&, const IntSize&); |
| 117 | 117 |
| 118 bool isCacheable() const; | 118 bool isCacheable() const; |
| 119 | 119 |
| 120 // Points. Some of these may be null. | 120 // Points. Some of these may be null. |
| 121 RefPtr<CSSPrimitiveValue> m_firstX; | 121 RefPtr<CSSPrimitiveValue> m_firstX; |
| 122 RefPtr<CSSPrimitiveValue> m_firstY; | 122 RefPtr<CSSPrimitiveValue> m_firstY; |
| 123 | 123 |
| 124 RefPtr<CSSPrimitiveValue> m_secondX; | 124 RefPtr<CSSPrimitiveValue> m_secondX; |
| 125 RefPtr<CSSPrimitiveValue> m_secondY; | 125 RefPtr<CSSPrimitiveValue> m_secondY; |
| 126 | 126 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 139 static PassRefPtr<CSSLinearGradientValue> create(CSSGradientRepeat repeat, C
SSGradientType gradientType = CSSLinearGradient) | 139 static PassRefPtr<CSSLinearGradientValue> create(CSSGradientRepeat repeat, C
SSGradientType gradientType = CSSLinearGradient) |
| 140 { | 140 { |
| 141 return adoptRef(new CSSLinearGradientValue(repeat, gradientType)); | 141 return adoptRef(new CSSLinearGradientValue(repeat, gradientType)); |
| 142 } | 142 } |
| 143 | 143 |
| 144 void setAngle(PassRefPtr<CSSPrimitiveValue> val) { m_angle = val; } | 144 void setAngle(PassRefPtr<CSSPrimitiveValue> val) { m_angle = val; } |
| 145 | 145 |
| 146 String customCSSText() const; | 146 String customCSSText() const; |
| 147 | 147 |
| 148 // Create the gradient for a given size. | 148 // Create the gradient for a given size. |
| 149 PassRefPtr<Gradient> createGradient(RenderObject*, const IntSize&); | 149 PassRefPtr<Gradient> createGradient(const CSSToLengthConversionData&, const
IntSize&); |
| 150 | 150 |
| 151 PassRefPtr<CSSLinearGradientValue> clone() const | 151 PassRefPtr<CSSLinearGradientValue> clone() const |
| 152 { | 152 { |
| 153 return adoptRef(new CSSLinearGradientValue(*this)); | 153 return adoptRef(new CSSLinearGradientValue(*this)); |
| 154 } | 154 } |
| 155 | 155 |
| 156 bool equals(const CSSLinearGradientValue&) const; | 156 bool equals(const CSSLinearGradientValue&) const; |
| 157 | 157 |
| 158 private: | 158 private: |
| 159 CSSLinearGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp
e = CSSLinearGradient) | 159 CSSLinearGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp
e = CSSLinearGradient) |
| (...skipping 29 matching lines...) Expand all Loading... |
| 189 void setFirstRadius(PassRefPtr<CSSPrimitiveValue> val) { m_firstRadius = val
; } | 189 void setFirstRadius(PassRefPtr<CSSPrimitiveValue> val) { m_firstRadius = val
; } |
| 190 void setSecondRadius(PassRefPtr<CSSPrimitiveValue> val) { m_secondRadius = v
al; } | 190 void setSecondRadius(PassRefPtr<CSSPrimitiveValue> val) { m_secondRadius = v
al; } |
| 191 | 191 |
| 192 void setShape(PassRefPtr<CSSPrimitiveValue> val) { m_shape = val; } | 192 void setShape(PassRefPtr<CSSPrimitiveValue> val) { m_shape = val; } |
| 193 void setSizingBehavior(PassRefPtr<CSSPrimitiveValue> val) { m_sizingBehavior
= val; } | 193 void setSizingBehavior(PassRefPtr<CSSPrimitiveValue> val) { m_sizingBehavior
= val; } |
| 194 | 194 |
| 195 void setEndHorizontalSize(PassRefPtr<CSSPrimitiveValue> val) { m_endHorizont
alSize = val; } | 195 void setEndHorizontalSize(PassRefPtr<CSSPrimitiveValue> val) { m_endHorizont
alSize = val; } |
| 196 void setEndVerticalSize(PassRefPtr<CSSPrimitiveValue> val) { m_endVerticalSi
ze = val; } | 196 void setEndVerticalSize(PassRefPtr<CSSPrimitiveValue> val) { m_endVerticalSi
ze = val; } |
| 197 | 197 |
| 198 // Create the gradient for a given size. | 198 // Create the gradient for a given size. |
| 199 PassRefPtr<Gradient> createGradient(RenderObject*, const IntSize&); | 199 PassRefPtr<Gradient> createGradient(const CSSToLengthConversionData&, const
IntSize&); |
| 200 | 200 |
| 201 bool equals(const CSSRadialGradientValue&) const; | 201 bool equals(const CSSRadialGradientValue&) const; |
| 202 | 202 |
| 203 private: | 203 private: |
| 204 CSSRadialGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp
e = CSSRadialGradient) | 204 CSSRadialGradientValue(CSSGradientRepeat repeat, CSSGradientType gradientTyp
e = CSSRadialGradient) |
| 205 : CSSGradientValue(RadialGradientClass, repeat, gradientType) | 205 : CSSGradientValue(RadialGradientClass, repeat, gradientType) |
| 206 { | 206 { |
| 207 } | 207 } |
| 208 | 208 |
| 209 explicit CSSRadialGradientValue(const CSSRadialGradientValue& other) | 209 explicit CSSRadialGradientValue(const CSSRadialGradientValue& other) |
| 210 : CSSGradientValue(other, RadialGradientClass, other.gradientType()) | 210 : CSSGradientValue(other, RadialGradientClass, other.gradientType()) |
| 211 , m_firstRadius(other.m_firstRadius) | 211 , m_firstRadius(other.m_firstRadius) |
| 212 , m_secondRadius(other.m_secondRadius) | 212 , m_secondRadius(other.m_secondRadius) |
| 213 , m_shape(other.m_shape) | 213 , m_shape(other.m_shape) |
| 214 , m_sizingBehavior(other.m_sizingBehavior) | 214 , m_sizingBehavior(other.m_sizingBehavior) |
| 215 , m_endHorizontalSize(other.m_endHorizontalSize) | 215 , m_endHorizontalSize(other.m_endHorizontalSize) |
| 216 , m_endVerticalSize(other.m_endVerticalSize) | 216 , m_endVerticalSize(other.m_endVerticalSize) |
| 217 { | 217 { |
| 218 } | 218 } |
| 219 | 219 |
| 220 | 220 |
| 221 // Resolve points/radii to front end values. | 221 // Resolve points/radii to front end values. |
| 222 float resolveRadius(CSSPrimitiveValue*, RenderStyle*, RenderStyle* rootStyle
, float* widthOrHeight = 0); | 222 float resolveRadius(CSSPrimitiveValue*, const CSSToLengthConversionData&, fl
oat* widthOrHeight = 0); |
| 223 | 223 |
| 224 // These may be null for non-deprecated gradients. | 224 // These may be null for non-deprecated gradients. |
| 225 RefPtr<CSSPrimitiveValue> m_firstRadius; | 225 RefPtr<CSSPrimitiveValue> m_firstRadius; |
| 226 RefPtr<CSSPrimitiveValue> m_secondRadius; | 226 RefPtr<CSSPrimitiveValue> m_secondRadius; |
| 227 | 227 |
| 228 // The below are only used for non-deprecated gradients. Any of them may be
null. | 228 // The below are only used for non-deprecated gradients. Any of them may be
null. |
| 229 RefPtr<CSSPrimitiveValue> m_shape; | 229 RefPtr<CSSPrimitiveValue> m_shape; |
| 230 RefPtr<CSSPrimitiveValue> m_sizingBehavior; | 230 RefPtr<CSSPrimitiveValue> m_sizingBehavior; |
| 231 | 231 |
| 232 RefPtr<CSSPrimitiveValue> m_endHorizontalSize; | 232 RefPtr<CSSPrimitiveValue> m_endHorizontalSize; |
| 233 RefPtr<CSSPrimitiveValue> m_endVerticalSize; | 233 RefPtr<CSSPrimitiveValue> m_endVerticalSize; |
| 234 }; | 234 }; |
| 235 | 235 |
| 236 DEFINE_CSS_VALUE_TYPE_CASTS(CSSRadialGradientValue, isRadialGradientValue()); | 236 DEFINE_CSS_VALUE_TYPE_CASTS(CSSRadialGradientValue, isRadialGradientValue()); |
| 237 | 237 |
| 238 } // namespace WebCore | 238 } // namespace WebCore |
| 239 | 239 |
| 240 #endif // CSSGradientValue_h | 240 #endif // CSSGradientValue_h |
| OLD | NEW |