aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Harris <bjh21@bjh21.me.uk>2022-12-05 01:16:16 +0000
committerBen Harris <bjh21@bjh21.me.uk>2023-01-19 20:34:48 +0000
commit420663d47790a7e34a1662d679a0c00efdb5b7e5 (patch)
treef7a43d6b33fdcbb66fa9c5fd80b9105039d525c3
parente5604ccf374f5f586bd933413d33fac8b26a16d5 (diff)
downloadpuzzles-420663d47790a7e34a1662d679a0c00efdb5b7e5.zip
puzzles-420663d47790a7e34a1662d679a0c00efdb5b7e5.tar.gz
puzzles-420663d47790a7e34a1662d679a0c00efdb5b7e5.tar.bz2
puzzles-420663d47790a7e34a1662d679a0c00efdb5b7e5.tar.xz
js: Use current_key_label() to label feature phone softkeys
-rw-r--r--emcc.c3
-rw-r--r--emcclib.js15
-rwxr-xr-xkaios/apppage.pl4
3 files changed, 21 insertions, 1 deletions
diff --git a/emcc.c b/emcc.c
index 40373d2..def12ac 100644
--- a/emcc.c
+++ b/emcc.c
@@ -56,6 +56,7 @@ extern void js_set_background_colour(const char *bg);
extern void js_get_date_64(unsigned *p);
extern void js_update_permalinks(const char *desc, const char *seed);
extern void js_enable_undo_redo(bool undo, bool redo);
+extern void js_update_key_labels(const char *lsk, const char *csk);
extern void js_activate_timer();
extern void js_deactivate_timer();
extern void js_canvas_start_draw(void);
@@ -247,6 +248,8 @@ void frontend_default_colour(frontend *fe, float *output)
static void post_move(void)
{
js_enable_undo_redo(midend_can_undo(me), midend_can_redo(me));
+ js_update_key_labels(midend_current_key_label(me, CURSOR_SELECT2),
+ midend_current_key_label(me, CURSOR_SELECT));
}
/*
diff --git a/emcclib.js b/emcclib.js
index cee6d85..98c20f6 100644
--- a/emcclib.js
+++ b/emcclib.js
@@ -221,6 +221,21 @@ mergeInto(LibraryManager.library, {
},
/*
+ * void js_enable_undo_redo(bool undo, bool redo);
+ *
+ * Update any labels for the SoftLeft and Enter keys.
+ */
+ js_update_key_labels: function(lsk_ptr, csk_ptr) {
+ var elem;
+ var lsk_text = UTF8ToString(lsk_ptr);
+ var csk_text = UTF8ToString(csk_ptr);
+ for (elem of document.querySelectorAll("#puzzle .lsk"))
+ elem.textContent = lsk_text == csk_text ? "" : lsk_text;
+ for (elem of document.querySelectorAll("#puzzle .csk"))
+ elem.textContent = csk_text;
+ },
+
+ /*
* void js_activate_timer();
*
* Start calling the C timer_callback() function every frame.
diff --git a/kaios/apppage.pl b/kaios/apppage.pl
index ecdffbc..f217643 100755
--- a/kaios/apppage.pl
+++ b/kaios/apppage.pl
@@ -293,7 +293,9 @@ body {
</div>
<div id="statusbar">
</div>
- <div class="softkey"><div class="rsk">Menu</div></div>
+ <div class="softkey">
+ <div class="lsk"></div><div class="csk"></div>
+ <div class="rsk">Menu</div></div>
</div>
<form id="gamemenu" class="transient">
<ul>