search for: swfdec_as_value_get_number

Displaying 20 results from an estimated 21 matches for "swfdec_as_value_get_number".

2007 May 29
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_tag.c player/swfplay.c
...type == rtype; + else + cond = l == r; out: swfdec_as_stack_pop (cx->frame->stack); @@ -1166,7 +1173,12 @@ swfdec_action_strict_equals (SwfdecAsCon cond = SWFDEC_AS_VALUE_GET_BOOLEAN (rval) == SWFDEC_AS_VALUE_GET_BOOLEAN (lval); break; case SWFDEC_AS_TYPE_NUMBER: - cond = SWFDEC_AS_VALUE_GET_NUMBER (rval) == SWFDEC_AS_VALUE_GET_NUMBER (lval); + { + double l, r; + r = SWFDEC_AS_VALUE_GET_NUMBER (rval); + l = SWFDEC_AS_VALUE_GET_NUMBER (lval); + cond = (l == r) || (isnan (l) && isnan (r)); + } break; case SWFDEC_AS_TYPE_STRING: cond = SWFDEC_AS_VALUE_GET_STRING (rval)...
2007 Oct 17
0
4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_movie.c libswfdec/swfdec_system_as.c libswfdec/swfdec_text_field_movie.c test/trace
...f..4610b96 100644 --- a/libswfdec/swfdec_system_as.c +++ b/libswfdec/swfdec_system_as.c @@ -265,7 +265,11 @@ swfdec_system_query (SwfdecAsContext *cx, SwfdecAsObject *object, if (queries[i].name == SWFDEC_AS_STR_screenResolutionY) { g_string_append_printf (server, "x%d", (int) SWFDEC_AS_VALUE_GET_NUMBER (&val)); } else if (queries[i].name == SWFDEC_AS_STR_pixelAspectRatio) { - g_string_append_printf (server, "&AR=%.1f", SWFDEC_AS_VALUE_GET_NUMBER (&val)); + char buffer[10]; + g_ascii_formatd (buffer, sizeof (buffer), "%.1f", + SWFDEC_AS_VALUE_G...
2007 Jun 28
0
Branch 'as' - 2 commits - doc/swfdec-sections.txt libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...xt +++ b/doc/swfdec-sections.txt @@ -184,10 +184,31 @@ SWFDEC_TYPE_GTK_LOADER <TITLE>SwfdecAsValue</TITLE> SwfdecAsValueType SwfdecAsValue +SWFDEC_AS_VALUE_SET_UNDEFINED +SWFDEC_AS_VALUE_GET_BOOLEAN swfdec_as_value_to_boolean -swfdec_as_value_to_integer +SWFDEC_AS_VALUE_SET_BOOLEAN +SWFDEC_AS_VALUE_GET_NUMBER swfdec_as_value_to_number +swfdec_as_value_to_integer +SWFDEC_AS_VALUE_SET_INT +SWFDEC_AS_VALUE_SET_NUMBER +SWFDEC_AS_VALUE_GET_STRING +swfdec_as_value_to_string +SWFDEC_AS_VALUE_SET_STRING +SWFDEC_AS_VALUE_SET_NULL +SWFDEC_AS_VALUE_GET_OBJECT swfdec_as_value_to_object +SWFDEC_AS_VALUE_SET_OBJECT...
2007 Dec 05
0
4 commits - libswfdec/swfdec_as_object.c libswfdec/swfdec_movie.c libswfdec/swfdec_policy_loader.c libswfdec/swfdec_text_field_movie.c libswfdec/swfdec_text_format.c
...stops); - block->tab_stops = pango_tab_array_new (length, TRUE); - for (i = 0; i < length; i++) { - swfdec_as_array_get_value (format->tab_stops, i, &val); - g_assert (SWFDEC_AS_VALUE_IS_NUMBER (&val)); - pango_tab_array_set_tab (block->tab_stops, i, PANGO_TAB_LEFT, - SWFDEC_AS_VALUE_GET_NUMBER (&val) * 20); + if (format->tab_stops != NULL) { + length = swfdec_as_array_get_length (format->tab_stops); + block->tab_stops = pango_tab_array_new (length, TRUE); + for (i = 0; i < length; i++) { + swfdec_as_array_get_value (format->tab_stops, i, &val); +...
2007 Apr 12
0
Branch 'as' - 14 commits - libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h
...+ case SWFDEC_AS_TYPE_NULL: cond = TRUE; break; - case SWFDEC_TYPE_AS_BOOLEAN: + case SWFDEC_AS_TYPE_BOOLEAN: cond = SWFDEC_AS_VALUE_GET_BOOLEAN (lval) == SWFDEC_AS_VALUE_GET_BOOLEAN (rval); break; - case SWFDEC_TYPE_AS_NUMBER: + case SWFDEC_AS_TYPE_NUMBER: cond = SWFDEC_AS_VALUE_GET_NUMBER (lval) == SWFDEC_AS_VALUE_GET_NUMBER (rval); break; - case SWFDEC_TYPE_AS_STRING: + case SWFDEC_AS_TYPE_STRING: cond = SWFDEC_AS_VALUE_GET_STRING (lval) == SWFDEC_AS_VALUE_GET_STRING (rval); break; - case SWFDEC_TYPE_AS_ASOBJECT: + case SWFDEC_AS_TYPE_OBJECT: cond = SWFD...
2007 Apr 05
0
Branch 'as' - 9 commits - configure.ac libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h
....0); + + switch (value->type) { + case SWFDEC_TYPE_AS_UNDEFINED: + case SWFDEC_TYPE_AS_NULL: + return (context->version >= 7) ? NAN : 0.0; + case SWFDEC_TYPE_AS_BOOLEAN: + return SWFDEC_AS_VALUE_GET_BOOLEAN (value) ? 1 : 0; + case SWFDEC_TYPE_AS_NUMBER: + return SWFDEC_AS_VALUE_GET_NUMBER (value); + case SWFDEC_TYPE_AS_STRING: + { + char *end; + double d = g_ascii_strtod (SWFDEC_AS_VALUE_GET_STRING (value), &end); + if (*end == '\0') + return d; + else + return NAN; + } + case SWFDEC_TYPE_AS_ASOBJECT: + SWFDEC_ERROR ("FIXME"); + re...
2007 May 29
0
Branch 'as' - 8 commits - libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_math.c libswfdec/swfdec_as_math.h libswfdec/swfdec_as_strings.c libswfdec/swfdec_as_types.c
...= rtype) { - switch (ltype) { - case SWFDEC_AS_TYPE_UNDEFINED: - case SWFDEC_AS_TYPE_NULL: - cond = TRUE; - break; - case SWFDEC_AS_TYPE_BOOLEAN: - cond = SWFDEC_AS_VALUE_GET_BOOLEAN (lval) == SWFDEC_AS_VALUE_GET_BOOLEAN (rval); - break; - case SWFDEC_AS_TYPE_NUMBER: - cond = SWFDEC_AS_VALUE_GET_NUMBER (lval) == SWFDEC_AS_VALUE_GET_NUMBER (rval); - break; - case SWFDEC_AS_TYPE_STRING: - cond = SWFDEC_AS_VALUE_GET_STRING (lval) == SWFDEC_AS_VALUE_GET_STRING (rval); - break; - case SWFDEC_AS_TYPE_OBJECT: - cond = SWFDEC_AS_VALUE_GET_OBJECT (lval) == SWFDEC_AS_VALUE_GET_OBJECT (rval); - br...
2007 May 24
0
Branch 'as' - 11 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_native_function.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_object.c
...NDEFINED: case SWFDEC_AS_TYPE_NULL: return (context->version >= 7) ? NAN : 0.0; case SWFDEC_AS_TYPE_BOOLEAN: - return SWFDEC_AS_VALUE_GET_BOOLEAN (value) ? 1 : 0; + return SWFDEC_AS_VALUE_GET_BOOLEAN (&tmp) ? 1 : 0; case SWFDEC_AS_TYPE_NUMBER: - return SWFDEC_AS_VALUE_GET_NUMBER (value); + return SWFDEC_AS_VALUE_GET_NUMBER (&tmp); case SWFDEC_AS_TYPE_STRING: { const char *s; char *end; double d; - s = SWFDEC_AS_VALUE_GET_STRING (value); + s = SWFDEC_AS_VALUE_GET_STRING (&tmp); if (s == SWFDEC_AS_STR_EMPTY) return NAN; d = g_ascii_s...
2007 Apr 12
0
Branch 'as' - 15 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_function.h libswfdec/swfdec_as_interpret.c
...} case SWFDEC_TYPE_AS_ASOBJECT: - SWFDEC_ERROR ("FIXME"); - return NAN; + { + SwfdecAsValue ret; + swfdec_as_object_call (SWFDEC_AS_VALUE_GET_OBJECT (value), SWFDEC_AS_STR_VALUEOF, + 0, NULL, &ret); + if (SWFDEC_AS_VALUE_IS_NUMBER (&ret)) + return SWFDEC_AS_VALUE_GET_NUMBER (&ret); + else + return NAN; + } default: g_assert_not_reached (); return NAN; diff --git a/libswfdec/swfdec_as_types.h b/libswfdec/swfdec_as_types.h index b114bae..2cfe796 100644 --- a/libswfdec/swfdec_as_types.h +++ b/libswfdec/swfdec_as_types.h @@ -166,6 +166,7 @@ e...
2007 Aug 29
0
15 commits - libswfdec/swfdec_as_strings.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_system_as.c
...tem_screen_width }, { SWFDEC_AS_STR_screenResolutionY, NULL, swfdec_system_screen_height }, { SWFDEC_AS_STR_screenDPI, "DP", swfdec_system_screen_dpi }, @@ -264,6 +264,10 @@ swfdec_system_query (SwfdecAsContext *cx g_string_append_printf (server, "x%d", (int) SWFDEC_AS_VALUE_GET_NUMBER (&val)); } else if (queries[i].name == SWFDEC_AS_STR_pixelAspectRatio) { g_string_append_printf (server, "&AR=%.1f", SWFDEC_AS_VALUE_GET_NUMBER (&val)); + } else if (queries[i].name == SWFDEC_AS_STR_manufacturer) { + char *s = swfdec_as_string_escape (cx, p...
2007 Aug 27
0
7 commits - libswfdec/Makefile.am libswfdec/swfdec_as_string.c libswfdec/swfdec_as_string.h libswfdec/swfdec_as_strings.c libswfdec/swfdec.h libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h libswfdec/swfdec_player.c
...;"); + for (i = 0; i < G_N_ELEMENTS (queries); i++) { + queries[i].get (player, &val); + swfdec_as_object_set_variable (object, queries[i].name, &val); + if (queries[i].name == SWFDEC_AS_STR_screenResolutionY) { + g_string_append_printf (server, "x%d", (int) SWFDEC_AS_VALUE_GET_NUMBER (&val)); + } else if (queries[i].name == SWFDEC_AS_STR_pixelAspectRatio) { + g_string_append_printf (server, "&AR=%.1g", SWFDEC_AS_VALUE_GET_NUMBER (&val)); + } else { + g_assert (queries[i].server_string); + if (i > 0) + g_string_append_c (server, '...
2007 Apr 11
0
Branch 'as' - 4 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...: what do we do when called in flash 4? */ + switch (value->type) { + case SWFDEC_TYPE_AS_UNDEFINED: + case SWFDEC_TYPE_AS_NULL: + return FALSE; + case SWFDEC_TYPE_AS_BOOLEAN: + return SWFDEC_AS_VALUE_GET_BOOLEAN (value); + case SWFDEC_TYPE_AS_NUMBER: + { + double d = SWFDEC_AS_VALUE_GET_NUMBER (value); + return d != 0.0 && !isnan (d); + } + case SWFDEC_TYPE_AS_STRING: + if (context->version <= 6) { + double d = swfdec_as_value_to_number (context, value); + return d != 0.0 && !isnan (d); + } else { + return SWFDEC_AS_VALUE_GET_STRING (value) != SWFD...
2007 Jul 04
0
Branch 'as' - 25 commits - libswfdec/Makefile.am libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c libswfdec/swfdec_as_context.h libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c
...if_fail (SWFDEC_IS_AS_CONTEXT (context), NULL); g_return_val_if_fail (SWFDEC_IS_AS_VALUE (value), NULL); @@ -527,92 +530,91 @@ swfdec_as_value_to_object (SwfdecAsConte case SWFDEC_AS_TYPE_NULL: return NULL; case SWFDEC_AS_TYPE_NUMBER: - return swfdec_as_number_new (context, SWFDEC_AS_VALUE_GET_NUMBER (value)); + s = SWFDEC_AS_STR_Number; + break; case SWFDEC_AS_TYPE_STRING: - { - SwfdecAsFunction *fun; - SwfdecAsObject *ret; - - swfdec_as_object_get_variable (context->global, SWFDEC_AS_STR_String, &val); - if (!SWFDEC_AS_VALUE_IS_OBJECT (&val) || - !SWFDEC_IS_...
2007 Apr 04
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_stack.c libswfdec/swfdec_as_stack.h
...l)->type = SWFDEC_TYPE_AS_BOOLEAN; \ - (val)->value.boolean = b; \ + SwfdecAsValue *__val = (val); \ + (__val)->type = SWFDEC_TYPE_AS_BOOLEAN; \ + (__val)->value.boolean = b; \ } G_STMT_END #define SWFDEC_AS_VALUE_IS_NUMBER(val) ((val)->type == SWFDEC_TYPE_AS_NUMBER) #define SWFDEC_AS_VALUE_GET_NUMBER(val) (g_assert ((val)->type == SWFDEC_TYPE_AS_NUMBER), (val)->value.number) #define SWFDEC_AS_VALUE_SET_NUMBER(val,d) G_STMT_START { \ - (val)->type = SWFDEC_TYPE_AS_NUMBER; \ - (val)->value.number = d; \ + SwfdecAsValue *__val = (val); \ + (__val)->type = SWFDEC_TYPE_AS_NUMBER;...
2007 Nov 08
0
configure.ac libswfdec-gtk/swfdec_gtk_widget.c libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_as_date.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_types.c libswfdec/swfdec_audio_flv.c libswfdec/swfdec_audio_flv.h
...alue *value) return SWFDEC_AS_STR__type_Object_; } } + case SWFDEC_AS_TYPE_INT: default: g_assert_not_reached (); return SWFDEC_AS_STR_EMPTY; @@ -420,6 +421,7 @@ swfdec_as_value_to_debug (const SwfdecAsValue *value) return g_strdup_printf ("%g", SWFDEC_AS_VALUE_GET_NUMBER (value)); case SWFDEC_AS_TYPE_OBJECT: return swfdec_as_object_get_debug (SWFDEC_AS_VALUE_GET_OBJECT (value)); + case SWFDEC_AS_TYPE_INT: default: g_assert_not_reached (); return NULL; @@ -474,6 +476,7 @@ swfdec_as_value_to_number (SwfdecAsContext *context, const Sw...
2007 Aug 07
0
13 commits - libswfdec-gtk/Makefile.am libswfdec-gtk/swfdec_gtk_keys.c libswfdec-gtk/swfdec_gtk_keys.h libswfdec-gtk/swfdec_gtk_widget.c libswfdec/Makefile.am libswfdec/swfdec_as_types.c libswfdec/swfdec.h libswfdec/swfdec_initialize.as
..._VALUE (value), FALSE); -/* FIXME: what do we do when called in flash 4? */ -switch (value->type) { -case SWFDEC_AS_TYPE_UNDEFINED: -case SWFDEC_AS_TYPE_NULL: -return FALSE; -case SWFDEC_AS_TYPE_BOOLEAN: -return SWFDEC_AS_VALUE_GET_BOOLEAN (value); -case SWFDEC_AS_TYPE_NUMBER: -{ - double d = SWFDEC_AS_VALUE_GET_NUMBER (value); - return d != 0.0 && !isnan (d); -} -case SWFDEC_AS_TYPE_STRING: -if (context->version <= 6) { - double d = swfdec_as_value_to_number (context, value); - return d != 0.0 && !isnan (d); -} else { - return SWFDEC_AS_VALUE_GET_STRING (value) != SWFDEC_AS_STR_EMPTY; -...
2007 Jun 27
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie_as.c
...val); if (isnan (d)) - frame = swfdec_sprite_get_frame (SWFDEC_SPRITE_MOVIE (movie)->sprite, name); + frame = swfdec_sprite_get_frame (movie->sprite, name) + 1; else - frame = d - 1; + frame = d; } else if (SWFDEC_AS_VALUE_IS_NUMBER (val)) { - return (int) SWFDEC_AS_VALUE_GET_NUMBER (val) - 1; + frame = swfdec_as_value_to_integer (cx, val); } else { SWFDEC_WARNING ("cannot convert value to frame number"); /* FIXME: how do we treat undefined etc? */ - frame = -1; + frame = 0; } - return frame; + return frame <= 0 ? 0 : frame; } static...
2008 Jan 01
0
4 commits - libswfdec/swfdec_as_internal.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h libswfdec/swfdec_sprite_movie_as.c test/trace
...p;movie, "O", &o); + + xv = swfdec_as_object_peek_variable (o, SWFDEC_AS_STR_x); + if (xv == NULL || !SWFDEC_AS_VALUE_IS_NUMBER (xv)) + return; + yv = swfdec_as_object_peek_variable (o, SWFDEC_AS_STR_y); + if (yv == NULL || !SWFDEC_AS_VALUE_IS_NUMBER (yv)) + return; + + x = SWFDEC_AS_VALUE_GET_NUMBER (xv); + y = SWFDEC_AS_VALUE_GET_NUMBER (yv); + x = swfdec_as_double_to_integer (x * SWFDEC_TWIPS_SCALE_FACTOR); + y = swfdec_as_double_to_integer (y * SWFDEC_TWIPS_SCALE_FACTOR); + swfdec_movie_local_to_global (movie, &x, &y); + SWFDEC_AS_VALUE_SET_NUMBER (xv, SWFDEC_TWIPS_TO_DOUBLE ((...
2007 Nov 27
0
12 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_loader.c libswfdec/swfdec_loader_internal.h libswfdec/swfdec_load_object_as.c libswfdec/swfdec_load_object.c libswfdec/swfdec_load_object.h
...e val; + const char *str; int blend_mode; + gsize i; SWFDEC_AS_CHECK (SWFDEC_TYPE_MOVIE, &movie, "v", &val); - if (cx->version >= 8) { - if (!SWFDEC_AS_VALUE_IS_NUMBER (&val)) - return; + if (SWFDEC_AS_VALUE_IS_NUMBER (&val)) { blend_mode = SWFDEC_AS_VALUE_GET_NUMBER (&val); + } else if (SWFDEC_AS_VALUE_IS_STRING (&val)) { + blend_mode = 0; + str = SWFDEC_AS_VALUE_GET_STRING (&val); + for (i = 0; i < num_blend_mode_names; i++) { + if (str == blend_mode_names[i]) { // case-sensitive + blend_mode = i + 1; + break; + } + } +...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...WFDEC_AS_STR_EMPTY; + case SWFDEC_TYPE_AS_BOOLEAN: + return SWFDEC_AS_VALUE_GET_BOOLEAN (value) ? SWFDEC_AS_STR_TRUE : SWFDEC_AS_STR_FALSE; + case SWFDEC_TYPE_AS_NULL: + return SWFDEC_AS_STR_NULL; + case SWFDEC_TYPE_AS_NUMBER: + { + char *s = g_strdup_printf ("%g", SWFDEC_AS_VALUE_GET_NUMBER (value)); + const char *ret = swfdec_as_context_get_string (context, s); + g_free (s); + return ret; + } + case SWFDEC_TYPE_AS_ASOBJECT: + /* FIXME! */ + return SWFDEC_AS_STR_OBJECT_OBJECT; + default: + g_assert_not_reached (); + return SWFDEC_AS_STR_EMPTY; } - g_...