Skip to content

Commit 7aaf415

Browse files
committed
create C API for setting element style
1 parent b489723 commit 7aaf415

File tree

3 files changed

+15
-0
lines changed

3 files changed

+15
-0
lines changed

site/source/docs/api_reference/emscripten.h.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,13 @@ Functions
472472
473473
Note that SDL’s ``SDL_ShowCursor`` command shows and hides the SDL cursor, not the OS one. This command is useful to hide the OS cursor if your app draws its own cursor.
474474
475+
.. c:function:: void emscripten_set_element_style(char *selector, char *property, char *value)
476+
477+
Sets an inline style property of a given element
478+
479+
:param char *selector: Name of element to set a style property on
480+
:param char *property: Name of property to set
481+
:param char *value: Value to assign to style property
475482
476483
.. c:function:: double emscripten_get_now(void)
477484

src/library_browser.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1394,6 +1394,13 @@ var LibraryBrowser = {
13941394
styleSheet.insertRule('canvas.emscripten { border: 1px solid black; cursor: none; }', 0);
13951395
},
13961396

1397+
emscripten_set_element_style__proxy: 'sync',
1398+
emscripten_set_element_style__sig: 'viii',
1399+
emscripten_set_element_style: function(selector, property, value) {
1400+
var element = Module[selector];
1401+
if (element) element.style[property] = UTF8ToString(value);
1402+
},
1403+
13971404
emscripten_set_canvas_size__proxy: 'sync',
13981405
emscripten_set_canvas_size__sig: 'vii',
13991406
emscripten_set_canvas_size: function(width, height) {

system/include/emscripten/emscripten.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ double emscripten_get_device_pixel_ratio(void);
138138
void emscripten_set_window_title(const char *);
139139
void emscripten_get_screen_size(int *width, int *height);
140140
void emscripten_hide_mouse(void);
141+
void emscripten_set_element_style(const char *, const char *, const char *);
141142
void emscripten_set_canvas_size(int width, int height) __attribute__((deprecated("This variant does not allow specifying the target canvas", "Use emscripten_set_canvas_element_size() instead")));
142143
void emscripten_get_canvas_size(int *width, int *height, int *isFullscreen) __attribute__((deprecated("This variant does not allow specifying the target canvas", "Use emscripten_get_canvas_element_size() and emscripten_get_fullscreen_status() instead")));
143144

0 commit comments

Comments
 (0)