From 2fff4c30c18a1b89c3240222cd915e7607563896 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Tue, 5 Oct 2021 07:11:20 -0400 Subject: Resizing working as intended --- themes/WebglContext.cpp | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) (limited to 'themes/WebglContext.cpp') diff --git a/themes/WebglContext.cpp b/themes/WebglContext.cpp index 3346280..11a201b 100644 --- a/themes/WebglContext.cpp +++ b/themes/WebglContext.cpp @@ -1,12 +1,32 @@ #include "WebglContext.h" #include -EM_BOOL onScreenSizeChanged(int eventType, const EmscriptenUiEvent *uiEvent, void *userData) { - printf("Here\n"); - WebglContext* context = (WebglContext*)userData; +void WebglContext::init(const char* inQuery) { + strcpy(query, inQuery); + float64 inWidth, inHeight; + emscripten_get_element_css_size(query, &inWidth, &inHeight); + width = static_cast(inWidth); + height = static_cast(inHeight); + emscripten_set_canvas_element_size( query, width, height); - context->width = uiEvent->documentBodyClientWidth; - context->height = uiEvent->documentBodyClientHeight; - return true; + EmscriptenWebGLContextAttributes attrs; + emscripten_webgl_init_context_attributes(&attrs); + + attrs.enableExtensionsByDefault = 1; + attrs.majorVersion = 3; + attrs.minorVersion = 0; + + context = emscripten_webgl_create_context(query, &attrs); + makeCurrentContext(); + + glClearColor(0, 0, 0, 0.0f); +}; + +void WebglContext::makeCurrentContext() { + emscripten_webgl_make_context_current(context); +}; + +void WebglContext::destroy() { + emscripten_webgl_destroy_context(context); } -- cgit v1.2.1