From 670d468252b290e63ad381eaabac2b1e82fa5034 Mon Sep 17 00:00:00 2001 From: David Capello Date: Wed, 26 Sep 2007 19:34:06 +0000 Subject: [PATCH] Added command_execute_open_file. Removed jmanager_dispatch_draw_messages. Fixed wheel behavior in the editor (only when the editor is in standby state). Replaced scare/unscare_mouse jmouse_hide/show. Renamed ji_mouse -> jmouse. Added command_execute_close_file --- AUTHORS.txt | 1 + ChangeLog | 26 ++- data/scripts/closespr.lua | 28 --- data/scripts/newspr.lua | 113 ---------- data/scripts/openspr.lua | 22 -- data/scripts/sprite.lua | 11 - jinete/include/jinete/manager.h | 1 - jinete/include/jinete/system.h | 32 +-- jinete/src/jcombox.c | 64 +++--- jinete/src/jlistbox.c | 8 +- jinete/src/jmanager.c | 88 +++----- jinete/src/jmenu.c | 20 +- jinete/src/jpanel.c | 22 +- jinete/src/jslider.c | 12 +- jinete/src/jsystem.c | 78 ++++--- jinete/src/jtextbox.c | 12 +- jinete/src/jtheme.c | 10 +- jinete/src/jwidget.c | 4 +- jinete/src/jwindow.c | 10 +- jinete/src/themes/jstand.c | 25 ++- makefile.mgw | 13 +- src/commands/cmd_about.c | 2 +- src/commands/cmd_advanced_mode.c | 8 +- src/commands/cmd_close_file.c | 37 +++- src/commands/cmd_exit.c | 2 +- src/commands/cmd_open_file.c | 34 ++- src/commands/cmd_preview_fit_to_screen.c | 11 +- src/commands/cmd_preview_normal.c | 11 +- src/commands/cmd_preview_tiled.c | 11 +- src/commands/cmd_tips.c | 7 +- src/commands/commands.c | 30 ++- src/core/app.c | 36 ++-- src/core/shutdown.c | 5 +- src/dialogs/dmapgen.c | 22 +- src/dialogs/filmedit.c | 93 +++++---- src/dialogs/minipal.c | 12 +- src/dialogs/playfli.c | 34 +-- src/dialogs/scrsaver.c | 12 +- src/dialogs/tips.c | 60 +++--- src/dialogs/viewspr.c | 52 ++--- src/dialogs/viewspr.h | 9 +- src/modules/gui.c | 22 +- src/modules/rootmenu.c | 252 ++--------------------- src/modules/rootmenu.h | 2 +- src/modules/tools.c | 2 +- src/raster/examples/00dirty.c | 16 +- src/raster/examples/01mask.c | 12 +- src/script/bindings.c | 1 - src/script/export.h | 4 - src/script/genbinds.c | 59 ------ src/script/import.h | 3 - src/util/clipbrd.c | 104 +++++----- src/util/misc.c | 50 ++--- src/util/recscr.c | 2 +- src/widgets/colbar.c | 14 +- src/widgets/curvedit.c | 40 ++-- src/widgets/editor.h | 2 +- src/widgets/editor/click.c | 50 ++--- src/widgets/editor/editor.c | 191 ++++++++--------- src/widgets/editor/keys.c | 6 +- src/widgets/statebar.c | 114 +++++----- 61 files changed, 832 insertions(+), 1202 deletions(-) delete mode 100644 data/scripts/closespr.lua delete mode 100644 data/scripts/newspr.lua delete mode 100644 data/scripts/openspr.lua delete mode 100644 data/scripts/sprite.lua diff --git a/AUTHORS.txt b/AUTHORS.txt index 02839ed79..831069c4b 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -135,6 +135,7 @@ THANKFULNESS Jorge Ramírez Flores Juraj Michalek Manuel De Miguel Moreno + Manuel Quiñones Mateusz Czaplinski Nathan Smith (whitedoor) Peter Wang (tjaden) diff --git a/ChangeLog b/ChangeLog index 99f255751..3cdeb4492 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,29 @@ +2007-09-26 David A. Capello + + * src/commands/cmd_open_file.c (command_execute_open_file): + Added (based on openspr.lua). + + * jinete/src/jmanager.c (jmanager_dispatch_draw_messages): Removed. + (dispatch_msgs): Fixed for ji_screen != screen. + +2007-09-25 David A. Capello + + * src/widgets/editor/editor.c (editor_msg_proc): Fixed wheel + behavior (only when the editor is in standby state). + + * jinete/src/jsystem.c (jmouse_hide, jmouse_show): Added (replaced + scare/unscare_mouse by these functions). Renamed ji_mouse -> jmouse. + 2007-09-23 David A. Capello - * src/commands/cmd_new_sprite.c: Added (based on newspr.lua). + * src/commands/cmd_close_file.c: Added (based on closespr.lua and + sprite.lua). - * src/commands/cmd_exit.c (command_execute_exit): Added (based on - exit.lua). + * src/commands/cmd_about.c: Added (based on dialogs/about.c). + + * src/commands/cmd_new_file.c: Added (based on newspr.lua). + + * src/commands/cmd_exit.c: Added (based on exit.lua). 2007-09-21 David A. Capello diff --git a/data/scripts/closespr.lua b/data/scripts/closespr.lua deleted file mode 100644 index 1143dc9a1..000000000 --- a/data/scripts/closespr.lua +++ /dev/null @@ -1,28 +0,0 @@ --- ase -- allegro-sprite-editor: the ultimate sprites factory --- Copyright (C) 2001-2005 by David A. Capello - -function GUI_CloseSprite() - if not current_sprite then return end - - -- see if the sprite has changes - while sprite_is_modified(current_sprite) do - -- ask what want to do the user with the changes in the sprite - local ret = jalert(_("Warning").. - "<<".._("Saving changes in:").. - "<<"..get_filename(current_sprite.filename).. - "||".._("&Save||&Discard||&Cancel")) - - if ret == 1 then - -- "save": save the changes - GUI_SaveSprite() -- call this routine from savespr.lua - elseif ret != 2 then - -- "cancel" or - return -- we back doing nothing - else - -- "discard" - break - end - end - - CloseSprite() -end diff --git a/data/scripts/newspr.lua b/data/scripts/newspr.lua deleted file mode 100644 index cb26c09c0..000000000 --- a/data/scripts/newspr.lua +++ /dev/null @@ -1,113 +0,0 @@ --- ase -- allegro-sprite-editor: the ultimate sprites factory --- Copyright (C) 2001-2005 by David A. Capello - -local _sprite_counter = 0 - -function NewSprite(imgtype, w, h) - -- new sprite - local sprite = sprite_new_with_layer(imgtype, w, h) - if not sprite then return nil end - - sprite_mount(sprite) - set_current_sprite(sprite) - return sprite -end - --- shows the "New Sprite" dialog -function GUI_NewSprite() - -- load the window widget - local window = ji_load_widget("newspr.jid", "new_sprite") - if not window then return end - - local width = jwidget_find_name(window, "width") - local height = jwidget_find_name(window, "height") - local radio1 = jwidget_find_name(window, "radio1") - local radio2 = jwidget_find_name(window, "radio2") - local radio3 = jwidget_find_name(window, "radio3") - local button_ok = jwidget_find_name(window, "ok_button") - local bg_box = jwidget_find_name(window, "bg_box") - local imgtype, w, h, bg - - -- default values: Indexed, 320x200, Transparent - imgtype = get_config_int("NewSprite", "Type", IMAGE_INDEXED) - imgtype = MID(IMAGE_RGB, imgtype, IMAGE_INDEXED) - w = get_config_int("NewSprite", "Width", 320) - h = get_config_int("NewSprite", "Height", 200) - bg = get_config_int("NewSprite", "Background", 0) - - jwidget_set_text(width, w) - jwidget_set_text(height, h) - - -- select image-type - if imgtype == IMAGE_RGB then - jwidget_select(radio1) - elseif imgtype == IMAGE_GRAYSCALE then - jwidget_select(radio2) - elseif imgtype == IMAGE_INDEXED then - jwidget_select(radio3) - end - - -- select background color - jlistbox_select_index(bg_box, bg) - - -- open the window - jwindow_open_fg(window) - - if jwindow_get_killer(window) == button_ok then - -- get the options - if jwidget_is_selected(radio1) then - imgtype = IMAGE_RGB - elseif jwidget_is_selected(radio2) then - imgtype = IMAGE_GRAYSCALE - elseif jwidget_is_selected(radio3) then - imgtype = IMAGE_INDEXED - end - - w = tonumber(jwidget_get_text(width)) - h = tonumber(jwidget_get_text(height)) - bg = jlistbox_get_selected_index(bg_box) - - w = MID(1, w, 9999) - h = MID(1, h, 9999) - - -- select the color - local color = nil - - if bg >= 0 and bg <= 3 then - local bg_table = { - "mask", - "rgb{0,0,0}", - "rgb{255,255,255}", - "rgb{255,0,255}" } - color = bg_table[bg+1] - else - local default_color = get_config_string("NewSprite", "BackgroundCustom", - "rgb{0,0,0}") - - color = ji_color_select(imgtype, default_color) - if color then - set_config_string("NewSprite", "BackgroundCustom", color) - end - end - - if color then - -- save the configuration - set_config_int("NewSprite", "Type", imgtype) - set_config_int("NewSprite", "Width", w) - set_config_int("NewSprite", "Height", h) - set_config_int("NewSprite", "Background", bg) - - -- create the new sprite - local sprite = NewSprite(imgtype, w, h) - - _sprite_counter = _sprite_counter + 1 - sprite_set_filename(sprite, "Sprite-" .. _sprite_counter) - - image_clear(GetImage(), get_color_for_image(imgtype, color)) - - sprite_show(sprite) - end - end - - jwidget_free(window) -end diff --git a/data/scripts/openspr.lua b/data/scripts/openspr.lua deleted file mode 100644 index e2c96d930..000000000 --- a/data/scripts/openspr.lua +++ /dev/null @@ -1,22 +0,0 @@ --- ase -- allegro-sprite-editor: the ultimate sprites factory --- Copyright (C) 2001-2005 by David A. Capello - -function sprite_recent_load(filename) - local sprite = sprite_load(filename) - if sprite then - recent_file(filename) - sprite_mount(sprite) - sprite_show(sprite) - else - unrecent_file(filename) - end - return sprite -end - -function GUI_OpenSprite() - local filename = ji_file_select(_("Open Sprite"), "", - get_readable_extensions()) - if filename then - sprite_recent_load(filename) - end -end diff --git a/data/scripts/sprite.lua b/data/scripts/sprite.lua deleted file mode 100644 index 5a2070978..000000000 --- a/data/scripts/sprite.lua +++ /dev/null @@ -1,11 +0,0 @@ --- ase -- allegro-sprite-editor: the ultimate sprites factory --- Copyright (C) 2001-2005 by David A. Capello - --- closes the current sprite -function CloseSprite() - local sprite = current_sprite - if sprite then - sprite_unmount(sprite) - sprite_free(sprite) - end -end diff --git a/jinete/include/jinete/manager.h b/jinete/include/jinete/manager.h index f49f7bddd..b99c3561a 100644 --- a/jinete/include/jinete/manager.h +++ b/jinete/include/jinete/manager.h @@ -48,7 +48,6 @@ bool jmanager_poll(JWidget manager, bool all_windows); void jmanager_send_message(const JMessage msg); void jmanager_dispatch_messages(void); -void jmanager_dispatch_draw_messages(void); JWidget jmanager_get_focus(void); JWidget jmanager_get_mouse(void); diff --git a/jinete/include/jinete/system.h b/jinete/include/jinete/system.h index 3647e1c95..1d713aa03 100644 --- a/jinete/include/jinete/system.h +++ b/jinete/include/jinete/system.h @@ -88,23 +88,29 @@ enum { JI_CURSORS }; -int ji_mouse_get_cursor(void); -int ji_mouse_set_cursor(int type); -void ji_mouse_draw_cursor(); +int jmouse_get_cursor(void); +int jmouse_set_cursor(int type); +void jmouse_draw_cursor(); -bool ji_mouse_poll(void); -void ji_mouse_set_position(int x, int y); +void jmouse_hide(); +void jmouse_show(); -int ji_mouse_b(int antique); -int ji_mouse_x(int antique); -int ji_mouse_y(int antique); -int ji_mouse_z(int antique); +bool jmouse_is_hidden(); +bool jmouse_is_shown(); -bool ji_mouse_control_infinite_scroll(JRect rect); +bool jmouse_poll(void); +void jmouse_set_position(int x, int y); -int ji_mouse_get_click_button(void); -int ji_mouse_get_click_level(void); -void ji_mouse_set_click_level(int level); +int jmouse_b(int antique); +int jmouse_x(int antique); +int jmouse_y(int antique); +int jmouse_z(int antique); + +bool jmouse_control_infinite_scroll(JRect rect); + +int jmouse_get_click_button(void); +int jmouse_get_click_level(void); +void jmouse_set_click_level(int level); JI_END_DECLS diff --git a/jinete/src/jcombox.c b/jinete/src/jcombox.c index c32161255..d8b3cff34 100644 --- a/jinete/src/jcombox.c +++ b/jinete/src/jcombox.c @@ -60,8 +60,8 @@ static JRect combobox_get_windowpos(ComboBox *combobox); JWidget jcombobox_new (void) { - JWidget widget = jbox_new (JI_HORIZONTAL); - ComboBox *combobox = jnew (ComboBox, 1); + JWidget widget = jbox_new(JI_HORIZONTAL); + ComboBox *combobox = jnew(ComboBox, 1); combobox->entry = jentry_new (256, ""); combobox->button = jbutton_new ("^"); @@ -75,21 +75,21 @@ JWidget jcombobox_new (void) combobox->entry->user_data[0] = widget; combobox->button->user_data[0] = widget; - /* XXXX */ - /* widget->child_spacing = 0; */ + /* TODO this separation should be from the JTheme */ + widget->child_spacing = 0; - jwidget_focusrest (widget, TRUE); - jwidget_add_hook (widget, JI_COMBOBOX, combobox_msg_proc, combobox); - jwidget_add_hook (combobox->entry, JI_WIDGET, combobox_entry_msg_proc, NULL); + jwidget_focusrest(widget, TRUE); + jwidget_add_hook(widget, JI_COMBOBOX, combobox_msg_proc, combobox); + jwidget_add_hook(combobox->entry, JI_WIDGET, combobox_entry_msg_proc, NULL); - jwidget_expansive (combobox->entry, TRUE); - jbutton_set_bevel (combobox->button, 0, 2, 0, 2); - jbutton_add_command_data (combobox->button, combobox_button_cmd, widget); + jwidget_expansive(combobox->entry, TRUE); + jbutton_set_bevel(combobox->button, 0, 2, 0, 2); + jbutton_add_command_data(combobox->button, combobox_button_cmd, widget); - jwidget_add_child (widget, combobox->entry); - jwidget_add_child (widget, combobox->button); + jwidget_add_child(widget, combobox->entry); + jwidget_add_child(widget, combobox->button); - jcombobox_editable (widget, combobox->editable); + jcombobox_editable(widget, combobox->editable); return widget; } @@ -161,14 +161,14 @@ void jcombobox_del_string(JWidget widget, const char *string) jcombobox_del_index (widget, jcombobox_get_index (widget, string)); } -void jcombobox_del_index (JWidget widget, int index) +void jcombobox_del_index(JWidget widget, int index) { ComboBox *combobox = jwidget_get_data(widget, JI_COMBOBOX); - jlist_remove (combobox->items, jlist_nth_data (combobox->items, index)); + jlist_remove(combobox->items, jlist_nth_data (combobox->items, index)); } -void jcombobox_select_index (JWidget widget, int index) +void jcombobox_select_index(JWidget widget, int index) { ComboBox *combobox = jwidget_get_data (widget, JI_COMBOBOX); JLink link = jlist_nth_link (combobox->items, index); @@ -273,7 +273,7 @@ static bool combobox_msg_proc(JWidget widget, JMessage msg) return FALSE; } -static bool combobox_entry_msg_proc (JWidget widget, JMessage msg) +static bool combobox_entry_msg_proc(JWidget widget, JMessage msg) { switch (msg->type) { @@ -312,7 +312,7 @@ static bool combobox_entry_msg_proc (JWidget widget, JMessage msg) return FALSE; } -static bool combobox_listbox_msg_proc (JWidget widget, JMessage msg) +static bool combobox_listbox_msg_proc(JWidget widget, JMessage msg) { switch (msg->type) { @@ -354,12 +354,12 @@ static bool combobox_listbox_msg_proc (JWidget widget, JMessage msg) return FALSE; } -static void combobox_button_cmd (JWidget widget, void *data) +static void combobox_button_cmd(JWidget widget, void *data) { combobox_switch_window ((JWidget)data); } -static void combobox_open_window (JWidget widget) +static void combobox_open_window(JWidget widget) { ComboBox *combobox = jwidget_get_data (widget, JI_COMBOBOX); if (!combobox->window) { @@ -405,35 +405,35 @@ static void combobox_open_window (JWidget widget) } } -static void combobox_close_window (JWidget widget) +static void combobox_close_window(JWidget widget) { - ComboBox *combobox = jwidget_get_data (widget, JI_COMBOBOX); + ComboBox *combobox = jwidget_get_data(widget, JI_COMBOBOX); if (combobox->window) { jwindow_close (combobox->window, widget); combobox->window = NULL; - jmanager_set_focus (combobox->entry); + jmanager_set_focus(combobox->entry); } } -static void combobox_switch_window (JWidget widget) +static void combobox_switch_window(JWidget widget) { - ComboBox *combobox = jwidget_get_data (widget, JI_COMBOBOX); + ComboBox *combobox = jwidget_get_data(widget, JI_COMBOBOX); if (!combobox->window) - combobox_open_window (widget); + combobox_open_window(widget); else - combobox_close_window (widget); + combobox_close_window(widget); } static JRect combobox_get_windowpos(ComboBox *combobox) { JRect rc = jrect_new(combobox->entry->rc->x1, - combobox->entry->rc->y2, - combobox->entry->rc->x2, - combobox->entry->rc->y2+ - jrect_h(combobox->window->rc)); + combobox->entry->rc->y2, + combobox->entry->rc->x2, + combobox->entry->rc->y2+ + jrect_h(combobox->window->rc)); if (rc->y2 > JI_SCREEN_H) - jrect_displace (rc, 0, -(jrect_h(rc)+jrect_h(combobox->entry->rc))); + jrect_displace(rc, 0, -(jrect_h(rc)+jrect_h(combobox->entry->rc))); return rc; } diff --git a/jinete/src/jlistbox.c b/jinete/src/jlistbox.c index e2f75853f..91131fafe 100644 --- a/jinete/src/jlistbox.c +++ b/jinete/src/jlistbox.c @@ -239,10 +239,10 @@ static bool listbox_msg_proc(JWidget widget, JMessage msg) jview_get_scroll(view, &scroll_x, &scroll_y); jview_set_scroll(view, - scroll_x, - scroll_y + - (ji_mouse_z (1) - ji_mouse_z (0)) - *jwidget_get_text_height(widget)*3); + scroll_x, + scroll_y + + (jmouse_z(1) - jmouse_z(0)) + *jwidget_get_text_height(widget)*3); } break; } diff --git a/jinete/src/jmanager.c b/jinete/src/jmanager.c index 45145203c..c577e116b 100644 --- a/jinete/src/jmanager.c +++ b/jinete/src/jmanager.c @@ -76,7 +76,7 @@ static void manager_request_size(JWidget widget, int *w, int *h); static void manager_set_position(JWidget widget, JRect rect); static void manager_redraw_region(JWidget widget, JRegion region); -static void dispatch_msgs(bool force_draw); +static void dispatch_msgs(void); static void destroy_window(JWidget window); static void remove_msgs_for(JWidget widget, JMessage msg); static void generate_proc_windows_list(void); @@ -163,7 +163,7 @@ void jmanager_free(JWidget widget) /* finish with main manager */ if (default_manager == widget) { /* no more cursor */ - ji_mouse_set_cursor(JI_CURSOR_NULL); + jmouse_set_cursor(JI_CURSOR_NULL); /* XXX destroy the AUTODESTROY windows in these lists */ jlist_free(new_windows); @@ -219,7 +219,7 @@ bool jmanager_poll(JWidget manager, bool all_windows) first_time_poll = FALSE; jmanager_refresh_screen(); - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); } /* first check */ @@ -256,14 +256,14 @@ bool jmanager_poll(JWidget manager, bool all_windows) generate_proc_windows_list(); /* update mouse status */ - mousemove = ji_mouse_poll(); + mousemove = jmouse_poll(); /* get the widget under the mouse */ widget = NULL; JI_LIST_FOR_EACH(proc_windows_list, link) { window = link->data; - widget = jwidget_pick(window, ji_mouse_x(0), ji_mouse_y(0)); + widget = jwidget_pick(window, jmouse_x(0), jmouse_y(0)); if (widget) break; } @@ -282,7 +282,7 @@ bool jmanager_poll(JWidget manager, bool all_windows) /* XXX rigid marshal */ /* reset double click status */ - ji_mouse_set_click_level(JI_CLICK_NOT); + jmouse_set_click_level(JI_CLICK_NOT); /* send the mouse movement message */ if (capture_widget) @@ -295,7 +295,7 @@ bool jmanager_poll(JWidget manager, bool all_windows) } /* mouse wheel */ - if (ji_mouse_z (0) != ji_mouse_z (1)) { + if (jmouse_z(0) != jmouse_z(1)) { msg = new_mouse_msg(JM_WHEEL); /* XXX rigid marshal */ @@ -310,16 +310,16 @@ bool jmanager_poll(JWidget manager, bool all_windows) } /* mouse clicks */ - if ((ji_mouse_b (0) != ji_mouse_b (1)) && - ((!ji_mouse_b (0)) || (!ji_mouse_b (1)))) { + if ((jmouse_b(0) != jmouse_b(1)) && + ((!jmouse_b(0)) || (!jmouse_b(1)))) { /* press and release button messages */ - msg = new_mouse_msg((!ji_mouse_b (1))? JM_BUTTONPRESSED: - JM_BUTTONRELEASED); + msg = new_mouse_msg((!jmouse_b(1))? JM_BUTTONPRESSED: + JM_BUTTONRELEASED); /* XXX rigid marshal */ if (msg->type == JM_BUTTONPRESSED) - if (ji_mouse_get_click_level () == JI_CLICK_NOT) - ji_mouse_set_click_level (JI_CLICK_START); + if (jmouse_get_click_level() == JI_CLICK_NOT) + jmouse_set_click_level(JI_CLICK_START); if (capture_widget) jmessage_broadcast_to_parents (msg, capture_widget); @@ -360,7 +360,7 @@ bool jmanager_poll(JWidget manager, bool all_windows) jmessage_broadcast_to_parents(msg, mouse_widget); } else { - ji_mouse_set_click_level(JI_CLICK_NOT); + jmouse_set_click_level(JI_CLICK_NOT); /* maybe someone want catch this lost click (menus use this to down to parents) */ @@ -377,11 +377,11 @@ bool jmanager_poll(JWidget manager, bool all_windows) } /* double clicks */ - if (ji_mouse_get_click_level () == JI_CLICK_AGAIN) { + if (jmouse_get_click_level() == JI_CLICK_AGAIN) { msg = new_mouse_msg(JM_DOUBLECLICK); /* XXX rigid marshal */ - ji_mouse_set_click_level(JI_CLICK_NOT); + jmouse_set_click_level(JI_CLICK_NOT); if (capture_widget) jmessage_broadcast_to_parents(msg, capture_widget); @@ -489,12 +489,7 @@ void jmanager_send_message(const JMessage msg) void jmanager_dispatch_messages(void) { - dispatch_msgs(FALSE); -} - -void jmanager_dispatch_draw_messages(void) -{ - dispatch_msgs(TRUE); + dispatch_msgs(); } JWidget jmanager_get_focus(void) @@ -724,14 +719,14 @@ void jmanager_free_capture(void) void jmanager_free_widget(JWidget widget) { /* break any relationship with the GUI manager */ - if (jwidget_has_capture (widget)) - jmanager_free_capture (); + if (jwidget_has_capture(widget)) + jmanager_free_capture(); - if (jwidget_has_mouse (widget)) - jmanager_free_mouse (); + if (jwidget_has_mouse(widget)) + jmanager_free_mouse(); - if (jwidget_has_focus (widget) || (widget == focus_widget)) - jmanager_free_focus (); + if (jwidget_has_focus(widget) || (widget == focus_widget)) + jmanager_free_focus(); } void jmanager_remove_message(JMessage msg) @@ -995,7 +990,7 @@ static void manager_redraw_region(JWidget widget, JRegion region) Internal routines **********************************************************************/ -static void dispatch_msgs (bool force_draw) +static void dispatch_msgs(void) { JMessage msg, first_msg; JLink link, link2, next; @@ -1009,25 +1004,6 @@ static void dispatch_msgs (bool force_draw) while (link != msg_queue->end) { msg = link->data; - /* if ji_screen isn't the screen (maybe the user want to double - buffered or something) */ - if (ji_screen != screen) { - /* the force_draw is false, we must skip all "Draw" messages */ - if (!force_draw) { - if (msg->type == JM_DRAW) { - link = link->next; - continue; - } - } - /* the force_draw is TRUE, we must process only the "Draw" messages */ - else { - if (msg->type != JM_DRAW) { - link = link->next; - continue; - } - } - } - #ifdef LIMIT_DISPATCH_TIME if (ji_clock-t > JI_TICKS_PER_SEC/4) break; @@ -1080,7 +1056,7 @@ static void dispatch_msgs (bool force_draw) msg->type <= JM_WHEEL) ? msg_name[msg->type]: "Unknown"; - printf ("Event: %s (%d)\n", string, widget->id); + printf("Event: %s (%d)\n", string, widget->id); } #endif @@ -1090,7 +1066,7 @@ static void dispatch_msgs (bool force_draw) if (widget->flags & JI_HIDDEN) continue; - scare_mouse(); + jmouse_hide(); acquire_bitmap(ji_screen); /* set clip */ @@ -1114,7 +1090,7 @@ static void dispatch_msgs (bool force_draw) set_clip(ji_screen, 0, 0, JI_SCREEN_W-1, JI_SCREEN_H-1); release_bitmap(ji_screen); - unscare_mouse(); + jmouse_show(); } if (done) /* XXX use marshal? */ @@ -1219,12 +1195,12 @@ static JMessage new_mouse_msg(int type) { JMessage msg = jmessage_new(type); - msg->mouse.x = ji_mouse_x(0); - msg->mouse.y = ji_mouse_y(0); + msg->mouse.x = jmouse_x(0); + msg->mouse.y = jmouse_y(0); msg->mouse.flags = - type == JM_DOUBLECLICK ? ji_mouse_get_click_button(): - type == JM_BUTTONRELEASED ? ji_mouse_b(1): - ji_mouse_b(0); + type == JM_DOUBLECLICK ? jmouse_get_click_button(): + type == JM_BUTTONRELEASED ? jmouse_b(1): + jmouse_b(0); msg->mouse.left = msg->mouse.flags & 1 ? TRUE: FALSE; msg->mouse.right = msg->mouse.flags & 2 ? TRUE: FALSE; msg->mouse.middle = msg->mouse.flags & 4 ? TRUE: FALSE; diff --git a/jinete/src/jmenu.c b/jinete/src/jmenu.c index a9cc5f1ef..cb78d5477 100644 --- a/jinete/src/jmenu.c +++ b/jinete/src/jmenu.c @@ -41,13 +41,13 @@ #define DO_GOTODEST 2 #define MOUSE_IN(pos) \ - ((ji_mouse_x(0) >= pos->x1) && (ji_mouse_x(0) < pos->x2) && \ - (ji_mouse_y(0) >= pos->y1) && (ji_mouse_y(0) < pos->y2)) + ((jmouse_x(0) >= pos->x1) && (jmouse_x(0) < pos->x2) && \ + (jmouse_y(0) >= pos->y1) && (jmouse_y(0) < pos->y2)) -#define MBOX(widget) \ +#define MBOX(widget) \ ((MenuBox *)jwidget_get_data(((JWidget)widget), JI_MENUBOX)) -#define MITEM(widget) \ +#define MITEM(widget) \ ((MenuItem *)jwidget_get_data(((JWidget)widget), JI_MENUITEM)) /* JWidget *menuitem */ @@ -56,7 +56,7 @@ (!jlist_empty(MITEM(menuitem)->submenu->children))) /* MenuBox *menubox_data */ -#define HAS_MENU(menubox_data) \ +#define HAS_MENU(menubox_data) \ ((menubox_data->menu) && (!jlist_empty(menubox_data->menu->children))) typedef struct MenuBox @@ -227,8 +227,8 @@ void jmenu_popup(JWidget menu, int x, int y) JWidget window, menubox; do { - ji_mouse_poll(); - } while (ji_mouse_b(0)); + jmouse_poll(); + } while (jmouse_b(0)); was_clicked = TRUE; current_level = 1; @@ -715,7 +715,7 @@ static bool menubox_msg_proc(JWidget widget, JMessage msg) /* mouse outside the box? */ if (!MOUSE_IN (widget->rc)) { /* control button press outside the menubox */ - if (ji_mouse_b (0) || was_clicked) { + if (jmouse_b(0) || was_clicked) { JWidget picked_menubox = widget; JWidget open_menubox = NULL; JWidget picked = pick_menuitem (&picked_menubox, &open_menubox); @@ -750,7 +750,7 @@ static bool menubox_msg_proc(JWidget widget, JMessage msg) } /* control button-released outside menubox */ - if ((!ji_mouse_b (0)) && (ji_mouse_b (1))) { + if ((!jmouse_b(0)) && (jmouse_b(1))) { JWidget picked = jwidget_pick (menubox->parent_menuitem ? @@ -1123,7 +1123,7 @@ static JWidget pick_menuitem(JWidget *_menubox, JWidget *open_menubox) if (MOUSE_IN(menubox->rc)) { *_menubox = menubox; picked = jwidget_pick(MBOX(menubox)->menu, - ji_mouse_x(0), ji_mouse_y(0)); + jmouse_x(0), jmouse_y(0)); if (picked->type != JI_MENUITEM) picked = NULL; break; diff --git a/jinete/src/jpanel.c b/jinete/src/jpanel.c index 8e8670c54..0e1eff8a1 100644 --- a/jinete/src/jpanel.c +++ b/jinete/src/jpanel.c @@ -144,15 +144,15 @@ static bool panel_msg_proc(JWidget widget, JMessage msg) Panel *panel = jwidget_get_data(widget, JI_PANEL); if (widget->align & JI_HORIZONTAL) { - if (ji_mouse_get_cursor() != JI_CURSOR_SIZE_L) - ji_mouse_set_cursor(JI_CURSOR_SIZE_L); + if (jmouse_get_cursor() != JI_CURSOR_SIZE_L) + jmouse_set_cursor(JI_CURSOR_SIZE_L); panel->pos = 100.0 * (msg->mouse.x-widget->rc->x1) / jrect_w(widget->rc); } else { - if (ji_mouse_get_cursor() != JI_CURSOR_SIZE_T) - ji_mouse_set_cursor(JI_CURSOR_SIZE_T); + if (jmouse_get_cursor() != JI_CURSOR_SIZE_T) + jmouse_set_cursor(JI_CURSOR_SIZE_T); panel->pos = 100.0 * (msg->mouse.y-widget->rc->y1) / jrect_h(widget->rc); @@ -199,18 +199,18 @@ static bool panel_msg_proc(JWidget widget, JMessage msg) if (change_cursor) { if (widget->align & JI_HORIZONTAL) { - if (ji_mouse_get_cursor() != JI_CURSOR_SIZE_L) - ji_mouse_set_cursor(JI_CURSOR_SIZE_L); + if (jmouse_get_cursor() != JI_CURSOR_SIZE_L) + jmouse_set_cursor(JI_CURSOR_SIZE_L); } else { - if (ji_mouse_get_cursor() != JI_CURSOR_SIZE_T) - ji_mouse_set_cursor(JI_CURSOR_SIZE_T); + if (jmouse_get_cursor() != JI_CURSOR_SIZE_T) + jmouse_set_cursor(JI_CURSOR_SIZE_T); } return TRUE; } else { - if (ji_mouse_get_cursor() != JI_CURSOR_NORMAL) - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + if (jmouse_get_cursor() != JI_CURSOR_NORMAL) + jmouse_set_cursor(JI_CURSOR_NORMAL); } } break; @@ -218,7 +218,7 @@ static bool panel_msg_proc(JWidget widget, JMessage msg) case JM_BUTTONRELEASED: if (jwidget_has_capture(widget)) { jwidget_release_mouse(widget); - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); return TRUE; } break; diff --git a/jinete/src/jslider.c b/jinete/src/jslider.c index 183195aca..c501d5c9d 100644 --- a/jinete/src/jslider.c +++ b/jinete/src/jslider.c @@ -137,9 +137,9 @@ static bool slider_msg_proc (JWidget widget, JMessage msg) slider_press_left = msg->mouse.left; if (slider_press_left) - ji_mouse_set_cursor (JI_CURSOR_HAND); + jmouse_set_cursor(JI_CURSOR_HAND); else - ji_mouse_set_cursor (JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); case JM_MOTION: if (jwidget_has_capture (widget)) { @@ -172,8 +172,8 @@ static bool slider_msg_proc (JWidget widget, JMessage msg) /* for right click */ if ((!slider_press_left) && - (ji_mouse_control_infinite_scroll (rect))) { - slider_press_x = ji_mouse_x (0); + (jmouse_control_infinite_scroll(rect))) { + slider_press_x = jmouse_x(0); slider_press_value = slider->value; } @@ -187,7 +187,7 @@ static bool slider_msg_proc (JWidget widget, JMessage msg) jwidget_deselect (widget); jwidget_release_mouse (widget); - ji_mouse_set_cursor (JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); } break; @@ -237,7 +237,7 @@ static bool slider_msg_proc (JWidget widget, JMessage msg) case JM_WHEEL: if (jwidget_is_enabled(widget)) { - int value = slider->value + ji_mouse_z(0) - ji_mouse_z(1); + int value = slider->value + jmouse_z(0) - jmouse_z(1); value = MID(slider->min, value, slider->max); diff --git a/jinete/src/jsystem.c b/jinete/src/jsystem.c index c8f66f8a2..1fd093f18 100644 --- a/jinete/src/jsystem.c +++ b/jinete/src/jsystem.c @@ -29,6 +29,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include #include #include "jinete/intern.h" @@ -65,6 +66,7 @@ static int m_y[2]; static int m_z[2]; static bool moved; +static int mouse_scares = 0; /* For double click management. */ @@ -162,7 +164,7 @@ int _ji_system_init(void) (install_int(check_click, 20) < 0)) return -1; - ji_mouse_poll(); + jmouse_poll(); moved = TRUE; m_cursor = JI_CURSOR_NULL; @@ -180,9 +182,9 @@ void _ji_system_exit(void) void ji_set_screen(BITMAP *bmp) { - int cursor = ji_mouse_get_cursor(); /* get mouse cursor */ + int cursor = jmouse_get_cursor(); /* get mouse cursor */ - ji_mouse_set_cursor(JI_CURSOR_NULL); + jmouse_set_cursor(JI_CURSOR_NULL); ji_screen = bmp; if (ji_screen) { @@ -196,7 +198,7 @@ void ji_set_screen(BITMAP *bmp) jrect_free(rect); } - ji_mouse_set_cursor(cursor); /* restore mouse cursor */ + jmouse_set_cursor(cursor); /* restore mouse cursor */ } } @@ -213,16 +215,15 @@ const char *ji_translate_string(const char *msgid) return msgid; } -int ji_mouse_get_cursor(void) +int jmouse_get_cursor(void) { return m_cursor; } -int ji_mouse_set_cursor(int type) +int jmouse_set_cursor(int type) { JTheme theme = ji_get_theme(); int old = m_cursor; - m_cursor = type; if (m_cursor == JI_CURSOR_NULL) { @@ -231,14 +232,16 @@ int ji_mouse_set_cursor(int type) } else { show_mouse(NULL); + if (theme->set_cursor) { BITMAP *sprite; int x = 0; int y = 0; - sprite = (*theme->set_cursor)(m_cursor, &x, &y); + sprite = (*theme->set_cursor)(type, &x, &y); set_cursor(sprite, x, y); } + if (ji_screen == screen) show_mouse(ji_screen); } @@ -250,9 +253,9 @@ int ji_mouse_set_cursor(int type) * Use this routine if your "ji_screen" isn't Allegro's "screen" so * you must to draw the cursor by your self using this routine. */ -void ji_mouse_draw_cursor() +void jmouse_draw_cursor() { - if (sprite_cursor != NULL) { + if (sprite_cursor != NULL && mouse_scares == 0) { int x = m_x[0]-focus_x; int y = m_y[0]-focus_y; JRect rect = jrect_new(x, y, @@ -260,15 +263,44 @@ void ji_mouse_draw_cursor() y+sprite_cursor->h); jwidget_invalidate_rect(ji_get_default_manager(), rect); + /* rectfill(ji_screen, rect->x1, rect->y1, rect->x2-1, rect->y2-1, makecol(0, 0, 255)); */ draw_sprite(ji_screen, sprite_cursor, x, y); jrect_free(rect); } } +void jmouse_hide() +{ + assert(mouse_scares >= 0); + if (ji_screen == screen) + scare_mouse(); + mouse_scares++; +} + +void jmouse_show() +{ + assert(mouse_scares > 0); + mouse_scares--; + if (ji_screen == screen) + unscare_mouse(); +} + +bool jmouse_is_hidden() +{ + assert(mouse_scares >= 0); + return mouse_scares > 0; +} + +bool jmouse_is_shown() +{ + assert(mouse_scares >= 0); + return mouse_scares == 0; +} + /* Returns TRUE if the mouse moved. */ -bool ji_mouse_poll(void) +bool jmouse_poll(void) { m_b[1] = m_b[0]; m_x[1] = m_x[0]; @@ -310,7 +342,7 @@ bool ji_mouse_poll(void) return FALSE; } -void ji_mouse_set_position(int x, int y) +void jmouse_set_position(int x, int y) { moved = TRUE; @@ -326,17 +358,17 @@ void ji_mouse_set_position(int x, int y) } } -int ji_mouse_x(int antique) { return m_x[antique & 1]; } -int ji_mouse_y(int antique) { return m_y[antique & 1]; } -int ji_mouse_z(int antique) { return m_z[antique & 1]; } -int ji_mouse_b(int antique) { return m_b[antique & 1]; } +int jmouse_x(int antique) { return m_x[antique & 1]; } +int jmouse_y(int antique) { return m_y[antique & 1]; } +int jmouse_z(int antique) { return m_z[antique & 1]; } +int jmouse_b(int antique) { return m_b[antique & 1]; } -bool ji_mouse_control_infinite_scroll(JRect rect) +bool jmouse_control_infinite_scroll(JRect rect) { int x, y, u, v; - u = ji_mouse_x(0); - v = ji_mouse_y(0); + u = jmouse_x(0); + v = jmouse_y(0); if (u <= rect->x1) x = rect->x2-2; @@ -353,24 +385,24 @@ bool ji_mouse_control_infinite_scroll(JRect rect) y = v; if ((x != u) || (y != v)) { - ji_mouse_set_position(x, y); + jmouse_set_position(x, y); return TRUE; } else return FALSE; } -int ji_mouse_get_click_button(void) +int jmouse_get_click_button(void) { return click_mouse_b; } -int ji_mouse_get_click_level(void) +int jmouse_get_click_level(void) { return click_level; } -void ji_mouse_set_click_level(int level) +void jmouse_set_click_level(int level) { click_level = level; if (level == JI_CLICK_START) { diff --git a/jinete/src/jtextbox.c b/jinete/src/jtextbox.c index c9734242b..9c322ce7a 100644 --- a/jinete/src/jtextbox.c +++ b/jinete/src/jtextbox.c @@ -136,7 +136,7 @@ static bool textbox_msg_proc(JWidget widget, JMessage msg) JWidget view = jwidget_get_view(widget); if (view) { jwidget_hard_capture_mouse(widget); - ji_mouse_set_cursor(JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); return TRUE; } break; @@ -150,10 +150,10 @@ static bool textbox_msg_proc(JWidget widget, JMessage msg) jview_get_scroll(view, &scroll_x, &scroll_y); jview_set_scroll(view, - scroll_x + ji_mouse_x(1) - ji_mouse_x(0), - scroll_y + ji_mouse_y(1) - ji_mouse_y(0)); + scroll_x + jmouse_x(1) - jmouse_x(0), + scroll_y + jmouse_y(1) - jmouse_y(0)); - ji_mouse_control_infinite_scroll(vp); + jmouse_control_infinite_scroll(vp); jrect_free(vp); } break; @@ -163,7 +163,7 @@ static bool textbox_msg_proc(JWidget widget, JMessage msg) JWidget view = jwidget_get_view(widget); if (view && jwidget_has_capture(widget)) { jwidget_release_mouse(widget); - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); return TRUE; } break; @@ -178,7 +178,7 @@ static bool textbox_msg_proc(JWidget widget, JMessage msg) jview_set_scroll(view, scroll_x, scroll_y + - (ji_mouse_z(1) - ji_mouse_z(0)) + (jmouse_z(1) - jmouse_z(0)) *jwidget_get_text_height(widget)*3); } break; diff --git a/jinete/src/jtheme.c b/jinete/src/jtheme.c index 2f949ddaf..63a7a418a 100644 --- a/jinete/src/jtheme.c +++ b/jinete/src/jtheme.c @@ -163,14 +163,18 @@ void ji_regen_theme(void) { if (ji_current_theme) { /* hide the cursor */ - show_mouse(NULL); - set_mouse_sprite(NULL); +/* if () { */ +/* show_mouse(NULL); */ +/* set_mouse_sprite(NULL); */ +/* } */ + int type = jmouse_get_cursor(); + jmouse_set_cursor(JI_CURSOR_NULL); if (ji_current_theme->regen) (*ji_current_theme->regen)(); /* ok, reset the mouse cursor */ - ji_mouse_set_cursor(ji_mouse_get_cursor()); + jmouse_set_cursor(type); } } diff --git a/jinete/src/jwidget.c b/jinete/src/jwidget.c index e026f6498..f053e1298 100644 --- a/jinete/src/jwidget.c +++ b/jinete/src/jwidget.c @@ -1102,9 +1102,9 @@ void jwidget_scroll(JWidget widget, int dx, int dy, const JRect rect, jregion_translate(reg1, -dx, -dy); jregion_intersect(reg2, reg2, reg1); - scare_mouse(); + jmouse_hide(); ji_blit_region(reg2, dx, dy); - unscare_mouse(); + jmouse_show(); if (!update_region) { jregion_union(widget->update_region, widget->update_region, reg1); diff --git a/jinete/src/jwindow.c b/jinete/src/jwindow.c index d6717dbee..08bab7ba7 100644 --- a/jinete/src/jwindow.c +++ b/jinete/src/jwindow.c @@ -341,7 +341,7 @@ static bool window_msg_proc (JWidget widget, JMessage msg) case JM_BUTTONRELEASED: if (jwidget_has_capture (widget)) { jwidget_release_mouse (widget); - ji_mouse_set_cursor (JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); window_action = WINDOW_NONE; return TRUE; @@ -600,8 +600,8 @@ static int setup_cursor (JWidget widget, int x, int y) cursor = JI_CURSOR_SIZE_B; } - if (ji_mouse_get_cursor () != cursor) - ji_mouse_set_cursor (cursor); + if (jmouse_get_cursor() != cursor) + jmouse_set_cursor(cursor); jrect_free (pos); jrect_free (cpos); @@ -699,7 +699,7 @@ static void move_window(JWidget widget, JRect rect, bool use_blit) /* jregion_union(manager_refresh_region, manager_refresh_region, reg1); */ /* move the window's graphics */ - scare_mouse (); + jmouse_hide(); set_clip(ji_screen, man_pos->x1, man_pos->y1, man_pos->x2-1, man_pos->y2-1); /* blit (ji_screen, ji_screen, */ @@ -713,7 +713,7 @@ static void move_window(JWidget widget, JRect rect, bool use_blit) widget->rc->x1 - old_pos->x1, widget->rc->y1 - old_pos->y1); set_clip(ji_screen, 0, 0, JI_SCREEN_W-1, JI_SCREEN_H-1); - unscare_mouse(); + jmouse_show(); jregion_free(reg1); jregion_free(reg2); diff --git a/jinete/src/themes/jstand.c b/jinete/src/themes/jstand.c index 5cb128fb5..22edeefb2 100644 --- a/jinete/src/themes/jstand.c +++ b/jinete/src/themes/jstand.c @@ -309,22 +309,22 @@ static void theme_init_widget(JWidget widget) case JI_MENU: case JI_MENUBAR: case JI_MENUBOX: - BORDER (0); + BORDER(0); widget->child_spacing = 0; break; case JI_MENUITEM: - BORDER (2); + BORDER(2); widget->child_spacing = 18; break; case JI_PANEL: - BORDER (0); + BORDER(0); widget->child_spacing = 3; break; case JI_RADIO: - BORDER (2); + BORDER(2); /* widget->child_spacing = 2; */ widget->child_spacing = 4; break; @@ -353,17 +353,17 @@ static void theme_init_widget(JWidget widget) break; case JI_SLIDER: - BORDER (4); + BORDER(4); widget->child_spacing = jwidget_get_text_height (widget); break; case JI_TEXTBOX: - BORDER (2); + BORDER(2); widget->child_spacing = 0; break; case JI_VIEW: - BORDER (2); + BORDER(2); widget->child_spacing = 0; break; @@ -373,15 +373,14 @@ static void theme_init_widget(JWidget widget) break; case JI_VIEW_VIEWPORT: - BORDER (0); + BORDER(0); widget->child_spacing = 0; break; case JI_WINDOW: if (!jwindow_is_desktop (widget)) { if (widget->text) { -/* BORDER4(4, 4+jwidget_get_text_height(widget)+4, 4, 4); */ - BORDER4(6, 4+jwidget_get_text_height(widget)+4, 6, 6); + BORDER4(6, 4+jwidget_get_text_height(widget)+6, 6, 6); #if 1 /* add close button */ if (!(widget->flags & JI_INITIALIZED)) { JWidget button = jbutton_new("x"); @@ -395,13 +394,12 @@ static void theme_init_widget(JWidget widget) #endif } else if (!(widget->flags & JI_INITIALIZED)) { - BORDER (3); + BORDER(3); } } else { BORDER (0); } -/* widget->child_spacing = 2; */ widget->child_spacing = 4; break; @@ -1355,7 +1353,8 @@ static void theme_draw_window(JWidget widget) int bg = makecol(44, 76, 145); jrect_shrink(pos, 1); - pos->y2 = cpos->y1-1; +/* pos->y2 = cpos->y1-1; */ + pos->y2 = cpos->y1-3; jdraw_rectfill(pos, bg); jrect_stretch(pos, 1); diff --git a/makefile.mgw b/makefile.mgw index a6e988d19..ac096fe29 100644 --- a/makefile.mgw +++ b/makefile.mgw @@ -15,13 +15,12 @@ endif # Flags for MinGW CFLAGS = -# LFLAGS = -Wl,--subsystem,windows -LFLAGS = -mconsole -# LFLAGS = -mwindows -#LFLAGS_LAST = -lalleg -lmoldname-msvc -# LFLAGS_LAST = -lalleg -lkernel32 -luser32 -lgdi32 -lcomdlg32 -lwinspool -lwinmm -lshell32 -lshlwapi -lcomctl32 -lole32 -loleaut32 -luuid -lrpcrt4 -ladvapi32 -lwsock32 -lodbc32 -lcomctl32 -lsecur32 -lmsimg32 -# LFLAGS_LAST = -lalleg -LFLAGS_LAST = -lalld +LFLAGS = -mwindows +ifdef DEBUGMODE + LFLAGS_LAST = -lalld +else + LFLAGS_LAST = -lalleg +endif WITHICON = 1 ###################################################################### diff --git a/src/commands/cmd_about.c b/src/commands/cmd_about.c index 32ac23e86..cebef852a 100644 --- a/src/commands/cmd_about.c +++ b/src/commands/cmd_about.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2007 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/commands/cmd_advanced_mode.c b/src/commands/cmd_advanced_mode.c index 3996f028a..dd6e3bc6e 100644 --- a/src/commands/cmd_advanced_mode.c +++ b/src/commands/cmd_advanced_mode.c @@ -20,14 +20,14 @@ #ifndef USE_PRECOMPILED_HEADER -#include "jinete.h" - #include "core/app.h" -#include "modules/sprites.h" -#include "raster/sprite.h" #endif void command_execute_advanced_mode(const char *argument) { + app_switch(app_get_tool_bar()); + app_switch(app_get_menu_bar()); + app_switch(app_get_status_bar()); + app_switch(app_get_color_bar()); } diff --git a/src/commands/cmd_close_file.c b/src/commands/cmd_close_file.c index c8461ddbf..db059fc80 100644 --- a/src/commands/cmd_close_file.c +++ b/src/commands/cmd_close_file.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2007 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -20,14 +20,49 @@ #ifndef USE_PRECOMPILED_HEADER +#include #include "jinete.h" +#include "commands/commands.h" #include "core/app.h" #include "modules/sprites.h" #include "raster/sprite.h" #endif +bool command_enabled_close_file(const char *argument) +{ + return current_sprite != NULL; +} + void command_execute_close_file(const char *argument) { + Sprite *sprite = current_sprite; + + /* see if the sprite has changes */ + while (sprite_is_modified(sprite)) { + /* ask what want to do the user with the changes in the sprite */ + int ret = jalert("%s<<%s<<%s||%s", + _("Warning"), + _("Saving changes in:"), + get_filename(sprite->filename), + _("&Save||&Discard||&Cancel")); + + if (ret == 1) { + /* "save": save the changes */ + command_execute(command_get_by_name(CMD_SAVE_FILE), NULL); + } + else if (ret != 2) { + /* "cancel" or "ESC" */ + return; /* we back doing nothing */ + } + else { + /* "discard" */ + break; + } + } + + /* closes the sprite */ + sprite_unmount(sprite); + sprite_free(sprite); } diff --git a/src/commands/cmd_exit.c b/src/commands/cmd_exit.c index 50a3c2a85..bc6491571 100644 --- a/src/commands/cmd_exit.c +++ b/src/commands/cmd_exit.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2007 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by diff --git a/src/commands/cmd_open_file.c b/src/commands/cmd_open_file.c index e66d8d91e..c73cea9fa 100644 --- a/src/commands/cmd_open_file.c +++ b/src/commands/cmd_open_file.c @@ -20,14 +20,40 @@ #ifndef USE_PRECOMPILED_HEADER -#include "jinete.h" - -#include "core/app.h" -#include "modules/sprites.h" +#include "dialogs/filesel.h" +#include "file/file.h" #include "raster/sprite.h" +#include "modules/recent.h" +#include "modules/sprites.h" #endif void command_execute_open_file(const char *argument) { + char *filename; + + /* interactive */ + if (!argument) { + filename = GUI_FileSelect(_("Open Sprite"), "", + get_readable_extensions()); + } + /* load the file specified in the argument */ + else { + filename = (char *)argument; + } + + if (filename) { + Sprite *sprite = sprite_load(filename); + if (sprite) { + recent_file(filename); + sprite_mount(sprite); + sprite_show(sprite); + } + else { + unrecent_file(filename); + } + + if (filename != argument) + jfree(filename); + } } diff --git a/src/commands/cmd_preview_fit_to_screen.c b/src/commands/cmd_preview_fit_to_screen.c index f63e39812..2eaa3e466 100644 --- a/src/commands/cmd_preview_fit_to_screen.c +++ b/src/commands/cmd_preview_fit_to_screen.c @@ -20,14 +20,17 @@ #ifndef USE_PRECOMPILED_HEADER -#include "jinete.h" - -#include "core/app.h" +#include "dialogs/viewspr.h" #include "modules/sprites.h" -#include "raster/sprite.h" #endif +bool command_enabled_preview_fit_to_screen(const char *argument) +{ + return current_sprite != NULL; +} + void command_execute_preview_fit_to_screen(const char *argument) { + preview_sprite(PREVIEW_FIT_ON_SCREEN); } diff --git a/src/commands/cmd_preview_normal.c b/src/commands/cmd_preview_normal.c index 15dd992d9..9a4ab990c 100644 --- a/src/commands/cmd_preview_normal.c +++ b/src/commands/cmd_preview_normal.c @@ -20,14 +20,17 @@ #ifndef USE_PRECOMPILED_HEADER -#include "jinete.h" - -#include "core/app.h" +#include "dialogs/viewspr.h" #include "modules/sprites.h" -#include "raster/sprite.h" #endif +bool command_enabled_preview_normal(const char *argument) +{ + return current_sprite != NULL; +} + void command_execute_preview_normal(const char *argument) { + preview_sprite(0); } diff --git a/src/commands/cmd_preview_tiled.c b/src/commands/cmd_preview_tiled.c index a36451e5b..ae5745603 100644 --- a/src/commands/cmd_preview_tiled.c +++ b/src/commands/cmd_preview_tiled.c @@ -20,14 +20,17 @@ #ifndef USE_PRECOMPILED_HEADER -#include "jinete.h" - -#include "core/app.h" +#include "dialogs/viewspr.h" #include "modules/sprites.h" -#include "raster/sprite.h" #endif +bool command_enabled_preview_tiled(const char *argument) +{ + return current_sprite != NULL; +} + void command_execute_preview_tiled(const char *argument) { + preview_sprite(PREVIEW_TILED); } diff --git a/src/commands/cmd_tips.c b/src/commands/cmd_tips.c index 52088e2d8..06f0066c0 100644 --- a/src/commands/cmd_tips.c +++ b/src/commands/cmd_tips.c @@ -20,14 +20,13 @@ #ifndef USE_PRECOMPILED_HEADER -#include "jinete.h" +#include "jinete/base.h" -#include "core/app.h" -#include "modules/sprites.h" -#include "raster/sprite.h" +#include "dialogs/tips.h" #endif void command_execute_tips(const char *argument) { + dialogs_tips(TRUE); } diff --git a/src/commands/commands.c b/src/commands/commands.c index 8af8c9adf..a1108776f 100644 --- a/src/commands/commands.c +++ b/src/commands/commands.c @@ -27,20 +27,11 @@ #include "jinete.h" #include "commands/commands.h" -/* #include "core/app.h" */ -/* #include "core/core.h" */ -/* #include "core/dirs.h" */ -/* #include "intl/intl.h" */ -/* #include "modules/chkmthds.h" */ -/* #include "modules/rootmenu.h" */ -/* #include "util/hash.h" */ -/* #include "util/filetoks.h" */ -/* #include "widgets/menu.h" */ #endif #define CMD0(name) { #name, NULL, NULL, command_execute_##name, NULL } -/* #define CMD1(name) { #name, NULL, NULL, NULL, NULL } */ +#define CMD1(name) { #name, command_enabled_##name, NULL, command_execute_##name, NULL } /* #define CMD2(name) { #name, NULL, NULL, NULL, NULL } */ /* #define CMD3(name) { #name, NULL, NULL, NULL, NULL } */ /* #define CMD4(name) { #name, NULL, NULL, NULL, NULL } */ @@ -53,6 +44,7 @@ void command_execute_change_image_type(const char *argument); void command_execute_clear(const char *argument); void command_execute_close_all_files(const char *argument); void command_execute_close_editor(const char *argument); +bool command_enabled_close_file(const char *argument); void command_execute_close_file(const char *argument); void command_execute_color_curve(const char *argument); void command_execute_configure_screen(const char *argument); @@ -73,7 +65,6 @@ void command_execute_duplicate_layer(const char *argument); void command_execute_duplicate_sprite(const char *argument); void command_execute_ellipse_tool(const char *argument); void command_execute_exit(const char *argument); -void command_execute_exit(const char *argument); void command_execute_film_editor(const char *argument); void command_execute_flatten_layers(const char *argument); void command_execute_flip_horizontal(const char *argument); @@ -106,8 +97,11 @@ void command_execute_palette_editor(const char *argument); void command_execute_paste(const char *argument); void command_execute_pencil_tool(const char *argument); void command_execute_play_flic(const char *argument); +bool command_enabled_preview_fit_to_screen(const char *argument); void command_execute_preview_fit_to_screen(const char *argument); +bool command_enabled_preview_normal(const char *argument); void command_execute_preview_normal(const char *argument); +bool command_enabled_preview_tiled(const char *argument); void command_execute_preview_tiled(const char *argument); void command_execute_quick_copy(const char *argument); void command_execute_quick_move(const char *argument); @@ -135,10 +129,10 @@ void command_execute_undo(const char *argument); static Command commands[] = { CMD0(new_file), - { CMD_OPEN_FILE, NULL, NULL, NULL, NULL }, + CMD0(open_file), { CMD_SAVE_FILE, NULL, NULL, NULL, NULL }, { CMD_SAVE_FILE_AS, NULL, NULL, NULL, NULL }, - { CMD_CLOSE_FILE, NULL, NULL, NULL, NULL }, + CMD1(close_file), { CMD_CLOSE_ALL_FILES, NULL, NULL, NULL, NULL }, { CMD_SCREEN_SHOT, NULL, NULL, NULL, NULL }, { CMD_RECORD_SCREEN, NULL, NULL, NULL, NULL }, @@ -160,14 +154,14 @@ static Command commands[] = { { CMD_INVERT_COLOR, NULL, NULL, NULL, NULL }, { CMD_REFRESH, NULL, NULL, NULL, NULL }, { CMD_CONFIGURE_SCREEN, NULL, NULL, NULL, NULL }, - { CMD_ADVANCED_MODE, NULL, NULL, NULL, NULL }, + CMD0(advanced_mode), { CMD_MAKE_UNIQUE_EDITOR, NULL, NULL, NULL, NULL }, { CMD_SPLIT_EDITOR_VERTICALLY, NULL, NULL, NULL, NULL }, { CMD_SPLIT_EDITOR_HORIZONTALLY, NULL, NULL, NULL, NULL }, { CMD_CLOSE_EDITOR, NULL, NULL, NULL, NULL }, - { CMD_PREVIEW_TILED, NULL, NULL, NULL, NULL }, - { CMD_PREVIEW_NORMAL, NULL, NULL, NULL, NULL }, - { CMD_PREVIEW_FIT_TO_SCREEN, NULL, NULL, NULL, NULL }, + CMD1(preview_tiled), + CMD1(preview_normal), + CMD1(preview_fit_to_screen), { CMD_SPRITE_PROPERTIES, NULL, NULL, NULL, NULL }, { CMD_DUPLICATE_SPRITE, NULL, NULL, NULL, NULL }, { CMD_CHANGE_IMAGE_TYPE, NULL, NULL, NULL, NULL }, @@ -215,7 +209,7 @@ static Command commands[] = { { CMD_PLAY_FLIC, NULL, NULL, NULL, NULL }, { CMD_MAPGEN, NULL, NULL, NULL, NULL }, { CMD_RUN_SCRIPT, NULL, NULL, NULL, NULL }, - { CMD_TIPS, NULL, NULL, NULL, NULL }, + CMD0(tips), { CMD_CUSTOMIZE, NULL, NULL, NULL, NULL }, { CMD_OPTIONS, NULL, NULL, NULL, NULL }, { NULL, NULL, NULL, NULL, NULL } diff --git a/src/core/app.c b/src/core/app.c index 6d9cf5eeb..55f766135 100644 --- a/src/core/app.c +++ b/src/core/app.c @@ -173,7 +173,7 @@ void app_loop(void) PRINTF("GUI mode\n"); /* setup the GUI screen */ - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); jmanager_refresh_screen(); /* load main window */ @@ -569,37 +569,37 @@ static int check_args(int argc, char *argv[]) arg = argv[i]; for (n=0; arg[n] == '-'; n++); - len = strlen (arg+n); + len = strlen(arg+n); /* option */ if ((n > 0) && (len > 0)) { /* use in batch mode only */ - if (strncmp (arg+n, "batch", len) == 0) { + if (strncmp(arg+n, "batch", len) == 0) { ase_mode |= MODE_BATCH; } /* do script expression */ - else if (strncmp (arg+n, "exp", len) == 0) { + else if (strncmp(arg+n, "exp", len) == 0) { if (++i < argc) jlist_append(options, option_new(DO_SCRIPT_EXPR, argv[i])); else usage (1); } /* open script file */ - else if (strncmp (arg+n, "file", len) == 0) { + else if (strncmp(arg+n, "file", len) == 0) { if (++i < argc) jlist_append(options, option_new(DO_SCRIPT_FILE, argv[i])); else - usage (1); + usage(1); } /* use other palette file */ - else if (strncmp (arg+n, "palette", len) == 0) { + else if (strncmp(arg+n, "palette", len) == 0) { if (++i < argc) palette_filename = argv[i]; else - usage (1); + usage(1); } /* video resolution */ - else if (strncmp (arg+n, "resolution", len) == 0) { + else if (strncmp(arg+n, "resolution", len) == 0) { if (++i < argc) { int c, num1=0, num2=0, num3=0; char *tok; @@ -608,26 +608,26 @@ static int check_args(int argc, char *argv[]) resolución algo como esto: 320x240[x8] o [8] */ c = 0; - for (tok=ustrtok (argv[i], "x"); tok; - tok=ustrtok (NULL, "x")) { + for (tok=ustrtok(argv[i], "x"); tok; + tok=ustrtok(NULL, "x")) { switch (c) { - case 0: num1 = ustrtol (tok, NULL, 10); break; - case 1: num2 = ustrtol (tok, NULL, 10); break; - case 2: num3 = ustrtol (tok, NULL, 10); break; + case 0: num1 = ustrtol(tok, NULL, 10); break; + case 1: num2 = ustrtol(tok, NULL, 10); break; + case 2: num3 = ustrtol(tok, NULL, 10); break; } c++; } switch (c) { case 1: - set_config_int ("GfxMode", "Depth", num1); + set_config_int("GfxMode", "Depth", num1); break; case 2: case 3: - set_config_int ("GfxMode", "Width", num1); - set_config_int ("GfxMode", "Height", num2); + set_config_int("GfxMode", "Width", num1); + set_config_int("GfxMode", "Height", num2); if (c == 3) - set_config_int ("GfxMode", "Depth", num3); + set_config_int("GfxMode", "Depth", num3); break; } } diff --git a/src/core/shutdown.c b/src/core/shutdown.c index 7c479d47a..56964990a 100644 --- a/src/core/shutdown.c +++ b/src/core/shutdown.c @@ -28,6 +28,7 @@ #include "jinete/base.h" #include "jinete/list.h" +#include "jinete/system.h" #include "modules/sprites.h" #include "util/session.h" @@ -122,11 +123,11 @@ static void do_shutdown_exit(void) } if (screen) { - scare_mouse(); + jmouse_hide(); text_mode(makecol(0, 0, 0)); textprintf(screen, font, 0, 0, makecol(255, 255, 255), "Saving session in %s", get_filename(buf)); - unscare_mouse(); + jmouse_show(); } else printf("Saving session in %s", get_filename (buf)); diff --git a/src/dialogs/dmapgen.c b/src/dialogs/dmapgen.c index e400f8cd0..4f77c4806 100644 --- a/src/dialogs/dmapgen.c +++ b/src/dialogs/dmapgen.c @@ -264,26 +264,26 @@ static bool image_viewer_msg_proc (JWidget widget, JMessage msg) case JM_BUTTONPRESSED: { JWidget view = jwidget_get_view (widget); if (view) { - jwidget_hard_capture_mouse (widget); - ji_mouse_set_cursor (JI_CURSOR_MOVE); + jwidget_hard_capture_mouse(widget); + jmouse_set_cursor(JI_CURSOR_MOVE); return TRUE; } break; } case JM_MOTION: { - JWidget view = jwidget_get_view (widget); - if (view && jwidget_has_capture (widget)) { + JWidget view = jwidget_get_view(widget); + if (view && jwidget_has_capture(widget)) { JRect vp = jview_get_viewport_position (view); int scroll_x, scroll_y; - jview_get_scroll (view, &scroll_x, &scroll_y); - jview_set_scroll (view, - scroll_x + ji_mouse_x (1) - ji_mouse_x (0), - scroll_y + ji_mouse_y (1) - ji_mouse_y (0)); + jview_get_scroll(view, &scroll_x, &scroll_y); + jview_set_scroll(view, + scroll_x + jmouse_x(1) - jmouse_x(0), + scroll_y + jmouse_y(1) - jmouse_y(0)); - ji_mouse_control_infinite_scroll (vp); - jrect_free (vp); + jmouse_control_infinite_scroll(vp); + jrect_free(vp); } break; } @@ -292,7 +292,7 @@ static bool image_viewer_msg_proc (JWidget widget, JMessage msg) JWidget view = jwidget_get_view (widget); if (view && jwidget_has_capture (widget)) { jwidget_release_mouse (widget); - ji_mouse_set_cursor (JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); return TRUE; } break; diff --git a/src/dialogs/filmedit.c b/src/dialogs/filmedit.c index b0196673c..eb880cf4a 100644 --- a/src/dialogs/filmedit.c +++ b/src/dialogs/filmedit.c @@ -25,6 +25,7 @@ #include "jinete.h" #include "jinete/intern.h" +#include "commands/commands.h" #include "core/app.h" #include "core/cfg.h" #include "core/core.h" @@ -317,16 +318,18 @@ static bool layer_box_msg_proc (JWidget widget, JMessage msg) return TRUE; } - case JM_CHAR: + case JM_CHAR: { + Command *command = command_get_by_key(msg); + /* close film editor */ - if (check_for_accel (ACCEL_FOR_FILMEDITOR, msg) || - msg->key.scancode == KEY_ESC) { - jwidget_close_window (widget); + if ((command && (strcmp(command->name, CMD_FILM_EDITOR) == 0)) || + (msg->key.scancode == KEY_ESC)) { + jwidget_close_window(widget); return TRUE; } /* undo */ - if (check_for_accel (ACCEL_FOR_UNDO, msg)) { + if (command && strcmp(command->name, CMD_UNDO) == 0) { if (undo_can_undo (sprite->undo)) { undo_undo (sprite->undo); destroy_thumbnails (); @@ -336,7 +339,7 @@ static bool layer_box_msg_proc (JWidget widget, JMessage msg) } /* redo */ - if (check_for_accel (ACCEL_FOR_REDO, msg)) { + if (command && strcmp(command->name, CMD_REDO) == 0) { if (undo_can_redo (sprite->undo)) { undo_redo (sprite->undo); destroy_thumbnails (); @@ -354,19 +357,20 @@ static bool layer_box_msg_proc (JWidget widget, JMessage msg) /* GUI_Refresh (sprite); */ /* break; */ break; + } case JM_BUTTONPRESSED: jwidget_hard_capture_mouse (widget); if (msg->any.shifts & KB_SHIFT_FLAG) { state = STATE_SCROLLING; - ji_mouse_set_cursor (JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); } else { state = STATE_MOVING; - ji_mouse_set_cursor (JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); - select_layer_motion (widget, layer_box, layer_box->frame_box); + select_layer_motion(widget, layer_box, layer_box->frame_box); layer_box->layer = current_sprite->layer; /* layer_box->rect = rect; */ /* layer_box->rect_data = NULL; */ @@ -390,7 +394,7 @@ static bool layer_box_msg_proc (JWidget widget, JMessage msg) jwidget_release_mouse (widget); if ((state == STATE_SCROLLING) || (state == STATE_MOVING)) - ji_mouse_set_cursor (JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); if (state == STATE_MOVING) { /* layer popup menu */ @@ -620,7 +624,7 @@ static bool frame_box_msg_proc (JWidget widget, JMessage msg) if (msg->any.shifts & KB_SHIFT_FLAG) { state = STATE_SCROLLING; - ji_mouse_set_cursor (JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); } else { Frame *frame; @@ -643,7 +647,7 @@ static bool frame_box_msg_proc (JWidget widget, JMessage msg) current_sprite->frpos); if (frame) { state = STATE_MOVING; /* now we will moving a frame */ - ji_mouse_set_cursor (JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); frame_box->layer = current_sprite->layer; frame_box->frame = frame; @@ -651,7 +655,7 @@ static bool frame_box_msg_proc (JWidget widget, JMessage msg) get_frame_rect (widget, &frame_box->rect); - scare_mouse (); + jmouse_hide(); frame_box->rect_data = rectsave (ji_screen, frame_box->rect.x1, frame_box->rect.y1, @@ -660,7 +664,7 @@ static bool frame_box_msg_proc (JWidget widget, JMessage msg) frame_box->rect.x1, frame_box->rect.y1, frame_box->rect.x2-1, frame_box->rect.y2-1, makecol (0, 0, 0), makecol (255, 255, 255)); - unscare_mouse (); + jmouse_show(); } } @@ -671,29 +675,29 @@ static bool frame_box_msg_proc (JWidget widget, JMessage msg) control_scroll_motion (widget, frame_box->layer_box, frame_box); /* move */ else if (state == STATE_MOVING) { - scare_mouse (); + jmouse_hide(); - rectrestore (frame_box->rect_data); - rectdiscard (frame_box->rect_data); + rectrestore(frame_box->rect_data); + rectdiscard(frame_box->rect_data); - select_frpos_motion (widget); - select_layer_motion (widget, frame_box->layer_box, frame_box); + select_frpos_motion(widget); + select_layer_motion(widget, frame_box->layer_box, frame_box); - get_frame_rect (widget, &frame_box->rect); + get_frame_rect(widget, &frame_box->rect); - jwidget_flush_redraw (widget); + jwidget_flush_redraw(widget); frame_box->rect_data = rectsave (ji_screen, frame_box->rect.x1, frame_box->rect.y1, frame_box->rect.x2-1, frame_box->rect.y2-1); - rectdotted (ji_screen, - frame_box->rect.x1, frame_box->rect.y1, - frame_box->rect.x2-1, frame_box->rect.y2-1, - makecol (0, 0, 0), makecol (255, 255, 255)); + rectdotted(ji_screen, + frame_box->rect.x1, frame_box->rect.y1, + frame_box->rect.x2-1, frame_box->rect.y2-1, + makecol (0, 0, 0), makecol (255, 255, 255)); - unscare_mouse (); + jmouse_show(); } /* select */ else if (state == STATE_SELECTING) { @@ -709,14 +713,14 @@ static bool frame_box_msg_proc (JWidget widget, JMessage msg) jwidget_release_mouse (widget); if ((state == STATE_SCROLLING) || (state == STATE_MOVING)) - ji_mouse_set_cursor (JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); if ((state == STATE_SELECTING) || (state == STATE_MOVING)) { if (state == STATE_MOVING) { - scare_mouse (); - rectrestore (frame_box->rect_data); - rectdiscard (frame_box->rect_data); - unscare_mouse (); + jmouse_hide(); + rectrestore(frame_box->rect_data); + rectdiscard(frame_box->rect_data); + jmouse_show(); } set_frame_to_handle (frame_box->layer, frame_box->frame); @@ -864,9 +868,9 @@ static Layer *get_layer_in_pos(Layer *layer, int pos) static void select_frpos_motion(JWidget widget) { Sprite *sprite = current_sprite; - int frpos = (ji_mouse_x (0) - widget->rc->x1) / FRMSIZE; + int frpos = (jmouse_x(0) - widget->rc->x1) / FRMSIZE; - frpos = MID (0, frpos, sprite->frames-1); + frpos = MID(0, frpos, sprite->frames-1); /* the frame change */ if (sprite->frpos != frpos) { @@ -891,8 +895,7 @@ static void select_frpos_motion(JWidget widget) scroll_change = FALSE; if (scroll_change) - ji_mouse_set_position(widget->rc->x1+frpos*FRMSIZE+FRMSIZE/2, - ji_mouse_y (0)); + jmouse_set_position(widget->rc->x1+frpos*FRMSIZE+FRMSIZE/2, jmouse_y(0)); jwidget_dirty(widget); jrect_free(vp); @@ -910,7 +913,7 @@ static void select_layer_motion(JWidget widget, get_layer_pos(sprite->set, sprite->layer, ¤t_layer); /* get new selected pos */ - layer = (ji_mouse_y (0) - (widget->rc->y1 + LAYSIZE)) / LAYSIZE; + layer = (jmouse_y(0) - (widget->rc->y1 + LAYSIZE)) / LAYSIZE; layer = MID(0, layer, count_layers(sprite->set)-1); /* the layer change? */ @@ -940,8 +943,8 @@ static void select_layer_motion(JWidget widget, scroll_change = FALSE; if (scroll_change) - ji_mouse_set_position(ji_mouse_x (0), - widget->rc->y1+LAYSIZE+layer*LAYSIZE+LAYSIZE/2); + jmouse_set_position(jmouse_x(0), + widget->rc->y1+LAYSIZE+layer*LAYSIZE+LAYSIZE/2); jwidget_dirty(layer_box->widget); jwidget_dirty(frame_box->widget); @@ -966,22 +969,22 @@ static void control_scroll_motion (JWidget widget, /* horizontal scroll for layer_box */ if (widget == layer_box->widget) - scroll1_x += ji_mouse_x (1)-ji_mouse_x (0); + scroll1_x += jmouse_x(1)-jmouse_x(0); /* horizontal scroll for frame_box */ else - scroll2_x += ji_mouse_x (1)-ji_mouse_x (0); + scroll2_x += jmouse_x(1)-jmouse_x(0); jview_set_scroll(view1, scroll1_x, /* vertical scroll */ - scroll1_y+ji_mouse_y (1)-ji_mouse_y (0)); + scroll1_y+jmouse_y(1)-jmouse_y(0)); jview_set_scroll(view2, - scroll2_x, - /* vertical scroll */ - scroll2_y+ji_mouse_y (1)-ji_mouse_y (0)); + scroll2_x, + /* vertical scroll */ + scroll2_y+jmouse_y(1)-jmouse_y(0)); - ji_mouse_control_infinite_scroll(vp); + jmouse_control_infinite_scroll(vp); jrect_free(vp); } diff --git a/src/dialogs/minipal.c b/src/dialogs/minipal.c index 77c15fdd3..54e3e1b6c 100644 --- a/src/dialogs/minipal.c +++ b/src/dialogs/minipal.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2001-2005 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -62,18 +62,18 @@ void ji_minipal_new (JWidget color_bar, int x, int y) static int paledit_change_signal (JWidget widget, int user_data) { - if (ji_mouse_b (0)) { + if (jmouse_b(0)) { PaletteEditor *paledit = palette_editor_data (widget); JWidget color_bar = (JWidget)user_data; if (paledit->color[0] == paledit->color[1]) { char *color = color_index (paledit->color[1]); - color_bar_set_color (color_bar, - ji_mouse_b (0) == 1 ? 0: 1, - color, FALSE); + color_bar_set_color(color_bar, + jmouse_b(0) == 1 ? 0: 1, + color, FALSE); - jfree (color); + jfree(color); } else { bool array[256]; diff --git a/src/dialogs/playfli.c b/src/dialogs/playfli.c index 441d70466..73ed229f7 100644 --- a/src/dialogs/playfli.c +++ b/src/dialogs/playfli.c @@ -41,53 +41,53 @@ static void my_play_fli (const char *filename, bool loop, bool fullscreen, void play_fli_animation (const char *filename, bool loop, bool fullscreen) { - if (is_interactive ()) { + if (is_interactive()) { PALETTE backup; - jmanager_free_mouse (); + jmanager_free_mouse(); /* hide the mouse */ - scare_mouse (); + jmouse_hide(); /* get the current color palette */ - get_palette (backup); + get_palette(backup); /* clear the screen */ - clear (ji_screen); + clear(ji_screen); /* clear the keyboard buffer */ - clear_keybuf (); + clear_keybuf(); /* play the fli */ - my_play_fli (filename, loop, fullscreen, my_callback); + my_play_fli(filename, loop, fullscreen, my_callback); /* play_fli (filename, ji_screen, loop, my_callback); */ /* clear the screen */ - clear (ji_screen); + clear(ji_screen); /* restore the color palette */ - set_palette (backup); + set_palette(backup); /* show the mouse cursor */ - unscare_mouse (); + jmouse_show(); /* wait while the user has pushed some mouse button */ do { - ji_mouse_poll (); - } while (ji_mouse_b (0)); + jmouse_poll(); + } while (jmouse_b(0)); /* clear again the keyboard buffer */ - clear_keybuf (); + clear_keybuf(); - jmanager_refresh_screen (); + jmanager_refresh_screen(); } } static bool my_callback (void) { - ji_mouse_poll (); + jmouse_poll(); - return (keypressed () || ji_mouse_b (0)); + return (keypressed () || jmouse_b(0)); } /**********************************************************************/ @@ -129,7 +129,7 @@ static void my_play_fli (const char *filename, bool loop, bool fullscreen, old = create_bitmap_ex (8, fli_header.width, fli_header.height); /* stretch routine doesn't support bitmaps of different color depths */ - if (bitmap_color_depth (ji_screen) != 8) + if (bitmap_color_depth(ji_screen) != 8) fullscreen = FALSE; w = fli_header.width; diff --git a/src/dialogs/scrsaver.c b/src/dialogs/scrsaver.c index 4d07bdcb9..a64c8a893 100644 --- a/src/dialogs/scrsaver.c +++ b/src/dialogs/scrsaver.c @@ -43,7 +43,7 @@ void dialogs_screen_saver(void) return; /* hide the mouse */ - ji_mouse_set_cursor(JI_CURSOR_NULL); + jmouse_set_cursor(JI_CURSOR_NULL); /* get the current color palette */ get_palette(backup); @@ -115,9 +115,9 @@ void dialogs_screen_saver(void) POLYTYPE_GCOL: POLYTYPE_GRGB, NULL, &v1, &v2, &v3); /* poll GUI */ - ji_mouse_poll(); + jmouse_poll(); gui_feedback(); - } while ((!keypressed()) && (!ji_mouse_b(0))); + } while ((!keypressed()) && (!jmouse_b(0))); /* clear the screen */ clear(ji_screen); @@ -127,12 +127,12 @@ void dialogs_screen_saver(void) /* wait while the user has pushed some mouse button */ do { - ji_mouse_poll(); + jmouse_poll(); gui_feedback(); - } while (ji_mouse_b(0)); + } while (jmouse_b(0)); jmanager_refresh_screen(); - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); /* clear again the keyboard buffer */ clear_keybuf(); diff --git a/src/dialogs/tips.c b/src/dialogs/tips.c index 05e5349a4..5dcd95a4a 100644 --- a/src/dialogs/tips.c +++ b/src/dialogs/tips.c @@ -182,7 +182,7 @@ static bool tips_msg_proc(JWidget widget, JMessage msg) { JWidget view = jwidget_get_view(widget); JRect vp = jview_get_viewport_position(view); - int dz = ji_mouse_z(1) - ji_mouse_z(0); + int dz = jmouse_z(1) - jmouse_z(0); int scroll_x, scroll_y; jview_get_scroll(view, &scroll_x, &scroll_y); @@ -221,7 +221,7 @@ static void tips_request_size(JWidget widget, int *w, int *h) static JWidget tips_image_new(BITMAP *bmp) { JWidget widget = jimage_new(bmp, JI_CENTER | JI_MIDDLE); - jwidget_add_hook(widget, tips_image_type (), + jwidget_add_hook(widget, tips_image_type(), tips_image_msg_proc, bmp); return widget; } @@ -234,15 +234,15 @@ static int tips_image_type(void) return type; } -static bool tips_image_msg_proc (JWidget widget, JMessage msg) +static bool tips_image_msg_proc(JWidget widget, JMessage msg) { if (msg->type == JM_DESTROY) - destroy_bitmap (jwidget_get_data (widget, tips_image_type ())); + destroy_bitmap(jwidget_get_data(widget, tips_image_type())); return FALSE; } -static FILE *tips_open_file (void) +static FILE *tips_open_file(void) { char filename[1024]; DIRS *dirs, *dir; @@ -290,7 +290,7 @@ static int tips_count_pages (void) return page; } -static void tips_load_page (JWidget widget) +static void tips_load_page(JWidget widget) { int use_page = get_config_int("Tips", "Page", 0); char buf[1024]; @@ -301,8 +301,8 @@ static void tips_load_page (JWidget widget) /* destroy old page */ if (!jlist_empty(widget->children)) { JWidget child = jlist_first(widget->children)->data; - jwidget_remove_child (widget, child); - jwidget_free (child); + jwidget_remove_child(widget, child); + jwidget_free(child); } /* set default palette */ @@ -310,32 +310,32 @@ static void tips_load_page (JWidget widget) f = tips_open_file(); if (!f) { - jwidget_add_child (widget, jlabel_new (_("Error loading tips file."))); + jwidget_add_child(widget, jlabel_new(_("Error loading tips file."))); return; } - while (fgets (buf, sizeof (buf), f)) { + while (fgets(buf, sizeof(buf), f)) { if (*buf == 12) { /* read this page */ if (use_page == page) { - JWidget vbox = tips_load_box (f, buf, sizeof (buf), &take); + JWidget vbox = tips_load_box(f, buf, sizeof (buf), &take); if (vbox) - jwidget_add_child (widget, vbox); + jwidget_add_child(widget, vbox); break; } page++; } } - fclose (f); + fclose(f); - jview_update (jwidget_get_view (widget)); - jview_set_scroll (jwidget_get_view (widget), 0, 0); + jview_update(jwidget_get_view(widget)); + jview_set_scroll(jwidget_get_view(widget), 0, 0); - jmanager_refresh_screen (); + jmanager_refresh_screen(); } -static JWidget tips_load_box (FILE *f, char *buf, int sizeof_buf, int *take) +static JWidget tips_load_box(FILE *f, char *buf, int sizeof_buf, int *take) { JWidget vbox = jbox_new (JI_VERTICAL); @@ -432,7 +432,7 @@ static JWidget tips_load_box (FILE *f, char *buf, int sizeof_buf, int *take) /* read more text (to generate a paragraph) */ if (*text != '*') { - while (fgets (buf, sizeof_buf, f)) { + while (fgets(buf, sizeof_buf, f)) { if (*buf == 12 || *buf == '\\') { *take = FALSE; break; @@ -442,8 +442,8 @@ static JWidget tips_load_box (FILE *f, char *buf, int sizeof_buf, int *take) continue; /* remove trailing space chars */ - while (*buf && isspace (ugetat (buf, -1))) - usetat (buf, -1, 0); + while (*buf && isspace(ugetat (buf, -1))) + usetat(buf, -1, 0); /* empty? */ if (!*buf) { @@ -452,20 +452,20 @@ static JWidget tips_load_box (FILE *f, char *buf, int sizeof_buf, int *take) } /* add chars */ - text = jrealloc (text, strlen (text) + 1 + strlen (buf) + 1); - strcat (text, " "); - strcpy (text+strlen (text), buf); + text = jrealloc(text, strlen (text) + 1 + strlen (buf) + 1); + strcat(text, " "); + strcpy(text+strlen (text), buf); } /* add the textbox */ - jwidget_add_child (vbox, jtextbox_new (text, JI_WORDWRAP | JI_CENTER)); + jwidget_add_child(vbox, jtextbox_new(text, JI_WORDWRAP | JI_CENTER)); } else { /* add a label */ - jwidget_add_child (vbox, jtextbox_new (text+2, JI_WORDWRAP | JI_LEFT)); + jwidget_add_child(vbox, jtextbox_new(text+2, JI_WORDWRAP | JI_LEFT)); } - jfree (text); + jfree(text); } } @@ -475,20 +475,20 @@ static JWidget tips_load_box (FILE *f, char *buf, int sizeof_buf, int *take) return vbox; } -static BITMAP *tips_load_image (const char *filename, PALETTE pal) +static BITMAP *tips_load_image(const char *filename, PALETTE pal) { BITMAP *bmp = NULL; DIRS *dir, *dirs; - dirs = filename_in_datadir (filename); + dirs = filename_in_datadir(filename); for (dir=dirs; dir; dir=dir->next) { - bmp = load_bitmap (dir->path, pal); + bmp = load_bitmap(dir->path, pal); if (bmp) break; } - dirs_free (dirs); + dirs_free(dirs); return bmp; } diff --git a/src/dialogs/viewspr.c b/src/dialogs/viewspr.c index 645599964..8b75a1e52 100644 --- a/src/dialogs/viewspr.c +++ b/src/dialogs/viewspr.c @@ -26,6 +26,7 @@ #include "core/app.h" #include "core/core.h" +#include "dialogs/viewspr.h" #include "modules/editors.h" #include "modules/gfx.h" #include "modules/gui.h" @@ -36,16 +37,7 @@ #endif -#define JUST_ONE 1 -#define FIT_ON_SCREEN 2 - -static void view_sprite(int flags); - -void view_tiled(void) { view_sprite(0); } -void view_normal(void) { view_sprite(JUST_ONE); } -void view_fullscreen(void) { view_sprite(JUST_ONE | FIT_ON_SCREEN); } - -static void view_sprite(int flags) +void preview_sprite(int flags) { JWidget widget = current_editor; @@ -68,8 +60,8 @@ static void view_sprite(int flags) vp = jview_get_viewport_position(view); jview_get_scroll(view, &scroll_x, &scroll_y); - old_mouse_x = ji_mouse_x(0); - old_mouse_y = ji_mouse_y(0); + old_mouse_x = jmouse_x(0); + old_mouse_y = jmouse_y(0); bmp = create_bitmap (sprite->w, sprite->h); if (bmp) { @@ -78,8 +70,8 @@ static void view_sprite(int flags) jwidget_flush_redraw(app_get_status_bar()); jmanager_dispatch_messages(); - ji_mouse_set_cursor(JI_CURSOR_NULL); - ji_mouse_set_position(JI_SCREEN_W/2, JI_SCREEN_H/2); + jmouse_set_cursor(JI_CURSOR_NULL); + jmouse_set_position(JI_SCREEN_W/2, JI_SCREEN_H/2); /* render the sprite in the bitmap */ image = render_sprite(sprite, 0, 0, sprite->w, sprite->h, @@ -89,7 +81,7 @@ static void view_sprite(int flags) image_free(image); } - if (flags & JUST_ONE) + if (!(flags & PREVIEW_TILED)) bg_color = palette_color[index_bg_color=0]; else bg_color = makecol(128, 128, 128); @@ -103,11 +95,11 @@ static void view_sprite(int flags) redraw = TRUE; do { /* update scroll */ - if (ji_mouse_poll()) { - shiftx += ji_mouse_x(0) - JI_SCREEN_W/2; - shifty += ji_mouse_y(0) - JI_SCREEN_H/2; - ji_mouse_set_position(JI_SCREEN_W/2, JI_SCREEN_H/2); - ji_mouse_poll(); + if (jmouse_poll()) { + shiftx += jmouse_x(0) - JI_SCREEN_W/2; + shifty += jmouse_y(0) - JI_SCREEN_H/2; + jmouse_set_position(JI_SCREEN_W/2, JI_SCREEN_H/2); + jmouse_poll(); redraw = TRUE; } @@ -116,7 +108,7 @@ static void view_sprite(int flags) redraw = FALSE; /* fit on screen */ - if (flags & FIT_ON_SCREEN) { + if (flags & PREVIEW_FIT_ON_SCREEN) { double sx, sy, scale, outw, outh; sx = (double)JI_SCREEN_W / (double)bmp->w; @@ -132,7 +124,7 @@ static void view_sprite(int flags) } /* draw in normal size */ else { - if (flags & JUST_ONE) { + if (!(flags & PREVIEW_TILED)) { x = shiftx; y = shifty; } @@ -141,7 +133,7 @@ static void view_sprite(int flags) y = SGN(shifty) * (ABS(shifty)%h); } - if (flags & JUST_ONE) { + if (!(flags & PREVIEW_TILED)) { /* rectfill_exclude(ji_screen, 0, 0, JI_SCREEN_W-1, JI_SCREEN_H-1, */ /* x, y, x+w-1, y+h-1, bg_color); */ clear_to_color(ji_screen, bg_color); @@ -149,7 +141,7 @@ static void view_sprite(int flags) if (!editor->zoom) { /* in the center */ - if (flags & JUST_ONE) + if (!(flags & PREVIEW_TILED)) draw_sprite(ji_screen, bmp, x, y); /* tiled */ else @@ -159,7 +151,7 @@ static void view_sprite(int flags) } else { /* in the center */ - if (flags & JUST_ONE) + if (!(flags & PREVIEW_TILED)) masked_stretch_blit(bmp, ji_screen, 0, 0, bmp->w, bmp->h, x, y, w, h); /* tiled */ else @@ -204,19 +196,19 @@ static void view_sprite(int flags) else break; } - } while (!ji_mouse_b(0)); + } while (!jmouse_b(0)); destroy_bitmap(bmp); } do { - ji_mouse_poll(); + jmouse_poll(); gui_feedback(); - } while (ji_mouse_b(0)); + } while (jmouse_b(0)); clear_keybuf(); - ji_mouse_set_position(old_mouse_x, old_mouse_y); - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_position(old_mouse_x, old_mouse_y); + jmouse_set_cursor(JI_CURSOR_NORMAL); jmanager_refresh_screen(); jrect_free(vp); diff --git a/src/dialogs/viewspr.h b/src/dialogs/viewspr.h index 243c442fc..67ec91e42 100644 --- a/src/dialogs/viewspr.h +++ b/src/dialogs/viewspr.h @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2001-2005 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,9 +19,10 @@ #ifndef DIALOGS_VIEWSPR_H #define DIALOGS_VIEWSPR_H -void view_tiled(void); -void view_normal(void); -void view_fullscreen(void); +#define PREVIEW_TILED 1 +#define PREVIEW_FIT_ON_SCREEN 2 + +void preview_sprite(int flags); #endif /* DIALOGS_VIEWSPR_H */ diff --git a/src/modules/gui.c b/src/modules/gui.c index 57177163c..d28c0f6bb 100644 --- a/src/modules/gui.c +++ b/src/modules/gui.c @@ -64,7 +64,7 @@ static JWidget manager = NULL; -static int next_idle_flags = 0; +static volatile int next_idle_flags = 0; static JList icon_buttons; /* default GUI screen configuration */ @@ -88,6 +88,8 @@ static void display_switch_in_callback() next_idle_flags |= REBUILD_FULLREFRESH; } +END_OF_STATIC_FUNCTION(display_switch_in_callback); + /** * Initializes GUI. */ @@ -173,6 +175,8 @@ int init_module_gui(void) /* add a hook to display-switch so when the user returns to the screen it's completelly refreshed/redrawn */ + LOCK_VARIABLE(next_idle_flags); + LOCK_FUNCTION(display_switch_in_callback); set_display_switch_callback(SWITCH_IN, display_switch_in_callback); /* set graphics options for next time */ @@ -288,8 +292,8 @@ void gui_feedback(void) /* double buffering? */ if (double_buffering) { - jmanager_dispatch_draw_messages(); - ji_mouse_draw_cursor(); +/* jmanager_dispatch_draw_messages(); */ + jmouse_draw_cursor(); if (JI_SCREEN_W == SCREEN_W && JI_SCREEN_H == SCREEN_H) { blit(ji_screen, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H); @@ -299,6 +303,8 @@ void gui_feedback(void) 0, 0, ji_screen->w, ji_screen->h, 0, 0, SCREEN_W, SCREEN_H); } + +/* jmanager_dispatch_draw_messages(); */ } /* don't eat CPU... rest some time */ @@ -688,6 +694,8 @@ static bool manager_msg_proc(JWidget widget, JMessage msg) case JM_CHAR: { Command *command = command_get_by_key(msg); + if (!command) + break; /* the screen shot is available in everywhere */ if (strcmp(command->name, CMD_SCREEN_SHOT) == 0) { @@ -710,11 +718,9 @@ static bool manager_msg_proc(JWidget widget, JMessage msg) else if (jwindow_is_desktop(child) && child == app_get_top_window()) { /* ok, so we can execute the command represented by the pressed-key in the message... */ - if (command) { - if (command_is_enabled(command, NULL)) { - command_execute(command, NULL); - return TRUE; - } + if (command_is_enabled(command, NULL)) { + command_execute(command, NULL); + return TRUE; } break; } diff --git a/src/modules/rootmenu.c b/src/modules/rootmenu.c index ca89896eb..12fac0d66 100644 --- a/src/modules/rootmenu.c +++ b/src/modules/rootmenu.c @@ -45,10 +45,7 @@ static JWidget recent_list_menuitem; static JWidget layer_popup_menuitem; static JWidget frame_popup_menuitem; static JWidget filters_popup_menuitem; -static JWidget accel_menuitem[ACCEL_MAX]; - -/* static JAccel read_accel(FILE *f, char *buf, char *leavings, int sizeof_leavings); */ -/* static JWidget read_menu(FILE *f, char *leavings, int sizeof_leavings); */ +/* static JWidget accel_menuitem[ACCEL_MAX]; */ static JWidget convert_xmlelem_to_menu(JXmlElem elem); static JWidget convert_xmlelem_to_menuitem(JXmlElem elem); @@ -95,7 +92,12 @@ int load_root_menu(void) filters_popup_menuitem = 0; dirs = filename_in_datadir("usergui.xml"); - dirs_cat_dirs(dirs, filename_in_datadir("defgui.xml")); + { + char buf[256]; + sprintf(buf, "defgui-%s.xml", intl_get_lang()); + dirs_cat_dirs(dirs, filename_in_datadir(buf)); + dirs_cat_dirs(dirs, filename_in_datadir("defgui-en.xml")); + } for (dir=dirs; dir; dir=dir->next) { PRINTF("Trying to load GUI definition file from \"%s\"...\n", dir->path); @@ -200,66 +202,6 @@ int load_root_menu(void) return 0; } -/* int load_root_menu(void) */ -/* { */ -/* char leavings[4096]; */ -/* char buf[512]; */ -/* DIRS *dirs, *dir; */ -/* JWidget menuitem; */ -/* int ret = -1; */ -/* FILE *f; */ - -/* if (app_get_menu_bar()) */ -/* jmenubar_set_menu(app_get_menu_bar(), NULL); */ - -/* /\* destroy `root-menu' if it exists *\/ */ -/* if (root_menu) */ -/* jwidget_free(root_menu); */ - -/* /\* create a new empty-menu *\/ */ -/* root_menu = jmenu_new(); */ -/* sprite_list_menuitem = 0; */ -/* recent_list_menuitem = 0; */ -/* layer_popup_menuitem = 0; */ -/* frame_popup_menuitem = 0; */ -/* filters_popup_menuitem = 0; */ - -/* sprintf(buf, "menus.%s", intl_get_lang()); */ -/* dirs = filename_in_datadir(buf); */ - -/* for (dir=dirs; dir; dir=dir->next) { */ -/* /\* open the menu definition file *\/ */ -/* f = fopen(dir->path, "r"); */ -/* if (f) { */ -/* tok_reset_line_num(); */ -/* strcpy(leavings, ""); */ - -/* /\* read other menu *\/ */ -/* while ((menuitem = read_menu (f, leavings, sizeof (leavings)))) { */ -/* /\* insert it to the root menu *\/ */ -/* jwidget_add_child (root_menu, menuitem); */ -/* } */ - -/* /\* close the file *\/ */ -/* fclose (f); */ -/* ret = 0; */ - -/* break; */ -/* } */ -/* } */ - -/* dirs_free (dirs); */ - -/* /\* sets the "menu" of the "menu-bar" to the new "root-menu" *\/ */ -/* if (app_get_menu_bar ()) { */ -/* jmenubar_set_menu (app_get_menu_bar (), root_menu); */ -/* jwindow_remap (app_get_top_window ()); */ -/* jwidget_dirty (app_get_top_window ()); */ -/* } */ - -/* return ret; */ -/* } */ - JWidget get_root_menu(void) { return root_menu; } JWidget get_sprite_list_menuitem(void) { return sprite_list_menuitem; } @@ -267,18 +209,18 @@ JWidget get_recent_list_menuitem(void) { return recent_list_menuitem; } JWidget get_layer_popup_menuitem(void) { return layer_popup_menuitem; } JWidget get_frame_popup_menuitem(void) { return frame_popup_menuitem; } -int check_for_accel(int accel_type, JMessage msg) -{ - if (accel_menuitem[accel_type]) { - JAccel accel = jmenuitem_get_accel(accel_menuitem[accel_type]); - if (accel) - return jaccel_check(accel, - msg->any.shifts, - msg->key.ascii, - msg->key.scancode); - } - return FALSE; -} +/* int check_for_accel(int accel_type, JMessage msg) */ +/* { */ +/* if (accel_menuitem[accel_type]) { */ +/* JAccel accel = jmenuitem_get_accel(accel_menuitem[accel_type]); */ +/* if (accel) */ +/* return jaccel_check(accel, */ +/* msg->any.shifts, */ +/* msg->key.ascii, */ +/* msg->key.scancode); */ +/* } */ +/* return FALSE; */ +/* } */ void show_fx_popup_menu(void) { @@ -286,164 +228,10 @@ void show_fx_popup_menu(void) filters_popup_menuitem && jmenuitem_get_submenu(filters_popup_menuitem)) { jmenu_popup(jmenuitem_get_submenu(filters_popup_menuitem), - ji_mouse_x(0), - ji_mouse_y(0)); + jmouse_x(0), jmouse_y(0)); } } -/* static JAccel read_accel(FILE *f, char *buf, char *leavings, int sizeof_leavings) */ -/* { */ -/* char keybuf[256]; */ -/* JAccel accel; */ - -/* strcpy (keybuf, ""); */ - -/* while (tok_read (f, buf, leavings, sizeof_leavings)) { */ -/* if (strcmp (buf, ";") == 0) */ -/* break; */ -/* else */ -/* sprintf (keybuf+strlen (keybuf), " %s", buf); */ -/* } */ - -/* accel = jaccel_new (); */ -/* jaccel_add_keys_from_string (accel, keybuf); */ - -/* if (jaccel_is_empty (accel)) { */ -/* jaccel_free (accel); */ -/* accel = NULL; */ -/* } */ - -/* return accel; */ -/* } */ - -/* /\* reads a new menu *\/ */ -/* static JWidget read_menu (FILE *f, char *leavings, int sizeof_leavings) */ -/* { */ -/* char buf[1024*4]; */ -/* int read_to_end; */ -/* JWidget menuitem; */ - -/* /\* read the name of the menu, *\/ */ -/* if (!tok_read (f, buf, leavings, sizeof_leavings)) */ -/* /\* no name, end of the file *\/ */ -/* return 0; */ - -/* /\* a separator *\/ */ -/* if (strcmp (buf, "----") == 0) */ -/* return ji_separator_new (NULL, JI_HORIZONTAL); */ -/* /\* close a menu item *\/ */ -/* else if (strcmp(buf, "}") == 0) */ -/* return 0; */ - -/* /\* create the item *\/ */ -/* menuitem = menuitem_new(buf, NULL, NULL); */ -/* if (!menuitem) */ -/* return 0; */ - -/* /\* read next token *\/ */ -/* tok_read (f, buf, leavings, sizeof_leavings); */ -/* read_to_end = FALSE; */ - -/* /\* could be a menu name *\/ */ -/* if ((strcmp (buf, "{") != 0) && */ -/* (strcmp (buf, "=") != 0)) { */ -/* /\* yes, this token is a menu name... *\/ */ - -/* /\* sprite list menu *\/ */ -/* if (strcmp (buf, "SPRITE_LIST") == 0) { */ -/* sprite_list_menuitem = menuitem; */ -/* read_to_end = TRUE; */ -/* } */ -/* /\* recent list menu *\/ */ -/* else if (strcmp (buf, "RECENT_LIST") == 0) { */ -/* recent_list_menuitem = menuitem; */ -/* read_to_end = TRUE; */ -/* } */ -/* /\* layer popup menu *\/ */ -/* else if (strcmp (buf, "LAYER_POPUP") == 0) */ -/* layer_popup_menuitem = menuitem; */ -/* /\* frame popup menu *\/ */ -/* else if (strcmp (buf, "FRAME_POPUP") == 0) */ -/* frame_popup_menuitem = menuitem; */ -/* /\* filters popup menu *\/ */ -/* else if (strcmp (buf, "FILTERS_POPUP") == 0) */ -/* filters_popup_menuitem = menuitem; */ -/* /\* accelerator keys *\/ */ -/* else if (strcmp (buf, "UNDO_ACCEL") == 0) */ -/* accel_menuitem[ACCEL_FOR_UNDO] = menuitem; */ -/* else if (strcmp (buf, "REDO_ACCEL") == 0) */ -/* accel_menuitem[ACCEL_FOR_REDO] = menuitem; */ -/* else if (strcmp (buf, "FILMEDITOR_ACCEL") == 0) */ -/* accel_menuitem[ACCEL_FOR_FILMEDITOR] = menuitem; */ -/* else if (strcmp (buf, "SCREENSHOT_ACCEL") == 0) */ -/* accel_menuitem[ACCEL_FOR_SCREENSHOT] = menuitem; */ - -/* /\* read other token *\/ */ -/* tok_read (f, buf, leavings, sizeof_leavings); */ -/* } */ - -/* /\* sub-menu *\/ */ -/* if (strcmp (buf, "{") == 0) { */ -/* JWidget sub_menuitem; */ -/* JWidget sub_menu; */ - -/* /\* create the sub-menu *\/ */ -/* sub_menu = jmenu_new (); */ -/* if (!sub_menu) */ -/* return menuitem; */ - -/* jmenuitem_set_submenu (menuitem, sub_menu); */ - -/* /\* read other menu *\/ */ -/* while ((sub_menuitem = read_menu (f, leavings, sizeof_leavings))) { */ -/* /\* insert it to the root menu *\/ */ -/* jwidget_add_child (sub_menu, sub_menuitem); */ -/* } */ -/* } */ -/* /\* just a item *\/ */ -/* else if (strcmp (buf, "=") == 0) { */ -/* JAccel accel; */ - -/* /\* read the check method name *\/ */ -/* tok_read (f, buf, leavings, sizeof_leavings); */ - -/* /\* none *\/ */ -/* if (strcmp (buf, ";") == 0) */ -/* return menuitem; */ - -/* /\* search the `check' method *\/ */ -/* menuitem_set_check_method (menuitem, get_check_method (buf)); */ - -/* /\* read the command script *\/ */ -/* tok_read (f, buf, leavings, sizeof_leavings); */ -/* if (strcmp (buf, ";") == 0) */ -/* return menuitem; */ - -/* menuitem_set_script (menuitem, buf); */ - -/* accel = read_accel (f, buf, leavings, sizeof_leavings); */ -/* if (accel) */ -/* jmenuitem_set_accel (menuitem, accel); */ -/* } */ -/* /\* well... *\/ */ -/* else if (strcmp (buf, ";") != 0) { */ -/* /\* Read to end? *\/ */ -/* if (read_to_end) { */ -/* /\* Jump all to the next ";" *\/ */ -/* while (tok_read (f, buf, leavings, sizeof_leavings)) */ -/* if (strcmp (buf, ";") == 0) */ -/* break; */ -/* } */ -/* /\* invalid syntaxis *\/ */ -/* else { */ -/* jwidget_free (menuitem); */ -/* return 0; */ -/* } */ -/* } */ - -/* return menuitem; */ -/* } */ - static JWidget convert_xmlelem_to_menu(JXmlElem elem) { JWidget menu = jmenu_new(); diff --git a/src/modules/rootmenu.h b/src/modules/rootmenu.h index 1bf490835..dda3af6da 100644 --- a/src/modules/rootmenu.h +++ b/src/modules/rootmenu.h @@ -41,7 +41,7 @@ JWidget get_recent_list_menuitem(void); JWidget get_layer_popup_menuitem(void); JWidget get_frame_popup_menuitem(void); -int check_for_accel(int accel_type, JMessage msg); +/* int check_for_accel(int accel_type, JMessage msg); */ void show_fx_popup_menu(void); #endif /* MODULES_ROOTMENU_H */ diff --git a/src/modules/tools.c b/src/modules/tools.c index cea87b873..61bf81046 100644 --- a/src/modules/tools.c +++ b/src/modules/tools.c @@ -1012,7 +1012,7 @@ void control_tool(JWidget widget, Tool *tool, const char *_color) } /* draw the cursor in the screen */ - editor_draw_cursor(widget, ji_mouse_x(0), ji_mouse_y(0)); + editor_draw_cursor(widget, jmouse_x(0), jmouse_y(0)); /* update the state-bar */ if (jwidget_is_visible(status_bar)) { diff --git a/src/raster/examples/00dirty.c b/src/raster/examples/00dirty.c index 3be7b668b..d3ff1da6e 100644 --- a/src/raster/examples/00dirty.c +++ b/src/raster/examples/00dirty.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2001-2005 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -101,13 +101,13 @@ int main (int argc, char *argv[]) if (redraw) { redraw = FALSE; - scare_mouse (); - clear (bmp); - image_to_allegro (image, bmp, 0, 0); - text_mode (0); - textout (bmp, font, "R:restore image", 0, 0, 15); - blit (bmp, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H); - unscare_mouse (); + jmouse_hide(); + clear(bmp); + image_to_allegro(image, bmp, 0, 0); + text_mode(0); + textout(bmp, font, "R:restore image", 0, 0, 15); + blit(bmp, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H); + jmouse_show(); } } while (!key[KEY_ESC]); return 0; diff --git a/src/raster/examples/01mask.c b/src/raster/examples/01mask.c index ae930fe23..8a7389c95 100644 --- a/src/raster/examples/01mask.c +++ b/src/raster/examples/01mask.c @@ -52,7 +52,7 @@ int main(int argc, char *argv[]) xend = mouse_x; yend = mouse_y; - scare_mouse (); + jmouse_hide(); if (xold >= 0) { xor_mode (TRUE); @@ -64,7 +64,7 @@ int main(int argc, char *argv[]) rect (screen, xbeg, ybeg, xold = xend, yold = yend, 0xff); xor_mode (FALSE); - unscare_mouse (); + jmouse_show (); } } @@ -134,11 +134,11 @@ int main(int argc, char *argv[]) } } - scare_mouse (); - blit (bmp, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H); - unscare_mouse (); + jmouse_hide(); + blit(bmp, screen, 0, 0, 0, 0, SCREEN_W, SCREEN_H); + jmouse_show(); - destroy_bitmap (bmp); + destroy_bitmap(bmp); } } while (!key[KEY_ESC]); return 0; diff --git a/src/script/bindings.c b/src/script/bindings.c index f506b9f43..36a7c81a4 100644 --- a/src/script/bindings.c +++ b/src/script/bindings.c @@ -716,7 +716,6 @@ static int bind_jwidget_hook_signal (lua_State *L) #ifndef USE_PRECOMPILED_HEADER -#include "dialogs/about.h" #include "dialogs/canvasze.h" #include "dialogs/dfrlen.h" #include "dialogs/dmapgen.h" diff --git a/src/script/export.h b/src/script/export.h index 5dec01b44..f9fc1018d 100644 --- a/src/script/export.h +++ b/src/script/export.h @@ -97,8 +97,6 @@ JWidget app_get_status_bar(void); JWidget app_get_color_bar(void); JWidget app_get_tool_bar(void); -void app_switch(JWidget widget); - /* intl/intl.c */ void intl_load_lang(void); @@ -886,8 +884,6 @@ void jmanager_run(JWidget manager); bool jmanager_poll(JWidget manager, bool all_windows); void jmanager_send_message(JMessage msg); -void jmanager_dispatch_messages(void); -void jmanager_dispatch_draw_messages(void); JWidget jmanager_get_focus(void); JWidget jmanager_get_mouse(void); diff --git a/src/script/genbinds.c b/src/script/genbinds.c index 693cc2e99..1cbd1835c 100644 --- a/src/script/genbinds.c +++ b/src/script/genbinds.c @@ -525,14 +525,6 @@ static int bind_app_get_tool_bar(lua_State *L) return 1; } -static int bind_app_switch(lua_State *L) -{ - JWidget widget; - GetUD(1, widget, JWidget); - app_switch(widget); - return 0; -} - static int bind_intl_load_lang(lua_State *L) { intl_load_lang(); @@ -1393,12 +1385,6 @@ static int bind_set_gfx(lua_State *L) return 1; } -static int bind_dialogs_about(lua_State *L) -{ - dialogs_about(); - return 0; -} - static int bind_dialogs_color_curve(lua_State *L) { dialogs_color_curve(); @@ -1505,24 +1491,6 @@ static int bind_dialogs_vector_map(lua_State *L) return 0; } -static int bind_view_tiled(lua_State *L) -{ - view_tiled(); - return 0; -} - -static int bind_view_normal(lua_State *L) -{ - view_normal(); - return 0; -} - -static int bind_view_fullscreen(lua_State *L) -{ - view_fullscreen(); - return 0; -} - static int bind_RenderText(lua_State *L) { Image *return_value; @@ -3951,18 +3919,6 @@ static int bind_jmanager_send_message(lua_State *L) return 0; } -static int bind_jmanager_dispatch_messages(lua_State *L) -{ - jmanager_dispatch_messages(); - return 0; -} - -static int bind_jmanager_dispatch_draw_messages(lua_State *L) -{ - jmanager_dispatch_draw_messages(); - return 0; -} - static int bind_jmanager_get_focus(lua_State *L) { JWidget return_value; @@ -5763,7 +5719,6 @@ const luaL_reg bindings_routines[] = { { "app_get_status_bar", bind_app_get_status_bar }, { "app_get_color_bar", bind_app_get_color_bar }, { "app_get_tool_bar", bind_app_get_tool_bar }, - { "app_switch", bind_app_switch }, { "intl_load_lang", bind_intl_load_lang }, { "intl_get_lang", bind_intl_get_lang }, { "intl_set_lang", bind_intl_set_lang }, @@ -5873,7 +5828,6 @@ const luaL_reg bindings_routines[] = { { "rec_screen_off", bind_rec_screen_off }, { "screen_shot", bind_screen_shot }, { "set_gfx", bind_set_gfx }, - { "dialogs_about", bind_dialogs_about }, { "dialogs_color_curve", bind_dialogs_color_curve }, { "dialogs_convolution_matrix", bind_dialogs_convolution_matrix }, { "dialogs_draw_text", bind_dialogs_draw_text }, @@ -5891,9 +5845,6 @@ const luaL_reg bindings_routines[] = { { "dialogs_tips", bind_dialogs_tips }, { "dialogs_tools_configuration", bind_dialogs_tools_configuration }, { "dialogs_vector_map", bind_dialogs_vector_map }, - { "view_tiled", bind_view_tiled }, - { "view_normal", bind_view_normal }, - { "view_fullscreen", bind_view_fullscreen }, { "RenderText", bind_RenderText }, { "_rgba_getr", bind__rgba_getr }, { "_rgba_getg", bind__rgba_getg }, @@ -6116,8 +6067,6 @@ const luaL_reg bindings_routines[] = { { "jmanager_run", bind_jmanager_run }, { "jmanager_poll", bind_jmanager_poll }, { "jmanager_send_message", bind_jmanager_send_message }, - { "jmanager_dispatch_messages", bind_jmanager_dispatch_messages }, - { "jmanager_dispatch_draw_messages", bind_jmanager_dispatch_draw_messages }, { "jmanager_get_focus", bind_jmanager_get_focus }, { "jmanager_get_mouse", bind_jmanager_get_mouse }, { "jmanager_get_capture", bind_jmanager_get_capture }, @@ -6464,14 +6413,6 @@ void register_bindings(lua_State *L) /* Lua -> C */ /*======================================================================*/ -void CloseSprite(void) -{ - lua_State *L = get_lua_state(); - lua_pushstring(L, "CloseSprite"); - lua_gettable(L, LUA_GLOBALSINDEX); - do_script_raw(L, 0, 0); -} - const char *GetUniqueLayerName(void) { lua_State *L = get_lua_state(); diff --git a/src/script/import.h b/src/script/import.h index f7ba84cba..10e4b5290 100644 --- a/src/script/import.h +++ b/src/script/import.h @@ -10,9 +10,6 @@ #include "raster/layer.h" #include "raster/sprite.h" -/* sprite.lua */ -void CloseSprite(void); - /* layer.lua */ const char *GetUniqueLayerName(void); diff --git a/src/util/clipbrd.c b/src/util/clipbrd.c index f8a930402..f3982b01a 100644 --- a/src/util/clipbrd.c +++ b/src/util/clipbrd.c @@ -233,24 +233,24 @@ static bool interactive_transform(JWidget widget, { /* #define UPDATE2() \ */ /* jmanager_dispatch_messages (); \ */ -/* scare_mouse (); \ */ +/* jmouse_hide(); \ */ /* blit (ji_screen, bmp1, vp->x, vp->y, 0, 0, vp->w, vp->h); \ */ /* draw_box (ji_screen, vp->x, vp->y, vp->x+vp->w-1, vp->y+vp->h-1, \ */ /* x1, y1, x2, y2, preview, mode, angle, cx-vp->x, cy-vp->y); \ */ /* update_status_bar (widget, image, x1, y1, x2, y2, angle); \ */ -/* unscare_mouse (); */ +/* jmouse_show(); */ #define UPDATE() \ - scare_mouse(); \ + jmouse_hide(); \ old_screen = ji_screen; \ ji_screen = bmp1; \ - jmanager_dispatch_draw_messages(); \ + jmanager_dispatch_messages(); \ ji_screen = old_screen; \ REDRAW(); \ - unscare_mouse(); + jmouse_show(); #define REDRAW() \ - scare_mouse(); \ + jmouse_hide(); \ blit(bmp1, bmp2, vp->x1, vp->y1, 0, 0, jrect_w(vp), jrect_h(vp)); \ draw_box(bmp2, \ 0, 0, jrect_w(vp)-1, jrect_h(vp)-1, \ @@ -258,7 +258,7 @@ static bool interactive_transform(JWidget widget, preview, mode, angle, cx-vp->x1, cy-vp->y1); \ blit(bmp2, ji_screen, 0, 0, vp->x1, vp->y1, jrect_w(vp), jrect_h(vp)); \ update_status_bar(widget, image, x1, y1, x2, y2, angle); \ - unscare_mouse(); + jmouse_show(); int x1, y1, x2, y2; int u1, v1, u2, v2; @@ -282,9 +282,9 @@ static bool interactive_transform(JWidget widget, bmp1 = create_bitmap(JI_SCREEN_W, JI_SCREEN_H); bmp2 = create_bitmap(jrect_w(vp), jrect_h(vp)); - scare_mouse(); + jmouse_hide(); blit(ji_screen, bmp1, 0, 0, 0, 0, JI_SCREEN_W, JI_SCREEN_H); - unscare_mouse(); + jmouse_show(); /* generate the preview bitmap (for fast-blitting) */ preview = create_bitmap(image->w, image->h); @@ -337,7 +337,7 @@ static bool interactive_transform(JWidget widget, } /* mouse moved */ - if (ji_mouse_poll()) { + if (jmouse_poll()) { int in_left, in_center, in_right; int in_top, in_middle, in_bottom; int in_box; @@ -348,63 +348,63 @@ static bool interactive_transform(JWidget widget, x1, y1, x2, y2, angle, cx, cy); if (in_box) { - ji_mouse_set_cursor(JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); action = ACTION_MOVE; } else { /* top */ if (in_top && in_left) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_TL); + jmouse_set_cursor(JI_CURSOR_SIZE_TL); action = mode == SCALE_MODE ? ACTION_SCALE_TL: ACTION_ROTATE_TL; } else if (in_top && in_center) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_T); + jmouse_set_cursor(JI_CURSOR_SIZE_T); action = mode == SCALE_MODE ? ACTION_SCALE_T: ACTION_ROTATE_T; } else if (in_top && in_right) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_TR); + jmouse_set_cursor(JI_CURSOR_SIZE_TR); action = mode == SCALE_MODE ? ACTION_SCALE_TR: ACTION_ROTATE_TR; } /* middle */ else if (in_middle && in_left) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_L); + jmouse_set_cursor(JI_CURSOR_SIZE_L); action = mode == SCALE_MODE ? ACTION_SCALE_L: ACTION_ROTATE_L; } else if (in_middle && in_right) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_R); + jmouse_set_cursor(JI_CURSOR_SIZE_R); action = mode == SCALE_MODE ? ACTION_SCALE_R: ACTION_ROTATE_R; } /* bottom */ else if (in_bottom && in_left) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_BL); + jmouse_set_cursor(JI_CURSOR_SIZE_BL); action = mode == SCALE_MODE ? ACTION_SCALE_BL: ACTION_ROTATE_BL; } else if (in_bottom && in_center) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_B); + jmouse_set_cursor(JI_CURSOR_SIZE_B); action = mode == SCALE_MODE ? ACTION_SCALE_B: ACTION_ROTATE_B; } else if (in_bottom && in_right) { - ji_mouse_set_cursor(JI_CURSOR_SIZE_BR); + jmouse_set_cursor(JI_CURSOR_SIZE_BR); action = mode == SCALE_MODE ? ACTION_SCALE_BR: ACTION_ROTATE_BR; } /* normal */ else { - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); action = ACTION_SETMODE; } } } /* button pressed */ - if (ji_mouse_b(0)) { + if (jmouse_b(0)) { /* left button+shift || middle button = scroll movement */ - if ((ji_mouse_b(0) == 1 && (key_shifts & KB_SHIFT_FLAG)) || - (ji_mouse_b(0) == 4)) { + if ((jmouse_b(0) == 1 && (key_shifts & KB_SHIFT_FLAG)) || + (jmouse_b(0) == 4)) { JWidget view = jwidget_get_view(widget); int scroll_x, scroll_y; - x = ji_mouse_x(0) - ji_mouse_x(1); - y = ji_mouse_y(0) - ji_mouse_y(1); + x = jmouse_x(0) - jmouse_x(1); + y = jmouse_y(0) - jmouse_y(1); /* screen_to_editor (widget, x1, y1, &x1, &y1); */ /* screen_to_editor (widget, x2, y2, &x2, &y2); */ @@ -417,7 +417,7 @@ static bool interactive_transform(JWidget widget, /* editor_to_screen (widget, x1, y1, &x1, &y1); */ /* editor_to_screen (widget, x2, y2, &x2, &y2); */ - ji_mouse_control_infinite_scroll(vp); + jmouse_control_infinite_scroll(vp); jwidget_dirty(view); jwidget_flush_redraw(view); @@ -444,7 +444,7 @@ static bool interactive_transform(JWidget widget, /* x2 += cx - ncx; */ /* y2 += cy - ncy; */ -/* scare_mouse (); */ +/* jmouse_hide(); */ /* blit (bmp1, bmp2, 0, 0, 0, 0, vp->w, vp->h); */ /* draw_box (bmp2, */ /* 0, 0, vp->w-1, vp->h-1, */ @@ -452,11 +452,11 @@ static bool interactive_transform(JWidget widget, /* preview, mode, angle, cx-vp->x, cy-vp->y); */ /* blit (bmp2, ji_screen, 0, 0, vp->x, vp->y, vp->w, vp->h); */ /* update_status_bar (widget, image, x1, y1, x2, y2, angle); */ -/* unscare_mouse (); */ +/* jmouse_show(); */ /* } */ } /* right button = paste */ - else if (ji_mouse_b(0) == 2) { + else if (jmouse_b(0) == 2) { done = DONE_PASTE; /* paste */ } /* change mode */ @@ -466,17 +466,17 @@ static bool interactive_transform(JWidget widget, do { poll_keyboard(); - ji_mouse_poll(); + jmouse_poll(); gui_feedback(); - } while (ji_mouse_b(0)); + } while (jmouse_b(0)); } /* modify selection */ else { - int mx = ji_mouse_x(0); - int my = ji_mouse_y(0); + int mx = jmouse_x(0); + int my = jmouse_y(0); fixed angle1 = angle; - fixed angle2 = fixatan2(itofix(ji_mouse_y(0)-cy), - itofix(ji_mouse_x(0)-cx)); + fixed angle2 = fixatan2(itofix(jmouse_y(0)-cy), + itofix(jmouse_x(0)-cx)); angle2 = fixsub(0, angle2); u1 = x1; @@ -486,18 +486,18 @@ static bool interactive_transform(JWidget widget, do { poll_keyboard(); - if (ji_mouse_poll()) { + if (jmouse_poll()) { if (action == ACTION_MOVE) { - x = ji_mouse_x(0) - mx; - y = ji_mouse_y(0) - my; + x = jmouse_x(0) - mx; + y = jmouse_y(0) - my; } else if (action >= ACTION_SCALE_TL && action <= ACTION_SCALE_BR) { - x = fixtoi(fixmul(itofix(ji_mouse_x(0) - mx), fixcos(angle))) - + fixtoi(fixmul(itofix(ji_mouse_y(0) - my),-fixsin(angle))); - y = fixtoi(fixmul(itofix(ji_mouse_x(0) - mx), fixsin(angle))) - + fixtoi(fixmul(itofix(ji_mouse_y(0) - my), fixcos(angle))); + x = fixtoi(fixmul(itofix(jmouse_x(0) - mx), fixcos(angle))) + + fixtoi(fixmul(itofix(jmouse_y(0) - my),-fixsin(angle))); + y = fixtoi(fixmul(itofix(jmouse_x(0) - mx), fixsin(angle))) + + fixtoi(fixmul(itofix(jmouse_y(0) - my), fixcos(angle))); } else x = y = 0; @@ -552,8 +552,8 @@ static bool interactive_transform(JWidget widget, case ACTION_ROTATE_BL: case ACTION_ROTATE_B: case ACTION_ROTATE_BR: - angle = fixatan2(itofix(ji_mouse_y(0)-cy), - itofix(ji_mouse_x(0)-cx)); + angle = fixatan2(itofix(jmouse_y(0)-cy), + itofix(jmouse_x(0)-cx)); angle &= 255<<16; angle = fixsub(0, angle); @@ -580,7 +580,7 @@ static bool interactive_transform(JWidget widget, } gui_feedback(); - } while (ji_mouse_b(0)); + } while (jmouse_b(0)); /* recenter the pivot (cx, cy) */ { @@ -778,8 +778,8 @@ static void fill_in_vars(int *in_box, int cx, int cy) { MATRIX m; - int mx = ji_mouse_x (0); - int my = ji_mouse_y (0); + int mx = jmouse_x(0); + int my = jmouse_y(0); fixed fx, fy, fz; get_rotation_matrix (&m, 0, 0, fixsub (0, angle)); @@ -802,11 +802,11 @@ static void update_status_bar(JWidget editor, Image *image, int u1, v1, u2, v2; int iangle = 360*(fixtoi (angle & (255<<16)))/256; - screen_to_editor (editor, x1, y1, &u1, &v1); - screen_to_editor (editor, x2, y2, &u2, &v2); + screen_to_editor(editor, x1, y1, &u1, &v1); + screen_to_editor(editor, x2, y2, &u2, &v2); status_bar_set_text - (app_get_status_bar (), 0, + (app_get_status_bar(), 0, "Pos: %3d %3d Size: %3d %3d Orig: %3d %3d (%.02f%% %.02f%%) Angle: %3d", u1, v1, u2-u1, v2-v1, image->w, image->h, @@ -814,6 +814,6 @@ static void update_status_bar(JWidget editor, Image *image, (double)(v2-v1)*100/image->h, iangle); - jwidget_flush_redraw (app_get_status_bar ()); - jmanager_dispatch_messages (); + jwidget_flush_redraw(app_get_status_bar()); + jmanager_dispatch_messages(); } diff --git a/src/util/misc.c b/src/util/misc.c index 6830f27fc..e8183e8b7 100644 --- a/src/util/misc.c +++ b/src/util/misc.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2001-2005 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -291,10 +291,10 @@ int interactive_move_layer (int mode, int use_undo, int (*callback) (void)) delay = MID (0, delay, 1000); delay = JI_TICKS_PER_SEC * delay / 1000; - hide_drawing_cursor (editor); - ji_mouse_set_cursor (JI_CURSOR_MOVE); + hide_drawing_cursor(editor); + jmouse_set_cursor(JI_CURSOR_MOVE); - editor_click_start (editor, mode, &start_x, &start_y, &start_b); + editor_click_start(editor, mode, &start_x, &start_y, &start_b); do { if (update) { @@ -302,21 +302,21 @@ int interactive_move_layer (int mode, int use_undo, int (*callback) (void)) frame->y = begin_y - start_y + new_y; /* update layer-bounds */ - scare_mouse (); - editor_update_layer_boundary (editor); - editor_draw_layer_boundary_safe (editor); - unscare_mouse (); + jmouse_hide(); + editor_update_layer_boundary(editor); + editor_draw_layer_boundary_safe(editor); + jmouse_show(); /* update status bar */ status_bar_set_text - (app_get_status_bar (), 0, + (app_get_status_bar(), 0, "Pos %3d %3d Offset %3d %3d", (int)frame->x, (int)frame->y, (int)(frame->x - begin_x), (int)(frame->y - begin_y)); - jwidget_flush_redraw (app_get_status_bar ()); - jmanager_dispatch_messages (); + jwidget_flush_redraw(app_get_status_bar()); + jmanager_dispatch_messages(); /* update clock */ quiet_clock = ji_clock; @@ -325,7 +325,7 @@ int interactive_move_layer (int mode, int use_undo, int (*callback) (void)) /* call the user's routine */ if (callback) { - if ((*callback) ()) + if ((*callback)()) quiet_clock = delay; } @@ -333,28 +333,28 @@ int interactive_move_layer (int mode, int use_undo, int (*callback) (void)) for some time */ if ((quiet_clock >= 0) && (ji_clock-quiet_clock >= delay)) { quiet_clock = -1; - jwidget_dirty (editor); - jwidget_flush_redraw (editor); - jmanager_dispatch_messages (); + jwidget_dirty(editor); + jwidget_flush_redraw(editor); + jmanager_dispatch_messages(); } - gui_feedback (); - } while (editor_click (editor, &new_x, &new_y, &update, NULL)); + gui_feedback(); + } while (editor_click(editor, &new_x, &new_y, &update, NULL)); /* the position was changed */ - if (!editor_click_cancel (editor)) { - if (use_undo && undo_is_enabled (sprite->undo)) { + if (!editor_click_cancel(editor)) { + if (use_undo && undo_is_enabled(sprite->undo)) { new_x = frame->x; new_y = frame->y; - undo_open (sprite->undo); + undo_open(sprite->undo); frame->x = begin_x; frame->y = begin_y; - undo_int (sprite->undo, (GfxObj *)frame, &frame->x); - undo_int (sprite->undo, (GfxObj *)frame, &frame->y); + undo_int(sprite->undo, (GfxObj *)frame, &frame->x); + undo_int(sprite->undo, (GfxObj *)frame, &frame->y); frame->x = new_x; frame->y = new_y; - undo_close (sprite->undo); + undo_close(sprite->undo); } ret = TRUE; @@ -371,9 +371,9 @@ int interactive_move_layer (int mode, int use_undo, int (*callback) (void)) GUI_Refresh(sprite); /* restore the cursor */ - show_drawing_cursor (editor); + show_drawing_cursor(editor); - editor_click_done (editor); + editor_click_done(editor); return ret; } diff --git a/src/util/recscr.c b/src/util/recscr.c index 83a79f97d..30b8df804 100644 --- a/src/util/recscr.c +++ b/src/util/recscr.c @@ -97,7 +97,7 @@ void rec_screen_on(void) old_bmp = NULL; /* set the position of the mouse in the center of the screen */ - ji_mouse_set_position (JI_SCREEN_W/2, JI_SCREEN_H/2); + jmouse_set_position(JI_SCREEN_W/2, JI_SCREEN_H/2); /* start the clock */ rec_clock = ji_clock; diff --git a/src/widgets/colbar.c b/src/widgets/colbar.c index cc977f8b3..d14f656b7 100644 --- a/src/widgets/colbar.c +++ b/src/widgets/colbar.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2001-2005 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -386,19 +386,19 @@ static bool color_bar_msg_proc (JWidget widget, JMessage msg) const char *src; char *dst; - while (ji_mouse_b (0)) - ji_mouse_poll (); + while (jmouse_b(0)) + jmouse_poll(); /* get the color from the table */ - src = color_bar_get_color (widget, num); + src = color_bar_get_color(widget, num); /* change this color with the color-select dialog */ - dst = ji_color_select (app_get_current_image_type (), src); + dst = ji_color_select(app_get_current_image_type(), src); /* set the color of the table */ if (dst) { - color_bar_set_color (widget, num, dst, FALSE); - jfree (dst); + color_bar_set_color(widget, num, dst, FALSE); + jfree(dst); } return TRUE; } diff --git a/src/widgets/curvedit.c b/src/widgets/curvedit.c index 9dbcbaeb2..9b393a0b3 100644 --- a/src/widgets/curvedit.c +++ b/src/widgets/curvedit.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2001-2005 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -172,8 +172,8 @@ static bool curve_editor_msg_proc (JWidget widget, JMessage msg) switch (msg->key.scancode) { case KEY_INSERT: { - int x = SCR2EDIT_X (ji_mouse_x (0)); - int y = SCR2EDIT_Y (ji_mouse_y (0)); + int x = SCR2EDIT_X (jmouse_x(0)); + int y = SCR2EDIT_Y (jmouse_y(0)); CurvePoint *point = curve_point_new (x, y); /* XXXX undo? */ @@ -187,12 +187,12 @@ static bool curve_editor_msg_proc (JWidget widget, JMessage msg) case KEY_DEL: { CurvePoint *point = curve_editor_get_more_close_point (widget, - SCR2EDIT_X (ji_mouse_x (0)), - SCR2EDIT_Y (ji_mouse_y (0)), + SCR2EDIT_X(jmouse_x(0)), + SCR2EDIT_Y(jmouse_y(0)), NULL, NULL); /* XXXX undo? */ - curve_remove_point (curve_editor->curve, point); + curve_remove_point(curve_editor->curve, point); jwidget_dirty (widget); jwidget_emit_signal (widget, SIGNAL_CURVE_EDITOR_CHANGE); @@ -269,12 +269,12 @@ static bool curve_editor_msg_proc (JWidget widget, JMessage msg) /* change scroll */ if (msg->any.shifts & KB_SHIFT_FLAG) { curve_editor->status = STATUS_SCROLLING; - ji_mouse_set_cursor (JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); } /* scaling */ /* else if (msg->shifts & KB_CTRL_FLAG) { */ /* curve_editor->status = STATUS_SCALING; */ -/* ji_mouse_set_cursor (JI_CURSOR_MOVE); */ +/* jmouse_set_cursor(JI_CURSOR_MOVE); */ /* } */ /* show manual-entry dialog */ else if (msg->mouse.right) { @@ -306,7 +306,7 @@ static bool curve_editor_msg_proc (JWidget widget, JMessage msg) &curve_editor->edit_y); curve_editor->status = STATUS_MOVING_POINT; - ji_mouse_set_cursor(JI_CURSOR_HAND); + jmouse_set_cursor(JI_CURSOR_HAND); } jwidget_capture_mouse(widget); @@ -321,12 +321,12 @@ static bool curve_editor_msg_proc (JWidget widget, JMessage msg) JRect vp = jview_get_viewport_position (view); int scroll_x, scroll_y; - jview_get_scroll (view, &scroll_x, &scroll_y); - jview_set_scroll (view, - scroll_x+ji_mouse_x (1)-ji_mouse_x (0), - scroll_y+ji_mouse_y (1)-ji_mouse_y (0)); + jview_get_scroll(view, &scroll_x, &scroll_y); + jview_set_scroll(view, + scroll_x+jmouse_x(1)-jmouse_x(0), + scroll_y+jmouse_y(1)-jmouse_y(0)); - ji_mouse_control_infinite_scroll (vp); + jmouse_control_infinite_scroll(vp); jrect_free (vp); break; } @@ -342,7 +342,7 @@ static bool curve_editor_msg_proc (JWidget widget, JMessage msg) /* scroll_x-(vp.x+vp.w/2), */ /* scroll_y-(vp.y+vp.h/2)); */ -/* ji_mouse_control_infinite_scroll (vp.x, vp.y, vp.w, vp.h); */ +/* jmouse_control_infinite_scroll(vp.x, vp.y, vp.w, vp.h); */ /* break; */ /* } */ @@ -400,19 +400,19 @@ static bool curve_editor_msg_proc (JWidget widget, JMessage msg) switch (curve_editor->status) { case STATUS_SCROLLING: - ji_mouse_set_cursor (JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); break; /* case STATUS_SCALING: */ -/* ji_mouse_set_cursor (JI_CURSOR_NORMAL); */ +/* jmouse_set_cursor(JI_CURSOR_NORMAL); */ /* break; */ case STATUS_MOVING_POINT: - ji_mouse_set_cursor (JI_CURSOR_NORMAL); - jwidget_emit_signal (widget, SIGNAL_CURVE_EDITOR_CHANGE); + jmouse_set_cursor(JI_CURSOR_NORMAL); + jwidget_emit_signal(widget, SIGNAL_CURVE_EDITOR_CHANGE); curve_editor->edit_point = NULL; - jwidget_dirty (widget); + jwidget_dirty(widget); break; } diff --git a/src/widgets/editor.h b/src/widgets/editor.h index 36c8db321..703862362 100644 --- a/src/widgets/editor.h +++ b/src/widgets/editor.h @@ -43,7 +43,7 @@ typedef struct Editor int cursor_editor_y; /* for the mouse */ - unsigned retarded_mouseenter : 1; + unsigned lagged_mouseenter : 1; /* offset for the sprite */ int offset_x; diff --git a/src/widgets/editor/click.c b/src/widgets/editor/click.c index 11f45dd06..a152627ff 100644 --- a/src/widgets/editor/click.c +++ b/src/widgets/editor/click.c @@ -56,9 +56,9 @@ void editor_click_start(JWidget widget, int mode, int *x, int *y, int *b) click_mode = mode; click_first = TRUE; - click_start_x = click_last_x = ji_mouse_x(0); - click_start_y = click_last_y = ji_mouse_y(0); - click_start_b = click_last_b = ji_mouse_b(0) ? ji_mouse_b(0): 1; + click_start_x = click_last_x = jmouse_x(0); + click_start_y = click_last_y = jmouse_y(0); + click_start_b = click_last_b = jmouse_b(0) ? jmouse_b(0): 1; click_prev_last_b = click_last_b; @@ -85,25 +85,25 @@ int editor_click(JWidget widget, int *x, int *y, int *update, if (click_mode == MODE_CLICKANDCLICK) { do { - ji_mouse_poll(); + jmouse_poll(); gui_feedback(); - } while (ji_mouse_b(0)); + } while (jmouse_b(0)); - ji_mouse_set_position(click_start_x, click_start_y); + jmouse_set_position(click_start_x, click_start_y); clear_keybuf(); } } - *update = ji_mouse_poll(); + *update = jmouse_poll(); if (!editor_cursor_is_subpixel(widget)) screen_to_editor(widget, click_last_x, click_last_y, &prev_x, &prev_y); click_prev_last_b = click_last_b; - click_last_x = ji_mouse_x(0); - click_last_y = ji_mouse_y(0); - click_last_b = ji_mouse_b(0); + click_last_x = jmouse_x(0); + click_last_y = jmouse_y(0); + click_last_b = jmouse_b(0); screen_to_editor(widget, click_last_x, click_last_y, x, y); @@ -113,7 +113,7 @@ int editor_click(JWidget widget, int *x, int *y, int *update, JRect vp = jview_get_viewport_position(view); /* update scroll */ - if (ji_mouse_control_infinite_scroll(vp)) { + if (jmouse_control_infinite_scroll(vp)) { int scroll_x, scroll_y; if (scroll_callback) @@ -121,27 +121,27 @@ int editor_click(JWidget widget, int *x, int *y, int *update, /* smooth scroll movement */ if (get_config_bool("Options", "MoveSmooth", TRUE)) { - ji_mouse_set_position(MID(vp->x1+1, click_last_x, vp->x2-2), - MID(vp->y1+1, click_last_y, vp->y2-2)); + jmouse_set_position(MID(vp->x1+1, click_last_x, vp->x2-2), + MID(vp->y1+1, click_last_y, vp->y2-2)); } /* this is better for high resolutions: scroll movement by big steps */ else { - ji_mouse_set_position((click_last_x != ji_mouse_x(0)) ? - (click_last_x + (vp->x1+vp->x2)/2)/2: ji_mouse_x(0), + jmouse_set_position((click_last_x != jmouse_x(0)) ? + (click_last_x + (vp->x1+vp->x2)/2)/2: jmouse_x(0), - (click_last_y != ji_mouse_y(0)) ? - (click_last_y + (vp->y1+vp->y2)/2)/2: ji_mouse_y(0)); + (click_last_y != jmouse_y(0)) ? + (click_last_y + (vp->y1+vp->y2)/2)/2: jmouse_y(0)); } jview_get_scroll(view, &scroll_x, &scroll_y); editor_set_scroll(widget, - scroll_x+click_last_x-ji_mouse_x(0), - scroll_y+click_last_y-ji_mouse_y(0), TRUE); + scroll_x+click_last_x-jmouse_x(0), + scroll_y+click_last_y-jmouse_y(0), TRUE); /* editor_refresh_region(widget); */ - click_last_x = ji_mouse_x(0); - click_last_y = ji_mouse_y(0); + click_last_x = jmouse_x(0); + click_last_y = jmouse_y(0); if (scroll_callback) (*scroll_callback)(FALSE); @@ -166,11 +166,11 @@ int editor_click(JWidget widget, int *x, int *y, int *update, click_prev_last_b = click_last_b; do { - ji_mouse_poll(); + jmouse_poll(); gui_feedback(); - } while (ji_mouse_b(0)); + } while (jmouse_b(0)); - ji_mouse_set_position(click_last_x, click_last_y); + jmouse_set_position(click_last_x, click_last_y); clear_keybuf(); return FALSE; @@ -185,7 +185,7 @@ int editor_click(JWidget widget, int *x, int *y, int *update, } } -int editor_click_cancel (JWidget widget) +int editor_click_cancel(JWidget widget) { return (click_start_b != click_prev_last_b); } diff --git a/src/widgets/editor/editor.c b/src/widgets/editor/editor.c index 461f35967..10055faf6 100644 --- a/src/widgets/editor/editor.c +++ b/src/widgets/editor/editor.c @@ -125,12 +125,12 @@ Sprite *editor_get_sprite(JWidget widget) return editor_data(widget)->sprite; } -void editor_set_sprite (JWidget widget, Sprite *sprite) +void editor_set_sprite(JWidget widget, Sprite *sprite) { Editor *editor = editor_data (widget); - if (jwidget_has_mouse (widget)) - jmanager_free_mouse (); + if (jwidget_has_mouse(widget)) + jmanager_free_mouse(); editor->sprite = sprite; if (editor->sprite) { @@ -147,7 +147,7 @@ void editor_set_sprite (JWidget widget, Sprite *sprite) editor_set_scroll(widget, 0, 0, FALSE); } - jwidget_dirty (widget); + jwidget_dirty(widget); } /* sets the scroll position of the editor */ @@ -159,8 +159,9 @@ void editor_set_scroll(JWidget widget, int x, int y, int use_refresh_region) JRegion region = NULL; int thick = editor->cursor_thick; - if (thick) + if (thick) { editor_clean_cursor(widget); + } if (use_refresh_region) { region = jwidget_get_drawable_region(widget, JI_GDR_CUTTOPWINDOWS); @@ -195,7 +196,7 @@ void editor_set_scroll(JWidget widget, int x, int y, int use_refresh_region) nrects = JI_REGION_NUM_RECTS(reg2); if (!thick) - scare_mouse(); + jmouse_hide(); /* blit directly screen to screen *************************************/ if (is_linear_bitmap(ji_screen) && nrects == 1) { @@ -231,7 +232,7 @@ void editor_set_scroll(JWidget widget, int x, int y, int use_refresh_region) } /**********************************************************************/ if (!thick) - unscare_mouse(); + jmouse_show(); /* if (editor->refresh_region) */ /* jregion_free(editor->refresh_region); */ @@ -261,14 +262,11 @@ void editor_set_scroll(JWidget widget, int x, int y, int use_refresh_region) /* } */ if (thick) { -/* int x, y; */ -/* editor_to_screen(widget, editor->cursor_x, editor->cursor_y, &x, &y); */ -/* editor_draw_cursor(widget, x, y); */ editor_draw_cursor(widget, editor->cursor_screen_x, editor->cursor_screen_y); } } -void editor_update (JWidget widget) +void editor_update(JWidget widget) { JWidget view = jwidget_get_view(widget); @@ -385,21 +383,21 @@ void editor_draw_sprite(JWidget widget, int x1, int y1, int x2, int y2) if (rendered) { #ifdef DRAWSPRITE_DOUBLEBUFFERED - BITMAP *bmp = create_bitmap (width, height); + BITMAP *bmp = create_bitmap(width, height); - use_current_sprite_rgb_map (); - image_to_allegro (rendered, bmp, 0, 0); - blit (bmp, ji_screen, 0, 0, dest_x, dest_y, width, height); - restore_rgb_map (); + use_current_sprite_rgb_map(); + image_to_allegro(rendered, bmp, 0, 0); + blit(bmp, ji_screen, 0, 0, dest_x, dest_y, width, height); + restore_rgb_map(); - image_free (rendered); - destroy_bitmap (bmp); + image_free(rendered); + destroy_bitmap(bmp); #else - use_current_sprite_rgb_map (); - image_to_allegro (rendered, ji_screen, dest_x, dest_y); - restore_rgb_map (); + use_current_sprite_rgb_map(); + image_to_allegro(rendered, ji_screen, dest_x, dest_y); + restore_rgb_map(); - image_free (rendered); + image_free(rendered); #endif } } @@ -506,7 +504,7 @@ void editor_draw_mask_safe(JWidget widget) if (thick) editor_clean_cursor(widget); else - scare_mouse(); + jmouse_hide(); for (c=0, rc=JI_REGION_RECTS(region); ccursor_x, editor->cursor_y, &x, &y); */ -/* editor_draw_cursor(widget, x, y); */ editor_draw_cursor(widget, editor->cursor_screen_x, editor->cursor_screen_y); } else - unscare_mouse(); + jmouse_show(); release_bitmap(ji_screen); @@ -704,17 +699,17 @@ void editor_draw_path(JWidget widget, int draw_extras) node = it->data; if (node->p) { - editor_to_screen (widget, node->px, node->py, &x1, &y1); - editor_to_screen (widget, node->x, node->y, &x2, &y2); + editor_to_screen(widget, node->px, node->py, &x1, &y1); + editor_to_screen(widget, node->x, node->y, &x2, &y2); - line (ji_screen, x1, y1, x2, y2, extras_color); + line(ji_screen, x1, y1, x2, y2, extras_color); } if (node->n) { - editor_to_screen (widget, node->x, node->y, &x1, &y1); - editor_to_screen (widget, node->nx, node->ny, &x2, &y2); + editor_to_screen(widget, node->x, node->y, &x1, &y1); + editor_to_screen(widget, node->nx, node->ny, &x2, &y2); - line (ji_screen, x1, y1, x2, y2, extras_color); + line(ji_screen, x1, y1, x2, y2, extras_color); } } @@ -723,13 +718,13 @@ void editor_draw_path(JWidget widget, int draw_extras) node = it->data; if (node->p) { - editor_to_screen (widget, node->px, node->py, &x1, &y1); - rectfill (ji_screen, x1-1, y1-1, x1, y1, extras_color); + editor_to_screen(widget, node->px, node->py, &x1, &y1); + rectfill(ji_screen, x1-1, y1-1, x1, y1, extras_color); } if (node->n) { - editor_to_screen (widget, node->nx, node->ny, &x1, &y1); - rectfill (ji_screen, x1-1, y1-1, x1, y1, extras_color); + editor_to_screen(widget, node->nx, node->ny, &x1, &y1); + rectfill(ji_screen, x1-1, y1-1, x1, y1, extras_color); } } @@ -737,8 +732,8 @@ void editor_draw_path(JWidget widget, int draw_extras) for (it=sprite->path->nodes; it; it=it->next) { node = it->data; - editor_to_screen (widget, node->x, node->y, &x1, &y1); - rectfill (ji_screen, x1-1, y1-1, x1+1, y1+1, extras_color); + editor_to_screen(widget, node->x, node->y, &x1, &y1); + rectfill(ji_screen, x1-1, y1-1, x1+1, y1+1, extras_color); } } } @@ -794,32 +789,32 @@ void editor_to_screen(JWidget widget, int xin, int yin, int *xout, int *yout) void show_drawing_cursor(JWidget widget) { - ji_mouse_set_cursor (JI_CURSOR_NULL); + jmouse_set_cursor(JI_CURSOR_NULL); - if (!editor_data (widget)->cursor_thick) { - scare_mouse(); - editor_draw_cursor(widget, ji_mouse_x(0), ji_mouse_y(0)); - unscare_mouse(); + if (!editor_data(widget)->cursor_thick) { + jmouse_hide(); + editor_draw_cursor(widget, jmouse_x(0), jmouse_y(0)); + jmouse_show(); } } void hide_drawing_cursor(JWidget widget) { - if (editor_data (widget)->cursor_thick) { - scare_mouse (); - editor_clean_cursor (widget); - unscare_mouse (); + if (editor_data(widget)->cursor_thick) { + jmouse_hide(); + editor_clean_cursor(widget); + jmouse_show(); } - ji_mouse_set_cursor (JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); } void editor_update_status_bar_for_standby(JWidget widget) { - Editor *editor = editor_data (widget); + Editor *editor = editor_data(widget); int x, y; - screen_to_editor (widget, ji_mouse_x (0), ji_mouse_y (0), &x, &y); + screen_to_editor (widget, jmouse_x(0), jmouse_y(0), &x, &y); status_bar_set_text (app_get_status_bar (), 0, "%s %3d %3d (%s %3d %3d) [%s %d]", @@ -846,7 +841,7 @@ void editor_refresh_region(JWidget widget) if (thick) editor_clean_cursor(widget); else - scare_mouse(); + jmouse_hide(); /* XXXX check if this work!!!! */ /* jwidget_redraw_region */ @@ -862,13 +857,10 @@ void editor_refresh_region(JWidget widget) /* } */ if (thick) { -/* int x, y; */ -/* editor_to_screen(widget, editor->cursor_x, editor->cursor_y, &x, &y); */ -/* editor_draw_cursor(widget, x, y); */ editor_draw_cursor(widget, editor->cursor_screen_x, editor->cursor_screen_y); } else - unscare_mouse(); + jmouse_show(); } } @@ -1013,9 +1005,6 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) editor_draw_mask(widget); if (editor->cursor_thick && !msg->draw.count) { -/* int x, y; */ -/* editor_to_screen(widget, editor->cursor_x, editor->cursor_y, &x, &y); */ -/* editor_draw_cursor(widget, x, y); */ editor_draw_cursor(widget, editor->cursor_screen_x, editor->cursor_screen_y); } } @@ -1029,12 +1018,12 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) /* if (current_tool == &ase_tool_path) { */ /* if (editor->cursor_thick) { */ /* hide_drawing_cursor (widget); */ -/* ji_mouse_set_cursor (JI_CURSOR_NORMAL); */ +/* jmouse_set_cursor(JI_CURSOR_NORMAL); */ /* } */ /* } */ /* else { */ /* if (!editor->cursor_thick) { */ -/* ji_mouse_set_cursor (JI_CURSOR_NULL); */ +/* jmouse_set_cursor(JI_CURSOR_NULL); */ /* show_drawing_cursor (widget); */ /* } */ /* } */ @@ -1043,10 +1032,6 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) /* Redraw cursor when the user changes the brush size. */ if ((editor->cursor_thick) && (editor->cursor_thick != get_thickness_for_cursor())) { -/* int x, y; */ -/* editor_to_screen(widget, editor->cursor_x, editor->cursor_y, &x, &y); */ -/* editor_clean_cursor(widget); */ -/* editor_draw_cursor(widget, x, y); */ editor_clean_cursor(widget); editor_draw_cursor(widget, editor->cursor_screen_x, editor->cursor_screen_y); } @@ -1058,7 +1043,7 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) case JM_MOUSEENTER: if (jmanager_get_capture() && jmanager_get_capture() != widget) { - editor->retarded_mouseenter = TRUE; + editor->lagged_mouseenter = TRUE; break; } @@ -1074,7 +1059,7 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) break; case JM_MOUSELEAVE: - editor->retarded_mouseenter = FALSE; + editor->lagged_mouseenter = FALSE; if (jmanager_get_capture() && jmanager_get_capture() != widget) @@ -1086,7 +1071,7 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) if (editor->state == EDIT_MOVING_SCROLL) break; - hide_drawing_cursor (widget); + hide_drawing_cursor(widget); break; case JM_BUTTONPRESSED: { @@ -1096,9 +1081,9 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) if (!editor->sprite) break; - /* retarded MOUSEENTER event */ - if (editor->retarded_mouseenter) { - editor->retarded_mouseenter = FALSE; + /* lagged MOUSEENTER event */ + if (editor->lagged_mouseenter) { + editor->lagged_mouseenter = FALSE; show_drawing_cursor(widget); } @@ -1108,7 +1093,7 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) editor->state = EDIT_MOVING_SCROLL; hide_drawing_cursor(widget); - ji_mouse_set_cursor(JI_CURSOR_MOVE); + jmouse_set_cursor(JI_CURSOR_MOVE); } /* move frames position */ else if (msg->mouse.left && has_only_shifts(msg, KB_CTRL_FLAG)) { @@ -1129,17 +1114,17 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) } /* set capture */ - jwidget_capture_mouse (widget); + jwidget_capture_mouse(widget); } case JM_MOTION: { if (!editor->sprite) break; - /* retarded MOUSEENTER event */ - if (editor->retarded_mouseenter) { - editor->retarded_mouseenter = FALSE; - show_drawing_cursor (widget); + /* lagged MOUSEENTER event */ + if (editor->lagged_mouseenter) { + editor->lagged_mouseenter = FALSE; + show_drawing_cursor(widget); } /* move the scroll */ @@ -1150,25 +1135,24 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) jview_get_scroll(view, &scroll_x, &scroll_y); editor_set_scroll(widget, - scroll_x+ji_mouse_x (1)-ji_mouse_x (0), - scroll_y+ji_mouse_y (1)-ji_mouse_y (0), TRUE); + scroll_x+jmouse_x(1)-jmouse_x(0), + scroll_y+jmouse_y(1)-jmouse_y(0), TRUE); - ji_mouse_control_infinite_scroll (vp); - jrect_free (vp); + jmouse_control_infinite_scroll(vp); + jrect_free(vp); } /* draw */ else if (editor->state == EDIT_DRAWING) { - JWidget color_bar = app_get_color_bar (); + JWidget color_bar = app_get_color_bar(); const char *color; - color = color_bar_get_color (color_bar, msg->mouse.left ? 0: 1); + color = color_bar_get_color(color_bar, msg->mouse.left ? 0: 1); /* call the tool-control routine */ - control_tool (widget, current_tool, color); + control_tool(widget, current_tool, color); editor->state = EDIT_STANDBY; - - jwidget_release_mouse (widget); + jwidget_release_mouse(widget); } /* Draw cursor */ @@ -1177,18 +1161,18 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) /* Get the pixel position corresponding to the mouse position. */ -/* screen_to_editor(widget, ji_mouse_x(0), ji_mouse_y(0), &x, &y); */ - x = ji_mouse_x(0); - y = ji_mouse_y(0); +/* screen_to_editor(widget, jmouse_x(0), jmouse_y(0), &x, &y); */ + x = jmouse_x(0); + y = jmouse_y(0); /* Redraw it only when the mouse change to other pixel (not when the mouse moves only). */ /* if ((editor->cursor_x != x) || (editor->cursor_y != y)) { */ if ((editor->cursor_screen_x != x) || (editor->cursor_screen_y != y)) { - scare_mouse(); + jmouse_hide(); editor_clean_cursor(widget); - editor_draw_cursor(widget, ji_mouse_x(0), ji_mouse_y(0)); - unscare_mouse(); + editor_draw_cursor(widget, jmouse_x(0), jmouse_y(0)); + jmouse_show(); } } @@ -1198,7 +1182,7 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) } else if (editor->state == EDIT_MOVING_SCROLL) { int x, y; - screen_to_editor(widget, ji_mouse_x (0), ji_mouse_y (0), &x, &y); + screen_to_editor(widget, jmouse_x(0), jmouse_y(0), &x, &y); status_bar_set_text(app_get_status_bar (), 0, "Pos %3d %3d (Size %3d %3d)", x, y, editor->sprite->w, editor->sprite->h); @@ -1214,11 +1198,10 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) jmanager_free_mouse(); /* change mouse cursor */ - ji_mouse_set_cursor(JI_CURSOR_NORMAL); + jmouse_set_cursor(JI_CURSOR_NORMAL); } - + editor->state = EDIT_STANDBY; - jwidget_release_mouse(widget); return TRUE; } @@ -1233,13 +1216,11 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) return TRUE; case JM_WHEEL: - { - Editor *editor = editor_data (widget); - + if (editor->state == EDIT_STANDBY) { /* there are and sprite in the editor, there is the mouse inside*/ if (editor->sprite && jwidget_has_mouse(widget)) { - int dz = ji_mouse_z(1) - ji_mouse_z(0); + int dz = jmouse_z(1) - jmouse_z(0); /* with the ALT */ if (has_only_shifts(msg, KB_ALT_FLAG)) { @@ -1256,7 +1237,7 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) /* XXXX: este pedazo de código es igual que el de la rutina: editor_keys_toset_zoom, tengo que intentar unir ambos, alguna función como: editor_set_zoom_and_center_in_mouse */ - screen_to_editor(widget, ji_mouse_x(0), ji_mouse_y(0), &x, &y); + screen_to_editor(widget, jmouse_x(0), jmouse_y(0), &x, &y); x = editor->offset_x - jrect_w(vp)/2 + ((1<>1) + (x << zoom); y = editor->offset_y - jrect_h(vp)/2 + ((1<>1) + (y << zoom); @@ -1270,7 +1251,7 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) editor_update(widget); editor_set_scroll(widget, x, y, use_refresh_region); - ji_mouse_set_position((vp->x1+vp->x2)/2, (vp->y1+vp->y2)/2); + jmouse_set_position((vp->x1+vp->x2)/2, (vp->y1+vp->y2)/2); } } @@ -1299,11 +1280,11 @@ static bool editor_msg_proc (JWidget widget, JMessage msg) jview_get_scroll(view, &scroll_x, &scroll_y); - scare_mouse(); + jmouse_hide(); editor_clean_cursor(widget); editor_set_scroll(widget, scroll_x+dx, scroll_y+dy, TRUE); - editor_draw_cursor(widget, ji_mouse_x(0), ji_mouse_y(0)); - unscare_mouse(); + editor_draw_cursor(widget, jmouse_x(0), jmouse_y(0)); + jmouse_show(); jrect_free(vp); } diff --git a/src/widgets/editor/keys.c b/src/widgets/editor/keys.c index 305c3c1ed..17a0ae6da 100644 --- a/src/widgets/editor/keys.c +++ b/src/widgets/editor/keys.c @@ -66,7 +66,7 @@ int editor_keys_toset_zoom(JWidget widget, int scancode) /* zoom */ if (zoom >= 0) { - screen_to_editor(widget, ji_mouse_x(0), ji_mouse_y(0), &x, &y); + screen_to_editor(widget, jmouse_x(0), jmouse_y(0), &x, &y); x = editor->offset_x - jrect_w(vp)/2 + ((1<>1) + (x << zoom); y = editor->offset_y - jrect_h(vp)/2 + ((1<>1) + (y << zoom); @@ -81,7 +81,7 @@ int editor_keys_toset_zoom(JWidget widget, int scancode) editor_update(widget); editor_set_scroll(widget, x, y, use_refresh_region); - ji_mouse_set_position((vp->x1+vp->x2)/2, (vp->y1+vp->y2)/2); + jmouse_set_position((vp->x1+vp->x2)/2, (vp->y1+vp->y2)/2); jrect_free(vp); return TRUE; } @@ -180,7 +180,7 @@ int editor_keys_toget_pixels(JWidget widget, int scancode) int x, y; /* pixel position to get */ - screen_to_editor(widget, ji_mouse_x(0), ji_mouse_y(0), &x, &y); + screen_to_editor(widget, jmouse_x(0), jmouse_y(0), &x, &y); /* get the color from the image */ color = color_from_image(editor->sprite->imgtype, diff --git a/src/widgets/statebar.c b/src/widgets/statebar.c index 6cf02bab5..8b7846937 100644 --- a/src/widgets/statebar.c +++ b/src/widgets/statebar.c @@ -1,5 +1,5 @@ /* ase -- allegro-sprite-editor: the ultimate sprites factory - * Copyright (C) 2001-2005 David A. Capello + * Copyright (C) 2001-2005, 2007 David A. Capello * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -51,32 +51,32 @@ enum { ACTION_LAST, }; -static bool status_bar_msg_proc (JWidget widget, JMessage msg); +static bool status_bar_msg_proc(JWidget widget, JMessage msg); -static int slider_change_signal (JWidget widget, int user_data); -static void button_command (JWidget widget, void *data); +static int slider_change_signal(JWidget widget, int user_data); +static void button_command(JWidget widget, void *data); -static void update_from_layer (StatusBar *status_bar); +static void update_from_layer(StatusBar *status_bar); -static void play_animation (void); +static void play_animation(void); -JWidget status_bar_new (void) +JWidget status_bar_new(void) { #define BUTTON_NEW(name, text, data) \ - (name) = jbutton_new (text); \ + (name) = jbutton_new(text); \ (name)->user_data[0] = status_bar; \ - jbutton_add_command_data ((name), button_command, (void *)(data)); + jbutton_add_command_data((name), button_command, (void *)(data)); #define ICON_NEW(name, icon, action) \ - BUTTON_NEW ((name), NULL, (action)); \ - add_gfxicon_to_button ((name), (icon), JI_CENTER | JI_MIDDLE); + BUTTON_NEW((name), NULL, (action)); \ + add_gfxicon_to_button((name), (icon), JI_CENTER | JI_MIDDLE); - JWidget widget = jwidget_new (status_bar_type ()); - StatusBar *status_bar = jnew (StatusBar, 1); + JWidget widget = jwidget_new(status_bar_type()); + StatusBar *status_bar = jnew(StatusBar, 1); - jwidget_add_hook (widget, status_bar_type (), - status_bar_msg_proc, status_bar); - jwidget_focusrest (widget, TRUE); + jwidget_add_hook(widget, status_bar_type(), + status_bar_msg_proc, status_bar); + jwidget_focusrest(widget, TRUE); { JWidget box1, box2; @@ -91,27 +91,27 @@ JWidget status_bar_new (void) box2 = jbox_new (JI_HORIZONTAL | JI_HOMOGENEOUS); BUTTON_NEW (status_bar->b_layer, "*Current Layer*", ACTION_LAYER); status_bar->slider = jslider_new (0, 255, 255); - ICON_NEW (status_bar->b_first, GFX_ANI_FIRST, ACTION_FIRST); - ICON_NEW (status_bar->b_prev, GFX_ANI_PREV, ACTION_PREV); - ICON_NEW (status_bar->b_play, GFX_ANI_PLAY, ACTION_PLAY); - ICON_NEW (status_bar->b_next, GFX_ANI_NEXT, ACTION_NEXT); - ICON_NEW (status_bar->b_last, GFX_ANI_LAST, ACTION_LAST); + ICON_NEW(status_bar->b_first, GFX_ANI_FIRST, ACTION_FIRST); + ICON_NEW(status_bar->b_prev, GFX_ANI_PREV, ACTION_PREV); + ICON_NEW(status_bar->b_play, GFX_ANI_PLAY, ACTION_PLAY); + ICON_NEW(status_bar->b_next, GFX_ANI_NEXT, ACTION_NEXT); + ICON_NEW(status_bar->b_last, GFX_ANI_LAST, ACTION_LAST); - HOOK (status_bar->slider, JI_SIGNAL_SLIDER_CHANGE, slider_change_signal, 0); - jwidget_set_static_size (status_bar->slider, JI_SCREEN_W/5, 0); + HOOK(status_bar->slider, JI_SIGNAL_SLIDER_CHANGE, slider_change_signal, 0); + jwidget_set_static_size(status_bar->slider, JI_SCREEN_W/5, 0); - jwidget_noborders (box1); - jwidget_noborders (box2); + jwidget_noborders(box1); + jwidget_noborders(box2); - jwidget_expansive (status_bar->b_layer, TRUE); - jwidget_add_child (box1, status_bar->b_layer); - jwidget_add_child (box1, status_bar->slider); - jwidget_add_child (box2, status_bar->b_first); - jwidget_add_child (box2, status_bar->b_prev); - jwidget_add_child (box2, status_bar->b_play); - jwidget_add_child (box2, status_bar->b_next); - jwidget_add_child (box2, status_bar->b_last); - jwidget_add_child (box1, box2); + jwidget_expansive(status_bar->b_layer, TRUE); + jwidget_add_child(box1, status_bar->b_layer); + jwidget_add_child(box1, status_bar->slider); + jwidget_add_child(box2, status_bar->b_first); + jwidget_add_child(box2, status_bar->b_prev); + jwidget_add_child(box2, status_bar->b_play); + jwidget_add_child(box2, status_bar->b_next); + jwidget_add_child(box2, status_bar->b_last); + jwidget_add_child(box1, box2); status_bar->commands_box = box1; } @@ -119,20 +119,20 @@ JWidget status_bar_new (void) return widget; } -int status_bar_type (void) +int status_bar_type(void) { static int type = 0; if (!type) - type = ji_register_widget_type (); + type = ji_register_widget_type(); return type; } -StatusBar *status_bar_data (JWidget widget) +StatusBar *status_bar_data(JWidget widget) { - return jwidget_get_data (widget, status_bar_type ()); + return jwidget_get_data(widget, status_bar_type()); } -void status_bar_set_text (JWidget widget, int msecs, const char *format, ...) +void status_bar_set_text(JWidget widget, int msecs, const char *format, ...) { StatusBar *status_bar = status_bar_data (widget); @@ -153,7 +153,7 @@ void status_bar_set_text (JWidget widget, int msecs, const char *format, ...) } } -void status_bar_do_progress (JWidget widget, int progress) +void status_bar_do_progress(JWidget widget, int progress) { StatusBar *status_bar = status_bar_data(widget); int n = status_bar->nprogress-1; @@ -168,7 +168,7 @@ void status_bar_do_progress (JWidget widget, int progress) } } -void status_bar_add_progress (JWidget widget, int max) +void status_bar_add_progress(JWidget widget, int max) { StatusBar *status_bar = status_bar_data(widget); int n = status_bar->nprogress++; @@ -179,7 +179,7 @@ void status_bar_add_progress (JWidget widget, int max) jwidget_dirty(widget); } -void status_bar_del_progress (JWidget widget) +void status_bar_del_progress(JWidget widget) { StatusBar *status_bar = status_bar_data (widget); @@ -197,37 +197,37 @@ void status_bar_del_progress (JWidget widget) status_bar->nprogress--; } -void status_bar_update (JWidget widget) +void status_bar_update(JWidget widget) { StatusBar *status_bar = status_bar_data (widget); update_from_layer (status_bar); } -static bool status_bar_msg_proc (JWidget widget, JMessage msg) +static bool status_bar_msg_proc(JWidget widget, JMessage msg) { - StatusBar *status_bar = status_bar_data (widget); + StatusBar *status_bar = status_bar_data(widget); switch (msg->type) { case JM_DESTROY: - jfree (status_bar); + jfree(status_bar); break; case JM_REQSIZE: msg->reqsize.w = msg->reqsize.h = - 2 + jwidget_get_text_height (widget) + 2; + 2 + jwidget_get_text_height(widget) + 2; return TRUE; case JM_SETPOS: - jrect_copy (widget->rc, &msg->setpos.rect); - jwidget_set_rect (status_bar->commands_box, widget->rc); + jrect_copy(widget->rc, &msg->setpos.rect); + jwidget_set_rect(status_bar->commands_box, widget->rc); return TRUE; case JM_CLOSE: - if (!jwidget_has_child (widget, status_bar->commands_box)) { + if (!jwidget_has_child(widget, status_bar->commands_box)) { /* append the "commands_box" to destroy it in the jwidget_free */ - jwidget_add_child (widget, status_bar->commands_box); + jwidget_add_child(widget, status_bar->commands_box); } break; @@ -341,7 +341,7 @@ static bool status_bar_msg_proc (JWidget widget, JMessage msg) return FALSE; } -static int slider_change_signal (JWidget widget, int user_data) +static int slider_change_signal(JWidget widget, int user_data) { Sprite *sprite = current_sprite; @@ -363,7 +363,7 @@ static int slider_change_signal (JWidget widget, int user_data) return FALSE; } -static void button_command (JWidget widget, void *data) +static void button_command(JWidget widget, void *data) { Sprite *sprite = current_sprite; @@ -373,7 +373,7 @@ static void button_command (JWidget widget, void *data) switch ((int)data) { case ACTION_LAYER: - do_script_expr ("GUI_LayerProperties ()"); + do_script_expr("GUI_LayerProperties()"); break; case ACTION_FIRST: @@ -406,7 +406,7 @@ static void button_command (JWidget widget, void *data) } } -static void update_from_layer (StatusBar *status_bar) +static void update_from_layer(StatusBar *status_bar) { Sprite *sprite = current_sprite; Frame *frame; @@ -458,7 +458,7 @@ static void play_animation(void) if (sprite->frames < 2) return; - scare_mouse(); + jmouse_hide(); old_frpos = sprite->frpos; @@ -510,5 +510,5 @@ static void play_animation(void) clear_keybuf(); remove_int(speed_timer_callback); - unscare_mouse(); + jmouse_show(); }