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_...