mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-20 23:51:29 -07:00
js: Put the puzzle background colour in a CSS variable
It's sometimes useful to be able to have an HTML element that visually forms an extension of the puzzle's border. By putting the puzzle's colour 0 (which we assume to be its background) into a CSS variable, such elements can do something like "background-color: var(--puzzle-background)" to get that effect even if the puzzle uses a non-default background colour.
This commit is contained in:
3
emcc.c
3
emcc.c
@ -51,6 +51,7 @@ extern void js_add_preset(int menuid, const char *name, int value);
|
|||||||
extern int js_add_preset_submenu(int menuid, const char *name);
|
extern int js_add_preset_submenu(int menuid, const char *name);
|
||||||
extern int js_get_selected_preset(void);
|
extern int js_get_selected_preset(void);
|
||||||
extern void js_select_preset(int n);
|
extern void js_select_preset(int n);
|
||||||
|
extern void js_set_background_colour(const char *bg);
|
||||||
extern void js_get_date_64(unsigned *p);
|
extern void js_get_date_64(unsigned *p);
|
||||||
extern void js_update_permalinks(const char *desc, const char *seed);
|
extern void js_update_permalinks(const char *desc, const char *seed);
|
||||||
extern void js_enable_undo_redo(bool undo, bool redo);
|
extern void js_enable_undo_redo(bool undo, bool redo);
|
||||||
@ -1007,6 +1008,8 @@ int main(int argc, char **argv)
|
|||||||
(unsigned)(0.5 + 255 * colours[i*3+2]));
|
(unsigned)(0.5 + 255 * colours[i*3+2]));
|
||||||
colour_strings[i] = dupstr(col);
|
colour_strings[i] = dupstr(col);
|
||||||
}
|
}
|
||||||
|
/* Put the background colour in a CSS variable. */
|
||||||
|
js_set_background_colour(colour_strings[0]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Request notification when the game ids change (e.g. if the user
|
* Request notification when the game ids change (e.g. if the user
|
||||||
|
11
emcclib.js
11
emcclib.js
@ -143,6 +143,17 @@ mergeInto(LibraryManager.library, {
|
|||||||
menuform.elements["preset"].value = n;
|
menuform.elements["preset"].value = n;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* void js_set_background_colour(const char *bg);
|
||||||
|
*
|
||||||
|
* Record the puzzle background colour in a CSS variable so
|
||||||
|
* the style sheet can use it if it wants.
|
||||||
|
*/
|
||||||
|
js_set_background_colour: function(bgptr) {
|
||||||
|
document.documentElement.style.setProperty("--puzzle-background",
|
||||||
|
UTF8ToString(bgptr));
|
||||||
|
},
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* void js_get_date_64(unsigned *p);
|
* void js_get_date_64(unsigned *p);
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user