Mercurial > repos > blastem
diff nuklear_ui/blastem_nuklear.c @ 1658:fa9ae059e4d3
Added support for GLES in addition to desktop GL
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 30 Dec 2018 21:10:44 -0800 |
parents | 5a662692c215 |
children | c6cc2dae262f |
line wrap: on
line diff
--- a/nuklear_ui/blastem_nuklear.c Sun Dec 30 19:40:32 2018 -0800 +++ b/nuklear_ui/blastem_nuklear.c Sun Dec 30 21:10:44 2018 -0800 @@ -1789,10 +1789,12 @@ void blastem_nuklear_render(void) { - nk_input_end(context); - current_view(context); - nk_sdl_render(NK_ANTI_ALIASING_ON, 512 * 1024, 128 * 1024); - nk_input_begin(context); + if (current_view != view_play) { + nk_input_end(context); + current_view(context); + nk_sdl_render(NK_ANTI_ALIASING_ON, 512 * 1024, 128 * 1024); + nk_input_begin(context); + } } void ui_idle_loop(void) @@ -1849,7 +1851,11 @@ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE); glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE); +#ifdef USE_GLES + glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, buf); +#else glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, width, height, 0, GL_BGRA, GL_UNSIGNED_BYTE, buf); +#endif return nk_image_id((int)tex); } @@ -1929,6 +1935,14 @@ } ui_image *this_image = ui_images[num_ui_images-1] = calloc(1, sizeof(ui_image)); this_image->image_data = load_png(buf, buf_size, &this_image->width, &this_image->height); +#ifdef USE_GLES + uint32_t *cur = this_image->image_data; + for (int i = 0; i < this_image->width*this_image->height; i++, cur++) + { + uint32_t pixel = *cur; + *cur = (pixel & 0xFF00FF00) | (pixel << 16 & 0xFF0000) | (pixel >> 16 & 0xFF); + } +#endif free(buf); if (!this_image->image_data) { num_ui_images--;