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 <jsapi.h> | 10 #include <jsapi.h> |
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 *vp = BOOLEAN_TO_JSVAL(s32); | 270 *vp = BOOLEAN_TO_JSVAL(s32); |
271 break; | 271 break; |
272 case SkType_Color: | 272 case SkType_Color: |
273 case SkType_S32: | 273 case SkType_S32: |
274 *vp = INT_TO_JSVAL(s32); | 274 *vp = INT_TO_JSVAL(s32); |
275 break; | 275 break; |
276 case SkType_Scalar: | 276 case SkType_Scalar: |
277 if (SkScalarFraction(scalar) == 0) | 277 if (SkScalarFraction(scalar) == 0) |
278 *vp = INT_TO_JSVAL(SkScalarFloor(scalar)); | 278 *vp = INT_TO_JSVAL(SkScalarFloor(scalar)); |
279 else | 279 else |
280 #ifdef SK_SCALAR_IS_FLOAT | |
281 *vp = DOUBLE_TO_JSVAL(scalar); | 280 *vp = DOUBLE_TO_JSVAL(scalar); |
282 #else | |
283 *vp = DOUBLE_TO_JSVAL(scalar / 65536.0f ); | |
284 #endif | |
285 break; | 281 break; |
286 case SkType_String: | 282 case SkType_String: |
287 str = JS_NewStringCopyN(cx, string->c_str(), string->size()); | 283 str = JS_NewStringCopyN(cx, string->c_str(), string->size()); |
288 *vp = STRING_TO_JSVAL(str); | 284 *vp = STRING_TO_JSVAL(str); |
289 break; | 285 break; |
290 default: | 286 default: |
291 SkASSERT(0); // !!! unimplemented | 287 SkASSERT(0); // !!! unimplemented |
292 } | 288 } |
293 return JS_TRUE; | 289 return JS_TRUE; |
294 } | 290 } |
(...skipping 21 matching lines...) Expand all Loading... |
316 break; | 312 break; |
317 case SkType_Color: | 313 case SkType_Color: |
318 case SkType_S32: | 314 case SkType_S32: |
319 s32 = JSVAL_TO_INT(value); | 315 s32 = JSVAL_TO_INT(value); |
320 break; | 316 break; |
321 case SkType_Scalar: | 317 case SkType_Scalar: |
322 if (JSVAL_IS_INT(value)) | 318 if (JSVAL_IS_INT(value)) |
323 scalar = SkIntToScalar(JSVAL_TO_INT(value)); | 319 scalar = SkIntToScalar(JSVAL_TO_INT(value)); |
324 else { | 320 else { |
325 SkASSERT(JSVAL_IS_DOUBLE(value)); | 321 SkASSERT(JSVAL_IS_DOUBLE(value)); |
326 #ifdef SK_SCALAR_IS_FLOAT | |
327 scalar = (float) *(double*) JSVAL_TO_DOUBLE(value); | 322 scalar = (float) *(double*) JSVAL_TO_DOUBLE(value); |
328 #else | |
329 scalar = (SkFixed) (*(double*)JSVAL_TO_DOUBLE(value) * 65536.0)
; | |
330 #endif | |
331 } | 323 } |
332 break; | 324 break; |
333 case SkType_String: | 325 case SkType_String: |
334 str = JS_ValueToString(cx, value); | 326 str = JS_ValueToString(cx, value); |
335 string.set(JS_GetStringBytes(str)); | 327 string.set(JS_GetStringBytes(str)); |
336 break; | 328 break; |
337 default: | 329 default: |
338 SkASSERT(0); // !!! unimplemented | 330 SkASSERT(0); // !!! unimplemented |
339 } | 331 } |
340 if (info->fType == SkType_MemberProperty) { | 332 if (info->fType == SkType_MemberProperty) { |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
451 } | 443 } |
452 | 444 |
453 void SkJS::DisposeDisplayables() { | 445 void SkJS::DisposeDisplayables() { |
454 delete SkJSDisplayable::gPaint; | 446 delete SkJSDisplayable::gPaint; |
455 delete SkJSDisplayable::gCanvas; | 447 delete SkJSDisplayable::gCanvas; |
456 for (int index = 0; index < kTypeNamesSize; index++) { | 448 for (int index = 0; index < kTypeNamesSize; index++) { |
457 SkDisplayTypes type = gTypeNames[index].fType; | 449 SkDisplayTypes type = gTypeNames[index].fType; |
458 delete[] gDisplayableProperties[type]; | 450 delete[] gDisplayableProperties[type]; |
459 } | 451 } |
460 } | 452 } |
OLD | NEW |