summaryrefslogtreecommitdiff
path: root/atari/gemtk/guiwin.c
diff options
context:
space:
mode:
authorOle Loots <ole@monochrom.net>2013-01-22 22:28:20 +0100
committerOle Loots <ole@monochrom.net>2013-01-22 22:28:20 +0100
commit577ff3cffc5fb99041c5da2d828b1f25cfb13dc9 (patch)
treee9d187909281089c7e18cf84ef778a69af006f6b /atari/gemtk/guiwin.c
parent985e4ce6be424aec5e797d92c09e0ee22cde7874 (diff)
downloadnetsurf-577ff3cffc5fb99041c5da2d828b1f25cfb13dc9.tar.gz
netsurf-577ff3cffc5fb99041c5da2d828b1f25cfb13dc9.tar.bz2
The Window toolbar now have independet AES objects,
which means no state restore is required before redraw.
Diffstat (limited to 'atari/gemtk/guiwin.c')
-rw-r--r--atari/gemtk/guiwin.c32
1 files changed, 21 insertions, 11 deletions
diff --git a/atari/gemtk/guiwin.c b/atari/gemtk/guiwin.c
index 9dc3868a9..95e9b085c 100644
--- a/atari/gemtk/guiwin.c
+++ b/atari/gemtk/guiwin.c
@@ -476,17 +476,8 @@ static short preproc_mu_keybd(GUIWIN * gw, EVMULT_OUT *ev_out, short msg[8])
if (next_edit_obj != gw->toolbar_edit_obj) {
- if(gw->toolbar_edit_obj != -1) {
- objc_wedit(gw->toolbar, gw->toolbar_edit_obj,
- ev_out->emo_kreturn, &edit_idx,
- EDEND, gw->handle);
- }
-
- gw->toolbar_edit_obj = next_edit_obj;
-
- objc_wedit(gw->toolbar, gw->toolbar_edit_obj,
- ev_out->emo_kreturn, &edit_idx,
- EDINIT, gw->handle);
+ gemtk_wm_set_toolbar_edit_obj(gw, next_edit_obj,
+ ev_out->emo_kreturn);
} else {
if(next_char > 13)
r = objc_wedit(gw->toolbar, gw->toolbar_edit_obj,
@@ -999,6 +990,25 @@ void gemtk_wm_set_toolbar_size(GUIWIN *win, uint16_t s)
win->toolbar_size = s;
}
+/** Set the current active edit object */
+void gemtk_wm_set_toolbar_edit_obj(GUIWIN *win, uint16_t obj, short kreturn)
+{
+ short edit_idx;
+
+ if (obj != win->toolbar_edit_obj) {
+
+ if(win->toolbar_edit_obj != -1) {
+ objc_wedit(win->toolbar, win->toolbar_edit_obj, kreturn, &edit_idx,
+ EDEND, win->handle);
+ }
+
+ win->toolbar_edit_obj = obj;
+
+ objc_wedit(win->toolbar, win->toolbar_edit_obj, kreturn, &edit_idx,
+ EDINIT, win->handle);
+ }
+}
+
/** Set an custom toolbar redraw function which is called instead of
* default drawing routine.
* \param win the GUIWIN