node_expression = ply_list_get_next_node (parameter_expressions,
node_expression);
}
-
- script_return_t reply = script_execute_function_with_parlist (
- state,
- func->data.
- function,
- parameter_data);
+ script_return_t reply = script_execute_function_with_parlist (state,
+ func->data.function,
+ parameter_data);
if (reply.type == SCRIPT_RETURN_TYPE_RETURN)
obj = reply.object;
else
static script_return_t script_execute_list (script_state_t *state,
ply_list_t *op_list) /* FIXME script_execute returns the return obj */
{
- script_return_t reply = {SCRIPT_RETURN_TYPE_NORMAL, NULL};
+ script_return_t reply = script_return_normal ();
ply_list_node_t *node = ply_list_get_first_node (op_list);
for (node = ply_list_get_first_node (op_list);
script_return_t script_execute (script_state_t *state,
script_op_t *op)
{
- script_return_t reply = {SCRIPT_RETURN_TYPE_NORMAL, NULL};
+ script_return_t reply = script_return_normal ();
if (!op) return reply;
switch (op->type)
return reply;
case SCRIPT_RETURN_TYPE_BREAK:
- return (script_return_t) {SCRIPT_RETURN_TYPE_NORMAL, NULL};
+ return script_return_normal();
case SCRIPT_RETURN_TYPE_CONTINUE:
break;
script_obj_t *obj;
if (op->data.exp) obj = script_evaluate (state, op->data.exp);
else obj = script_obj_new_null ();
- reply = (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, obj};
+ reply = script_return_obj (obj);
break;
}
case SCRIPT_OP_TYPE_BREAK:
{
- reply = (script_return_t) {SCRIPT_RETURN_TYPE_BREAK, NULL};
+ reply = script_return_break ();
break;
}
case SCRIPT_OP_TYPE_CONTINUE:
{
- reply = (script_return_t) {SCRIPT_RETURN_TYPE_CONTINUE, NULL};
+ reply = script_return_continue ();
break;
}
}
}
free (filename);
free (path_filename);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, reply};
+ return script_return_obj (reply);
}
static script_return_t image_get_width (script_state_t *state,
ply_image_t *image = script_obj_hash_get_native_of_class (state->local,
"image",
data->class);
-
if (image)
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_int (ply_image_get_width (image))};
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj (script_obj_new_int (ply_image_get_width (image)));
+ return script_return_obj_null ();
}
static script_return_t image_get_height (script_state_t *state,
ply_image_t *image = script_obj_hash_get_native_of_class (state->local,
"image",
data->class);
-
if (image)
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_int (ply_image_get_height (image))};
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj (script_obj_new_int (ply_image_get_height (image)));
+ return script_return_obj_null ();
}
static script_return_t image_rotate (script_state_t *state,
ply_image_get_width (image) / 2,
ply_image_get_height (image) / 2,
angle);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_native (new_image,
- data->class)};
+ return script_return_obj (script_obj_new_native (new_image, data->class));
}
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static script_return_t image_scale (script_state_t *state,
if (image)
{
ply_image_t *new_image = ply_image_resize (image, width, height);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_native (new_image,
- data->class)};
+ return script_return_obj (script_obj_new_native (new_image, data->class));
}
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
script_lib_image_data_t *script_lib_image_setup (script_state_t *state,
float (*function)(float) = user_data;
float value = script_obj_hash_get_float (state->local, "value");
float reply_float = function (value);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_float (reply_float)};
+ return script_return_obj (script_obj_new_float (reply_float));
}
float value1 = script_obj_hash_get_float (state->local, "value_a");
float value2 = script_obj_hash_get_float (state->local, "value_b");
float reply_float = function (value1, value2);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_float (reply_float)};
+ return script_return_obj (script_obj_new_float (reply_float));
}
static script_return_t script_lib_math_int_from_float_function (script_state_t *state,
int (*function)(float) = user_data;
float value = script_obj_hash_get_float (state->local, "value");
int reply_int = function (value);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_int (reply_int)};
+ return script_return_obj (script_obj_new_int (reply_int));
}
static int float_to_int (float value)
*script_func = NULL;
script_obj_unref (obj);
}
- return (script_return_t) {
- SCRIPT_RETURN_TYPE_RETURN, script_obj_new_null ()
- };
+ return script_return_obj_null ();
}
script_lib_plymouth_data_t *script_lib_plymouth_setup (script_state_t *state)
&& (refresh_func_obj->type == SCRIPT_OBJ_TYPE_FUNCTION))
{
script_return_t ret = script_execute_function (state,
- refresh_func_obj->data.function,
- NULL);
+ refresh_func_obj->data.function,
+ NULL);
script_obj_unref (ret.object);
}
}
script_obj_t *duration_obj = script_obj_new_float (duration);
script_obj_t *progress_obj = script_obj_new_float (progress);
script_return_t ret = script_execute_function (state,
- boot_progress_func_obj->data.function,
- duration_obj,
- progress_obj,
- NULL);
+ boot_progress_func_obj->data.function,
+ duration_obj,
+ progress_obj,
+ NULL);
script_obj_unref (ret.object);
script_obj_unref (duration_obj);
script_obj_unref (progress_obj);
ply_list_append_data (data->sprite_list, sprite);
reply = script_obj_new_native (sprite, data->class);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, reply};
+ return script_return_obj (reply);
}
static script_return_t sprite_set_image (script_state_t *state,
}
script_obj_unref (script_obj_image);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static script_return_t sprite_set_x (script_state_t *state,
if (sprite)
sprite->x = script_obj_hash_get_int (state->local, "value");
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static script_return_t sprite_set_y (script_state_t *state,
if (sprite)
sprite->y = script_obj_hash_get_int (state->local, "value");
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static script_return_t sprite_set_z (script_state_t *state,
if (sprite)
sprite->z = script_obj_hash_get_int (state->local, "value");
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static script_return_t sprite_set_opacity (script_state_t *state,
if (sprite)
sprite->opacity = script_obj_hash_get_float (state->local, "value");
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static script_return_t sprite_window_get_width (script_state_t *state,
ply_frame_buffer_area_t area;
ply_frame_buffer_get_size (frame_buffer, &area);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_int (area.width)};
+ return script_return_obj (script_obj_new_int (area.width));
}
static script_return_t sprite_window_get_height (script_state_t *state,
ply_frame_buffer_area_t area;
ply_frame_buffer_get_size (frame_buffer, &area);
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_int (area.height)};
+ return script_return_obj (script_obj_new_int (area.height));
}
static uint32_t extract_rgb_color (script_state_t *state)
data->background_color_start = extract_rgb_color (state);
data->full_refresh = true;
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static script_return_t sprite_window_set_background_bottom_color (script_state_t *state,
data->background_color_end = extract_rgb_color (state);
data->full_refresh = true;
- return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
- script_obj_new_null ()};
+ return script_return_obj_null ();
}
static void
script_obj_t *object;
} script_vareable_t;
+
+#define script_return_obj(_return_object) ((script_return_t) {SCRIPT_RETURN_TYPE_RETURN, _return_object})
+#define script_return_obj_null() ((script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_null ()})
+#define script_return_normal() ((script_return_t) {SCRIPT_RETURN_TYPE_NORMAL, NULL})
+#define script_return_break() ((script_return_t) {SCRIPT_RETURN_TYPE_BREAK, NULL})
+#define script_return_continue() ((script_return_t) {SCRIPT_RETURN_TYPE_CONTINUE, NULL})
+
script_function_t *script_function_script_new (script_op_t *script,
void *user_data,
ply_list_t *parameter_list);