sprite->remove_me = false;
sprite->image = NULL;
sprite->image_obj = NULL;
- sprite->state = state;
- sprite->monospace_font = data->monospace_font;
- sprite->draw_func = NULL;
ply_list_append_data (data->sprite_list, sprite);
reply = script_obj_new_native (sprite, data->class);
return script_return_obj (reply);
}
-static script_return_t consoleviewer_new (script_state_t *state,
- void *user_data)
-{
- sprite_t *sprite;
- script_lib_sprite_data_t *data = user_data;
- script_obj_t *reply;
- ply_list_node_t *node;
- int index;
- script_obj_t *index_obj;
- script_lib_display_t *display;
- ply_console_viewer_t *console_viewer;
-
- script_return_t ret = sprite_new (state, user_data);
- sprite = ret.object->data.native.object_data;
-
- index_obj = script_obj_hash_peek_element (state->local, "window");
-
- if (index_obj) {
- index = script_obj_as_number (index_obj);
- script_obj_unref (index_obj);
- if (index < 0)
- return script_return_obj_null ();
- node = ply_list_get_nth_node (data->displays, index);
- if (node == NULL)
- return script_return_obj_null ();
- display = ply_list_node_get_data (node);
- console_viewer = ply_console_viewer_new (display->pixel_display, sprite->monospace_font);
-
- reply = script_obj_new_native (console_viewer, data->class);
- return script_return_obj (reply);
- }
-
- return script_return_obj_null ();
-}
-
static script_return_t sprite_get_image (script_state_t *state,
void *user_data)
{
if ((position_x + (int) ply_pixel_buffer_get_width (sprite->image)) <= x) continue;
if ((position_y + (int) ply_pixel_buffer_get_height (sprite->image)) <= y) continue;
- if (sprite->draw_func != NULL) {
- script_return_t ret = script_execute_object (sprite->state,
- sprite->draw_func,
- NULL,
- NULL);
-
- script_obj_unref (ret.object);
-
- continue;
- }
-
ply_pixel_buffer_fill_with_buffer_at_opacity_with_clip (pixel_buffer,
sprite->image,
position_x,
{
ply_list_node_t *node;
script_lib_sprite_data_t *data = malloc (sizeof(script_lib_sprite_data_t));
- script_return_t ret;
data->class = script_obj_native_class_new (sprite_free, "sprite", data);
data->sprite_list = ply_list_new ();
NULL);
script_obj_unref (window_hash);
-
- data->script_consoleviewer_op = script_parse_string (script_lib_sprite_string, "script-lib-consoleviewer.script");
- ret = script_execute (state, data->script_consoleviewer_op);
- script_obj_unref (ret.object);
-
- script_obj_t *consoleviewer_hash = script_obj_hash_get_element (state->global, "ConsoleViewer");
-
- script_add_native_function (consoleviewer_hash,
- "New",
- consoleviewer_new,
- data,
- "window",
- NULL);
-
- script_obj_unref (consoleviewer_hash);
-
data->script_main_op = script_parse_string (script_lib_sprite_string, "script-lib-sprite.script");
data->background_color_start = 0x000000;
data->background_color_end = 0x000000;
data->full_refresh = true;
data->needs_redraw = true;
- ret = script_execute (state, data->script_main_op);
+ script_return_t ret = script_execute (state, data->script_main_op);
data->should_show_console_messages = false;
data->plugin_console_messages_updating = false;
}
ply_list_remove_node (data->sprite_list, node);
script_obj_unref (sprite->image_obj);
- if (sprite->draw_func != NULL)
- script_obj_unref (sprite->draw_func);
free (sprite);
}
node = next_node;
node);
ply_list_remove_node (data->sprite_list, node);
script_obj_unref (sprite->image_obj);
- script_obj_unref (sprite->draw_func);
free (sprite);
node = next_node;
}