diff --git a/examples/sokol_demo/sokol_demo.odin b/examples/sokol_demo/sokol_demo.odin index 2c14786..e0e8bce 100644 --- a/examples/sokol_demo/sokol_demo.odin +++ b/examples/sokol_demo/sokol_demo.odin @@ -236,8 +236,8 @@ init :: proc "c" () ve.startup( & demo_ctx.ve_ctx, .STB_TrueType, allocator = context.allocator, glyph_draw_params = glyph_draw_opts, shaper_params = shaper_opts, - px_scalar = 1.4, - alpha_sharpen = 0.1, + px_scalar = 1.21, + alpha_sharpen = 0.09, ) ve_sokol.setup_gfx_objects( & demo_ctx.render_ctx, & demo_ctx.ve_ctx, vert_cap = 256 * 1024, index_cap = 512 * 1024 ) diff --git a/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_debug.lib b/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_debug.lib index d49f523..3157d53 100644 Binary files a/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_release.lib b/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_release.lib index 91e81e3..6ac25c3 100644 Binary files a/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_release.lib and b/thirdparty/sokol/app/sokol_app_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/app/sokol_app_windows_x64_gl_debug.lib b/thirdparty/sokol/app/sokol_app_windows_x64_gl_debug.lib index ec1aca4..2b1d2f9 100644 Binary files a/thirdparty/sokol/app/sokol_app_windows_x64_gl_debug.lib and b/thirdparty/sokol/app/sokol_app_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/app/sokol_app_windows_x64_gl_release.lib b/thirdparty/sokol/app/sokol_app_windows_x64_gl_release.lib index a5ca4fa..928dab5 100644 Binary files a/thirdparty/sokol/app/sokol_app_windows_x64_gl_release.lib and b/thirdparty/sokol/app/sokol_app_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_debug.lib b/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_debug.lib index bec5638..446aa77 100644 Binary files a/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_release.lib b/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_release.lib index cb85b77..ea957fe 100644 Binary files a/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_release.lib and b/thirdparty/sokol/audio/sokol_audio_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_debug.lib b/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_debug.lib index 6aa6d45..406bf6e 100644 Binary files a/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_debug.lib and b/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_release.lib b/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_release.lib index a3c9a9f..19eeaa9 100644 Binary files a/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_release.lib and b/thirdparty/sokol/audio/sokol_audio_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/c/sokol_app.h b/thirdparty/sokol/c/sokol_app.h index d19bd6c..ba72a0c 100644 --- a/thirdparty/sokol/c/sokol_app.h +++ b/thirdparty/sokol/c/sokol_app.h @@ -2664,6 +2664,7 @@ typedef struct { HICON small_icon; HCURSOR cursors[_SAPP_MOUSECURSOR_NUM]; UINT orig_codepage; + WCHAR surrogate; RECT stored_window_rect; // used to restore window pos/size when toggling fullscreen => windowed bool is_win10_or_greater; bool in_create_window; @@ -7558,11 +7559,20 @@ _SOKOL_PRIVATE void _sapp_win32_key_event(sapp_event_type type, int vk, bool rep _SOKOL_PRIVATE void _sapp_win32_char_event(uint32_t c, bool repeat) { if (_sapp_events_enabled() && (c >= 32)) { - _sapp_init_event(SAPP_EVENTTYPE_CHAR); - _sapp.event.modifiers = _sapp_win32_mods(); - _sapp.event.char_code = c; - _sapp.event.key_repeat = repeat; - _sapp_call_event(&_sapp.event); + if (c >= 0xD800 && c <= 0xDBFF) { + _sapp.win32.surrogate = (WCHAR)c - 0xD800; + } else { + if (c > 0xDC00 && c <= 0xDFFF) { + c = (uint32_t)(_sapp.win32.surrogate) << 10 | (c - 0xDC00); + c += 0x10000; + _sapp.win32.surrogate = 0; + } + _sapp_init_event(SAPP_EVENTTYPE_CHAR); + _sapp.event.modifiers = _sapp_win32_mods(); + _sapp.event.char_code = c; + _sapp.event.key_repeat = repeat; + _sapp_call_event(&_sapp.event); + } } } @@ -7922,6 +7932,7 @@ _SOKOL_PRIVATE void _sapp_win32_create_window(void) { const int win_width = rect.right - rect.left; const int win_height = rect.bottom - rect.top; _sapp.win32.in_create_window = true; + _sapp.win32.surrogate = 0; _sapp.win32.hwnd = CreateWindowExW( win_ex_style, // dwExStyle L"SOKOLAPP", // lpClassName diff --git a/thirdparty/sokol/c/sokol_debugtext.h b/thirdparty/sokol/c/sokol_debugtext.h index 826cf67..6175925 100644 --- a/thirdparty/sokol/c/sokol_debugtext.h +++ b/thirdparty/sokol/c/sokol_debugtext.h @@ -753,6 +753,9 @@ SOKOL_DEBUGTEXT_API_DECL void sdtx_putr(const char* str, int len); // 'put ra SOKOL_DEBUGTEXT_API_DECL int sdtx_printf(const char* fmt, ...) SOKOL_DEBUGTEXT_PRINTF_ATTR; SOKOL_DEBUGTEXT_API_DECL int sdtx_vprintf(const char* fmt, va_list args); +/* language bindings helper: get the internal printf format buffer */ +SOKOL_DEBUGTEXT_API_DECL sdtx_range sdtx_get_cleared_fmt_buffer(void); + #ifdef __cplusplus } /* extern "C" */ /* C++ const-ref wrappers */ @@ -4955,6 +4958,16 @@ SOKOL_DEBUGTEXT_API_DECL int sdtx_printf(const char* fmt, ...) { return res; } +SOKOL_DEBUGTEXT_API_DECL sdtx_range sdtx_get_cleared_fmt_buffer(void) { + SOKOL_ASSERT(_SDTX_INIT_COOKIE == _sdtx.init_cookie); + SOKOL_ASSERT(_sdtx.fmt_buf && (_sdtx.fmt_buf_size >= 2)); + memset(_sdtx.fmt_buf, 0, _sdtx.fmt_buf_size); + sdtx_range res; _sdtx_clear(&res, sizeof(res)); + res.ptr = _sdtx.fmt_buf; + res.size = _sdtx.fmt_buf_size - 1; + return res; +} + SOKOL_API_IMPL void sdtx_draw(void) { SOKOL_ASSERT(_SDTX_INIT_COOKIE == _sdtx.init_cookie); _sdtx_context_t* ctx = _sdtx.cur_ctx; diff --git a/thirdparty/sokol/c/sokol_gfx.h b/thirdparty/sokol/c/sokol_gfx.h index d3873b6..231ec58 100644 --- a/thirdparty/sokol/c/sokol_gfx.h +++ b/thirdparty/sokol/c/sokol_gfx.h @@ -254,8 +254,8 @@ Both sg_apply_viewport() and sg_apply_scissor_rect() must be called inside a rendering pass (e.g. not in a compute pass, or outside a pass) - Note that sg_begin_default_pass() and sg_begin_pass() will reset both the - viewport and scissor rectangles to cover the entire framebuffer. + Note that sg_begin_pass() will reset both the viewport and scissor + rectangles to cover the entire framebuffer. --- to update (overwrite) the content of buffer and image resources, call: diff --git a/thirdparty/sokol/debugtext/debugtext.odin b/thirdparty/sokol/debugtext/debugtext.odin index ef89bdc..4231c47 100644 --- a/thirdparty/sokol/debugtext/debugtext.odin +++ b/thirdparty/sokol/debugtext/debugtext.odin @@ -636,6 +636,8 @@ foreign sokol_debugtext_clib { putc :: proc(c: u8) --- puts :: proc(str: cstring) --- putr :: proc(str: cstring, #any_int len: c.int) --- + // language bindings helper: get the internal printf format buffer + get_cleared_fmt_buffer :: proc() -> Range --- } Log_Item :: enum i32 { diff --git a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_debug.lib b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_debug.lib index d176af3..0bf7b65 100644 Binary files a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_release.lib b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_release.lib index c7939ba..2f80ceb 100644 Binary files a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_release.lib and b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_debug.lib b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_debug.lib index 6eb39d0..33619a7 100644 Binary files a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_debug.lib and b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_release.lib b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_release.lib index 7005864..f992e8d 100644 Binary files a/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_release.lib and b/thirdparty/sokol/debugtext/sokol_debugtext_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/gfx/gfx.odin b/thirdparty/sokol/gfx/gfx.odin index 0c0c42c..81fb914 100644 --- a/thirdparty/sokol/gfx/gfx.odin +++ b/thirdparty/sokol/gfx/gfx.odin @@ -255,8 +255,8 @@ package sokol_gfx Both sg_apply_viewport() and sg_apply_scissor_rect() must be called inside a rendering pass (e.g. not in a compute pass, or outside a pass) - Note that sg_begin_default_pass() and sg_begin_pass() will reset both the - viewport and scissor rectangles to cover the entire framebuffer. + Note that sg_begin_pass() will reset both the viewport and scissor + rectangles to cover the entire framebuffer. --- to update (overwrite) the content of buffer and image resources, call: diff --git a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_debug.lib b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_debug.lib index 6efeb1f..c6ffb66 100644 Binary files a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_release.lib b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_release.lib index 5327de7..0a6cc07 100644 Binary files a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_release.lib and b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_debug.lib b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_debug.lib index 5918852..f669557 100644 Binary files a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_debug.lib and b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_release.lib b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_release.lib index 867437e..403f2d7 100644 Binary files a/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_release.lib and b/thirdparty/sokol/gfx/sokol_gfx_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_debug.lib b/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_debug.lib index 6530519..41eb8f7 100644 Binary files a/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_release.lib b/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_release.lib index 9eb8088..cb29e12 100644 Binary files a/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_release.lib and b/thirdparty/sokol/gl/sokol_gl_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_debug.lib b/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_debug.lib index 0d583a3..688727c 100644 Binary files a/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_debug.lib and b/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_release.lib b/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_release.lib index 2a3f483..768789e 100644 Binary files a/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_release.lib and b/thirdparty/sokol/gl/sokol_gl_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_debug.lib b/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_debug.lib index 4f05130..ee95f57 100644 Binary files a/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_release.lib b/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_release.lib index 279c765..9cc6187 100644 Binary files a/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_release.lib and b/thirdparty/sokol/glue/sokol_glue_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_debug.lib b/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_debug.lib index d37fb76..a03a043 100644 Binary files a/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_debug.lib and b/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_release.lib b/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_release.lib index f49529b..72bbecd 100644 Binary files a/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_release.lib and b/thirdparty/sokol/glue/sokol_glue_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_debug.lib b/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_debug.lib index 77ccdf9..4146ac0 100644 Binary files a/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_release.lib b/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_release.lib index 2064a37..689036a 100644 Binary files a/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_release.lib and b/thirdparty/sokol/log/sokol_log_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/log/sokol_log_windows_x64_gl_debug.lib b/thirdparty/sokol/log/sokol_log_windows_x64_gl_debug.lib index d6a6861..488de4b 100644 Binary files a/thirdparty/sokol/log/sokol_log_windows_x64_gl_debug.lib and b/thirdparty/sokol/log/sokol_log_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/log/sokol_log_windows_x64_gl_release.lib b/thirdparty/sokol/log/sokol_log_windows_x64_gl_release.lib index bf5099e..4e5ca78 100644 Binary files a/thirdparty/sokol/log/sokol_log_windows_x64_gl_release.lib and b/thirdparty/sokol/log/sokol_log_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_debug.lib b/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_debug.lib index 9c53f34..57dae41 100644 Binary files a/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_release.lib b/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_release.lib index 39395f2..ec8c67f 100644 Binary files a/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_release.lib and b/thirdparty/sokol/shape/sokol_shape_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_debug.lib b/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_debug.lib index 8875ce5..f566b8e 100644 Binary files a/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_debug.lib and b/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_release.lib b/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_release.lib index 12456a2..1d3fb3f 100644 Binary files a/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_release.lib and b/thirdparty/sokol/shape/sokol_shape_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.dll b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.dll index 4ce5e5b..17c023f 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.dll and b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.dll differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.exp b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.exp index 5958f0c..07dcb7b 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.exp and b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.exp differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.lib b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.lib index ae17eca..dda2a78 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.pdb b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.pdb index e67dfdd..c20a14c 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.pdb and b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_debug.pdb differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.dll b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.dll index c25bee8..a8999b8 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.dll and b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.dll differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.exp b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.exp index 0e7da49..02c52c9 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.exp and b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.exp differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.lib b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.lib index 5295e3e..75b46aa 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.lib and b/thirdparty/sokol/sokol_dll_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.dll b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.dll index d74a396..9507693 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.dll and b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.dll differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.exp b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.exp index a1ff9a1..5257bfe 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.exp and b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.exp differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.lib b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.lib index a17858e..128d2fc 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.lib and b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.pdb b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.pdb index 077238d..61fd40c 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.pdb and b/thirdparty/sokol/sokol_dll_windows_x64_gl_debug.pdb differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_gl_release.dll b/thirdparty/sokol/sokol_dll_windows_x64_gl_release.dll index 207211f..f8800be 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_gl_release.dll and b/thirdparty/sokol/sokol_dll_windows_x64_gl_release.dll differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_gl_release.exp b/thirdparty/sokol/sokol_dll_windows_x64_gl_release.exp index 68bde0b..0526b2d 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_gl_release.exp and b/thirdparty/sokol/sokol_dll_windows_x64_gl_release.exp differ diff --git a/thirdparty/sokol/sokol_dll_windows_x64_gl_release.lib b/thirdparty/sokol/sokol_dll_windows_x64_gl_release.lib index a26bd75..1b6fd81 100644 Binary files a/thirdparty/sokol/sokol_dll_windows_x64_gl_release.lib and b/thirdparty/sokol/sokol_dll_windows_x64_gl_release.lib differ diff --git a/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_debug.lib b/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_debug.lib index c301bf3..d218874 100644 Binary files a/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_debug.lib and b/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_debug.lib differ diff --git a/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_release.lib b/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_release.lib index a9a7807..7580b2e 100644 Binary files a/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_release.lib and b/thirdparty/sokol/time/sokol_time_windows_x64_d3d11_release.lib differ diff --git a/thirdparty/sokol/time/sokol_time_windows_x64_gl_debug.lib b/thirdparty/sokol/time/sokol_time_windows_x64_gl_debug.lib index 3c48c9f..a714fa3 100644 Binary files a/thirdparty/sokol/time/sokol_time_windows_x64_gl_debug.lib and b/thirdparty/sokol/time/sokol_time_windows_x64_gl_debug.lib differ diff --git a/thirdparty/sokol/time/sokol_time_windows_x64_gl_release.lib b/thirdparty/sokol/time/sokol_time_windows_x64_gl_release.lib index 58c755c..ed8fd0a 100644 Binary files a/thirdparty/sokol/time/sokol_time_windows_x64_gl_release.lib and b/thirdparty/sokol/time/sokol_time_windows_x64_gl_release.lib differ diff --git a/thirdparty/stb/lib/stb_truetype.lib b/thirdparty/stb/lib/stb_truetype.lib index 29e5531..31b4676 100644 Binary files a/thirdparty/stb/lib/stb_truetype.lib and b/thirdparty/stb/lib/stb_truetype.lib differ diff --git a/vefontcache/vefontcache.odin b/vefontcache/vefontcache.odin index 43891bf..00703cf 100644 --- a/vefontcache/vefontcache.odin +++ b/vefontcache/vefontcache.odin @@ -1253,6 +1253,8 @@ resolve_px_scalar_size :: #force_inline proc "contextless" ( parser_info : Parse return } +// Helps with hinting, makes sure glyph quads are aligned to an integer pixel +// Best if used in combination with snap_glyph_position, maybe snap_glyph_height,and snap_glyph_width. snap_normalized_position_to_view :: #force_inline proc "contextless" ( position, view : Vec2 ) -> (position_snapped : Vec2) { should_snap := cast(f32) i32(view.x > 0 && view.y > 0)