OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
4 * | 4 * |
5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
7 */ | 7 */ |
8 | 8 |
9 | 9 |
10 #include "SkDrawColor.h" | 10 #include "SkDrawColor.h" |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 fPaint = (SkDrawPaint*) parent; | 219 fPaint = (SkDrawPaint*) parent; |
220 return false; | 220 return false; |
221 } | 221 } |
222 | 222 |
223 bool SkDrawColor::setProperty(int index, SkScriptValue& value) { | 223 bool SkDrawColor::setProperty(int index, SkScriptValue& value) { |
224 SkASSERT(value.fType == SkType_Float); | 224 SkASSERT(value.fType == SkType_Float); |
225 SkScalar scalar = value.fOperand.fScalar; | 225 SkScalar scalar = value.fOperand.fScalar; |
226 switch (index) { | 226 switch (index) { |
227 case SK_PROPERTY(alpha): | 227 case SK_PROPERTY(alpha): |
228 uint8_t alpha; | 228 uint8_t alpha; |
229 #ifdef SK_SCALAR_IS_FLOAT | |
230 alpha = scalar == SK_Scalar1 ? 255 : SkToU8((U8CPU) (scalar * 256)); | 229 alpha = scalar == SK_Scalar1 ? 255 : SkToU8((U8CPU) (scalar * 256)); |
231 #else | |
232 alpha = SkToU8((scalar - (scalar >= SK_ScalarHalf)) >> 8); | |
233 #endif | |
234 color = SkColorSetARGB(alpha, SkColorGetR(color), | 230 color = SkColorSetARGB(alpha, SkColorGetR(color), |
235 SkColorGetG(color), SkColorGetB(color)); | 231 SkColorGetG(color), SkColorGetB(color)); |
236 break; | 232 break; |
237 case SK_PROPERTY(blue): | 233 case SK_PROPERTY(blue): |
238 scalar = SkScalarClampMax(scalar, 255 * SK_Scalar1); | 234 scalar = SkScalarClampMax(scalar, 255 * SK_Scalar1); |
239 color = SkColorSetARGB(SkColorGetA(color), SkColorGetR(color), | 235 color = SkColorSetARGB(SkColorGetA(color), SkColorGetR(color), |
240 SkColorGetG(color), SkToU8((U8CPU) scalar)); | 236 SkColorGetG(color), SkToU8((U8CPU) scalar)); |
241 break; | 237 break; |
242 case SK_PROPERTY(green): | 238 case SK_PROPERTY(green): |
243 scalar = SkScalarClampMax(scalar, 255 * SK_Scalar1); | 239 scalar = SkScalarClampMax(scalar, 255 * SK_Scalar1); |
(...skipping 16 matching lines...) Expand all Loading... |
260 case SK_PROPERTY(value): | 256 case SK_PROPERTY(value): |
261 fValue = scalar;//RGB_to_HSV(color, kGetValue); | 257 fValue = scalar;//RGB_to_HSV(color, kGetValue); |
262 fDirty = true; | 258 fDirty = true; |
263 break; | 259 break; |
264 default: | 260 default: |
265 SkASSERT(0); | 261 SkASSERT(0); |
266 return false; | 262 return false; |
267 } | 263 } |
268 return true; | 264 return true; |
269 } | 265 } |
OLD | NEW |