diff options
| author | Peter0x44 <[email protected]> | 2024-06-21 00:05:07 +0100 |
|---|---|---|
| committer | Peter0x44 <[email protected]> | 2024-06-21 00:05:07 +0100 |
| commit | 7703f2a74122c771070f19259fc40eb2167df9ac (patch) | |
| tree | 5a1594c2fb93cc18f8bb4929824e0ed7db106ce1 /main.c | |
| parent | 8ed354f7fb32b064b5f082adc127011cca078077 (diff) | |
| download | raylib-DrawTexturePro-interactive-demo-7703f2a74122c771070f19259fc40eb2167df9ac.tar.gz raylib-DrawTexturePro-interactive-demo-7703f2a74122c771070f19259fc40eb2167df9ac.zip | |
Refactor code to use emscripten_set_main_loop
Supposed to give better perf, better to leave frame control to the
browser.
Diffstat (limited to 'main.c')
| -rw-r--r-- | main.c | 42 |
1 files changed, 27 insertions, 15 deletions
@@ -8,6 +8,10 @@ #include "raylib.h" #include <stdio.h> +#ifdef __EMSCRIPTEN__ +#include <emscripten/emscripten.h> +#endif + #define RAYGUI_IMPLEMENTATION #include "raygui.h" @@ -112,6 +116,24 @@ void DrawOutput(); void HandleDroppedFiles(); +void UpdateDrawFrame() +{ + HandleDroppedFiles(); + + BeginDrawing(); + ClearBackground(RAYWHITE); + + DrawElementBorders(); + SetupDifference(); + DrawUI(); + ResolveMouseState(); + DrawCodeDisplay(); + CheckDifference(); + DrawOutput(); + + EndDrawing(); +} + int main() { InitWindow(screenWidth, screenHeight, "DrawTexturePro Example"); @@ -139,24 +161,14 @@ int main() elementRender.height - 20 ); - +#ifdef __EMSCRIPTEN__ + emscripten_set_main_loop(UpdateDrawFrame, 0, 1); +#else while (!WindowShouldClose()) { - HandleDroppedFiles(); - - BeginDrawing(); - ClearBackground(RAYWHITE); - - DrawElementBorders(); - SetupDifference(); - DrawUI(); - ResolveMouseState(); - DrawCodeDisplay(); - CheckDifference(); - DrawOutput(); - - EndDrawing(); + UpdateDrawFrame(); } +#endif CloseWindow(); return 0; |
