Thanks! This is exactly what I was hoping to hear. While using GLUT, SDL,
etc. are useful for porting existing codebases, when developing your own
first party codebase, it's very useful to go directly to the HTML5 apis.
Looking forward to hearing if there's any issues,

   Jukka

2014-01-28 Floh <[email protected]>

> That's super-useful for input handling and reacting to display resizing (I
> need to discard and create a couple offscreen render targets). With this
> I'll be able to ditch 90% of the glut code (which I didn't like anyway).
>
> Thanks!
> -Floh.
>
> Am Montag, 27. Januar 2014 12:25:19 UTC+1 schrieb jj:
>
>> Hi,
>>
>> last week, something very interesting landed to emscripten incoming: a
>> new set of C callback APIs for receiving various HTML5 events. See here
>> https://github.com/kripken/emscripten/blob/incoming/
>> system/include/emscripten/html5.h
>>
>> The task that it accomplishes is somewhat simple - the code provides a C
>> interface for accessing different HTML5 apis. Naturally not all the
>> different HTML5 specs are there, but the scope is placed on those events
>> that native codebases typically need, which include input events (keyboard,
>> mouse, gamepad, touch), "application lifecycle events" (visible, hidden,
>> unloaded), windowing events (resize, scroll, fullscreen, pointerlock,
>> webglcontext), device events (motion, orientation, acceleration) and a few
>> others.
>>
>> The idea for these is to enable a quick 1:1 access to the most common web
>> apis that are provided in HTML5, without requiring that users need to learn
>> the low-level C <-> JS interop machinery first, or how to write and
>> integrate.js libraries to projects. As a quick example, reading keyboard
>> events through this library would look like this:
>>
>> #include <emscripten/html5.h>
>>
>> EM_BOOL key_callback(int eventType, const EmscriptenKeyboardEvent *e,
>> void *userData)
>> {
>>   printf("You pressed key %lu\n", e->which)
>> }
>>
>> int main()
>> {
>>   emscripten_set_keypress_callback(0, 0, 1, key_callback);
>>
>>   // Proceed to setting up game loop with emscripten_set_main_loop(...);
>> }
>>
>> For more code that uses these apis, refer to the unit tests for now at
>> https://github.com/kripken/emscripten/blob/incoming/tests/test_html5.c
>>
>> Using html5 directly has the advantage that developers can directly refer
>> to the HTML5 specifications for documentation. For example, the
>> documentation for keyboard events can be found here:
>>
>> https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#keys
>>
>> The events library has so far been tested on Firefox, Chrome and Internet
>> Explorer 11. Let us know if e.g. Safari or mobile browsers have any issues,
>> so that we can hide the cross-browser quirks inside the library.
>>
>>    Jukka
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "emscripten-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>

-- 
You received this message because you are subscribed to the Google Groups 
"emscripten-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to