js: Use current_key_label() to label feature phone softkeys

This commit is contained in:
Ben Harris
2022-12-05 01:16:16 +00:00
parent e5604ccf37
commit 420663d477
3 changed files with 21 additions and 1 deletions

3
emcc.c
View File

@ -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));
}
/*

View File

@ -220,6 +220,21 @@ mergeInto(LibraryManager.library, {
disable_menu_item(redo_button, (redo == 0));
},
/*
* 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();
*

View File

@ -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>