autofit page
parent
f1ac78a461
commit
f97de43881
|
@ -13,6 +13,17 @@
|
|||
#include "debug_ui.h"
|
||||
#include "utils/raylib_helpers.h"
|
||||
|
||||
#if defined(PLATFORM_WEB)
|
||||
#include <emscripten.h>
|
||||
EM_JS(int, canvas_get_width, (), {
|
||||
return canvas.width;
|
||||
});
|
||||
|
||||
EM_JS(int, canvas_get_height, (), {
|
||||
return canvas.height;
|
||||
});
|
||||
#endif
|
||||
|
||||
static uint16_t screenWidth = 1024;
|
||||
static uint16_t screenHeight = 768;
|
||||
static float target_zoom = 1.5f;
|
||||
|
@ -27,6 +38,12 @@ static bool request_shutdown;
|
|||
|
||||
void platform_init() {
|
||||
SetTraceLogLevel(LOG_ERROR);
|
||||
|
||||
#if defined(PLATFORM_WEB)
|
||||
screenWidth = (uint16_t)canvas_get_width();
|
||||
screenHeight = (uint16_t)canvas_get_height();
|
||||
#endif
|
||||
|
||||
InitWindow(screenWidth, screenHeight, "eco2d");
|
||||
SetWindowState(/*FLAG_WINDOW_UNDECORATED|*/FLAG_WINDOW_MAXIMIZED|FLAG_WINDOW_RESIZABLE|FLAG_MSAA_4X_HINT);
|
||||
|
||||
|
@ -235,8 +252,18 @@ void draw_selected_item() {
|
|||
}
|
||||
|
||||
void platform_render() {
|
||||
#if !defined(PLATFORM_WEB)
|
||||
screenWidth = (uint16_t)GetScreenWidth();
|
||||
screenHeight = (uint16_t)GetScreenHeight();
|
||||
#else
|
||||
uint16_t newScreenWidth = (uint16_t)canvas_get_width();
|
||||
uint16_t newScreenHeight = (uint16_t)canvas_get_height();
|
||||
if (newScreenWidth != screenWidth || newScreenHeight != screenHeight) {
|
||||
screenWidth = newScreenWidth;
|
||||
screenHeight = newScreenHeight;
|
||||
SetWindowSize(screenWidth, screenHeight);
|
||||
}
|
||||
#endif
|
||||
|
||||
profile(PROF_ENTITY_LERP) {
|
||||
game_world_view_active_entity_map(lerp_entity_positions);
|
||||
|
|
|
@ -28,9 +28,17 @@
|
|||
<meta name="twitter:description" content="Small C99 2D game engine with a focus on prototyping">
|
||||
|
||||
<style>
|
||||
body { margin: 0px; background-color: black;}
|
||||
canvas.emscripten { border: 0px none; background-color: black; }
|
||||
.overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
|
||||
html, body { margin: 0px; padding: 0px; background-color: black; width: 100%; height: 100%;}
|
||||
canvas.emscripten {
|
||||
border: 0px none; background-color: black;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
<script type='text/javascript' src="https://cdn.jsdelivr.net/gh/eligrey/FileSaver.js/dist/FileSaver.min.js"> </script>
|
||||
<script type='text/javascript'>
|
||||
|
@ -53,9 +61,6 @@
|
|||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="overlay">
|
||||
<input type="button" value="Fullscreen" onclick="Module.requestFullscreen(false, true);">
|
||||
</div>
|
||||
<canvas class=emscripten id=canvas oncontextmenu=event.preventDefault() tabindex=-1></canvas>
|
||||
<script>
|
||||
var Module = {
|
||||
|
@ -73,6 +78,13 @@
|
|||
})(),
|
||||
canvas: (function() {
|
||||
var canvas = document.getElementById('canvas');
|
||||
canvas.width = window.innerWidth;
|
||||
canvas.height = window.innerHeight;
|
||||
|
||||
window.addEventListener('resize', () => {
|
||||
canvas.width = window.innerWidth;
|
||||
canvas.height = window.innerHeight;
|
||||
})
|
||||
|
||||
canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
|
||||
|
||||
|
|
Loading…
Reference in New Issue