andrewmd5
2b46565a2e
fix: text measurement/rendering width mismatch in sokol_clay
...
The text bounding box width was incorrect because the measurement function
was using logical pixels while the rendering function was using physical
pixels (scaled by DPI). This caused a mismatch where:
- sclay_measure_text() set font size and letter spacing without DPI scaling
- sclay_render() applied DPI scaling to both font size and letter spacing
- fontstash's fonsTextBounds() returned physical pixel measurements even
when given logical pixel sizes, leading to incorrect width calculations
The fix ensures consistent DPI scaling by:
1. Scaling font size and letter spacing by dpi_scale during measurement
2. Dividing the returned bounds by dpi_scale to convert back to logical pixels
3. This ensures Clay receives measurements in logical pixels that match what
will actually be rendered
This was particularly noticeable with long continuous text where the
discrepancy accumulated across many characters. The issue was font-size
dependent because different font sizes have different rounding behaviors
in the underlying font rendering system.
Also adds text alignment support to properly measure and render centered/right-aligned text.
2025-08-08 17:55:32 +09:00
Mivirl
a9c1f9a8a7
[Renderers/termbox2] Termbox2 renderer & examples ( #419 )
2025-06-27 08:26:38 +10:00
wolfee
4a91cac1b2
[Renderers/SDL3] Fix border position calculated incorrectly ( #446 )
2025-06-23 10:43:08 +10:00
wolfee
f97cb9ea10
[Renderers/SDL] Font sizing is ignored ( #444 )
2025-06-23 09:30:14 +10:00
Alan
58491394ca
[Renderers/Raylib] Fix element float distortion ( #430 )
2025-06-05 10:49:26 +10:00
Nic Barker
87575cb7c3
[Core] Fix handling of letter spacing
2025-06-05 10:38:53 +10:00
Nic Barker
0431f862f4
[Core] Improve handling of aspect ratio scaling
2025-06-02 12:14:09 +10:00
Emmanuel
65e813d4df
[Renderers/Terminal] Add initial implementation of terminal renderer ( #91 )
2025-05-22 12:45:52 +12:00
Matt Jennings
e2f94f17f6
[Renderers/Playdate] Playdate console example ( #404 )
2025-05-19 11:46:39 +12:00
Zordan
eb1d85f2a6
[Renderers/Cairo] Fix cairo renderer and example ( #416 )
2025-05-19 11:36:08 +12:00
David Delassus
fb4eec93b2
[Renderers/SDL3] Use SDL_Texture
instead of SDL_Surface
for images ( #402 )
2025-05-05 12:27:41 +12:00
Tim Lügger
5391a259f3
[Renderers/Raylib] Fix raylib renderer border bottom left corner radius ( #378 )
2025-04-14 14:26:12 +12:00
Lily Nikitin
fe2d44a888
[Renderers/Raylib] Add explicit type cast for malloc ( #379 )
2025-04-14 14:23:13 +12:00
Nathan Korth
eb46688b82
[Renderers/Sokol] Sokol renderer & examples ( #373 )
2025-04-09 13:40:22 +12:00
Philosoph228
87efc49f52
[Renderers/WinGDI] Working on Win32 GDI renderer and example ( #344 )
2025-04-09 11:31:33 +12:00
Emerald-Ruby
6186596b41
math.h include missing cause lots of warning logs
2025-03-15 21:51:36 +00:00
Nic Barker
a7d46629b1
[Renderers/SDL2] Fix rounded corner border index
2025-03-13 09:52:16 +13:00
Nic Barker
bee93bc7ba
[Renderers/Raylib] Reuse memory in raylib renderer for temporary string allocations
2025-03-13 09:51:44 +13:00
Nic Barker
3e39e444db
Update README
2025-03-13 09:21:09 +13:00
hailey
6567f85eb3
Updated rectangle border rendering
2025-03-10 10:29:55 -05:00
hailey
a92ec772e1
[Renderers/Win32_GDI] first pass, fixed build errors and added build script
2025-03-10 09:33:12 -05:00
__hexmaster111
a782df73a1
Added win32 samples (first pass)
2025-03-10 09:23:36 -05:00
__hexmaster111
3a9172ec4c
Merge branch 'nicbarker:main' into main
2025-03-10 09:12:52 -05:00
__hexmaster111
12319fc240
Updated measure text to support the defualt raylib font if the user spesfied font failed to load. ( #305 )
2025-03-05 10:13:42 +13:00
__hexmaster111
ad363f986c
Added missing CloseWindow() call for raylib as well
2025-03-03 16:08:34 -06:00
__hexmaster111
3612431e82
[Raylib Render] Dont call malloc and Free every frame so much
2025-03-03 16:04:07 -06:00
mizmar
375501fb89
[Renderers/SDL2] Fix rounded corner border index
2025-03-03 18:36:04 +01:00
Timothy Hoyt
47c8e9178e
[Renderers/SDL2] Make SDL_RenderCornerBorder static ( #263 )
2025-02-17 08:49:05 +13:00
irfan-zahir
a62ee15758
[Renderers/SDL3] Enable sdl3 alpha blending ( #261 )
2025-02-17 08:48:19 +13:00
Timothy Hoyt
eb553962e8
[Renderers/SDL2] Added rounded corner borders and fixed other issues ( #258 )
2025-02-14 10:14:11 +13:00
tomat
bc2548e3ec
[Renderers/SDL3] Add image rendering and scissor support to SDL3 renderer ( #246 )
2025-02-13 10:02:06 +13:00
Julio Ernesto Rodríguez Cabañas
eeb4520f48
[Renderers/SDL3] Use text engine to render text on the SDL3 renderer ( #256 )
2025-02-13 09:19:36 +13:00
Nic Barker
72af2a4020
[Compilers] Fix missing initializer warnings under -Wextra
2025-02-12 09:12:11 +13:00
tomat
e7bc3869f7
[Renderers/SDL2] Add rounded rectangle support to sdl2 renderer; feature-completes sdl2 renderer ( #245 )
2025-02-07 11:26:49 +13:00
Nic Barker
9d940c1f8e
[Core] Replace config macros with a single unified configuration struct ( #240 )
2025-02-04 17:00:19 +13:00
Nic Barker
1bcf256e4d
[Core] Replace generated arrays with macro declarations, align cache lines to 64 bytes ( #235 )
2025-01-29 17:14:01 +13:00
Martin Evald
e9f2e6c4f1
[Renderers/SDL2] Don't take addresses of temporaries. ( #232 )
2025-01-29 13:09:41 +13:00
Nic Barker
0a703de69a
[Core] Add z-index and string base to Render Commands ( #227 )
2025-01-26 15:28:35 +13:00
arnauNau
c0dac38c87
[Renderers/SDL3] Add borders and rounded borders functionality. ( #220 )
2025-01-26 14:39:34 +13:00
arnauNau
aba846a446
[Renderers/SDL3] Add rounded corners rectangle functionality ( #219 )
2025-01-23 09:30:24 +13:00
Nic Barker
ec2b3b35ff
[Renderers/Raylib] Early return 0 rather than segfault when Raylib fonts fail to load
2025-01-21 21:26:57 +13:00
Nic Barker
326325ffaf
[Core] Convert measureText pointer to value string slice ( #214 )
2025-01-20 11:27:22 +13:00
Daniel Collin
e8025cc254
SetMesureText and SetQueryScrollOffset takes userData ( #212 )
2025-01-20 10:59:02 +13:00
Linus Probert
8e7e30dda6
[Renderers/SDL3] Adds an example using SDL3 as a renderer ( #107 )
...
Co-authored-by: Nic Barker <contact+github@nicbarker.com>
2025-01-19 14:35:41 +13:00
ppeb
4961f2153e
Extend SDL2 Renderer and SDL2-video-demo ( #208 )
2025-01-18 21:42:18 +13:00
Funto
e11a394c25
[Compilers] Fix MSVC compilation with CMake ( #178 )
...
Co-authored-by: Nic Barker <contact+github@nicbarker.com>
2025-01-10 20:59:13 +13:00
vince
723f59dffd
[Renderers/Web] treat RenderCommand.commandType as uint8_t instead of uint32_t ( #162 )
2025-01-05 14:34:16 +13:00
Nic Barker
ac473d6fe7
[Renderers/SDL2] Create initial SDL2 renderer ( #115 )
...
Co-authored-by: Junior Rantila <junior.rantila@gmail.com>
2024-12-28 19:15:22 +13:00
Anthony Carbajal
08033b03cb
[Renderers/Raylib] Update files for v5.5 release ( #109 )
2024-12-26 20:02:33 +13:00
Oleksii Bulba
35d72e5fba
Added window dimensions and title to Clay_Raylib_Initialize function ( #56 )
2024-12-19 21:34:20 +13:00