diff --git a/pd/nw/pd_canvas.js b/pd/nw/pd_canvas.js index 015280a6a3a8fedb0f3751b2311ff1f90e3b0a36..66703788384a84f96975f317ce3500721fcb28c1 100644 --- a/pd/nw/pd_canvas.js +++ b/pd/nw/pd_canvas.js @@ -800,7 +800,7 @@ var canvas_events = (function() { ascii_art: function() { set_edit_menu_modals(false); canvas_events.none(); - document.addEventListener("keyup", events.check_ascii_art_state, false); + document.getElementById("ascii_art_text_area").addEventListener("input", events.check_ascii_art_state); state = "ascii_art"; }, register: function(n) { diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js index 41f9ca7136fb80f0cfc17eedda45441dd75e473c..3039a3b9c8de57e099dcf57a7695a4fee46a029f 100644 --- a/pd/nw/pdgui.js +++ b/pd/nw/pdgui.js @@ -1167,6 +1167,25 @@ function menu_quit() { exports.menu_quit = menu_quit; +function ascii_entry_callback(textarea_state) +{ + var ascii_art = w.document.getElementById("ascii_art"), + ascii_art_text_area = w.document.getElementById("ascii_art_text_area"); + + if (textarea_state == 1) { + alert("hi"); + ascii_art.style.setProperty("display", "inline"); + ascii_art_text_area.focus(); + ascii_art_text_area.select(); + w.canvas_events.ascii_art(); + } else { + ascii_art_text_area.value = "write your ascii art here"; + ascii_art.style.setProperty("display", "none"); + w.canvas_events[canvas_events.get_previous_state()](); + } + +} + var nw_app_quit; function app_quit() { diff --git a/pd/src/m_glob.c b/pd/src/m_glob.c index b3ed14c9fe2315bc46b184112ffadfe20bfd95c1..6fe7253ebe111e8e6b12b2174739f0766da4e487 100644 --- a/pd/src/m_glob.c +++ b/pd/src/m_glob.c @@ -101,6 +101,12 @@ static void glob_gui_properties(t_pd *dummy) sys_autopatch_yoffset); } +//To enter or show ascii_art +extern void glob_ascii_entry(int textarea_state) +{ + gui_vmess("ascii_entry_callback", textarea_state); +} + // ths one lives inside g_editor so that it can access the clipboard extern void glob_clipboard_text(t_pd *dummy, float f); @@ -193,6 +199,8 @@ void glob_init(void) gensym("add-recent-file"), A_SYMBOL, 0); class_addmethod(glob_pdobject, (t_method)glob_clear_recent_files, gensym("clear-recent-files"), 0); + class_addmethod(glob_pdobject, (t_method)glob_ascii_entry, + gensym("toggle-ascii-entry"), 0); #ifdef UNIX class_addmethod(glob_pdobject, (t_method)glob_watchdog, gensym("watchdog"), 0);