Commit graph

292 commits

Author SHA1 Message Date
Philosoph228 607af63b08
Change HWND_DESKTOP to NULL in GetDC() calls
At first I liked the idea to use something more semantic to pass as `HWND` to get the screen device context. And there is a HWND_DESKTOP macro which just a simple alias to NULL, but it is actually designed for CreateWindow and naming isn't clear enough. It may confuse someone who reading code that we're trying to get not the screen dc, but that desktop window dc itself. So I won't stand out let it be NULL as that commonly used.
2025-04-02 11:37:55 +05:00
Philosoph228 b1910a45be
Add redefinition guards for RECTWIDTH/RECTHEIGHT macros 2025-04-02 11:28:57 +05:00
Philosoph228 222fd49793
Use CLAY_DISABLE_SIMD 2025-04-02 11:22:45 +05:00
Philosoph228 addea58fea
Merge branch 'nicbarker:main' into win32-gdi 2025-03-25 11:40:09 +05:00
Philosoph228 fd02c528d3
Add missing font resource 2025-03-25 09:49:24 +05:00
Philosoph228 b2bbdf8760
Implement accurate rectangle blending and rounding
The implementation works by handling special cases where rectangles have semi-transparent background colors or rounded corners. For these cases, it first copies the underlying image region from the window device context, blends the rectangle on top of this captured background, and then draws the final result back to the window DC because we can't access and modify window dc bits directly. Also this approach requires custom pixel processing for color blending and uses sqrtf for precise anti-aliased corners, which isn't ideal for performance. A `gdi_fabulous` flag is provided to toggle this feature when needed.
2025-03-25 09:47:04 +05:00
Nic Barker 47d1d84bc8
[Core] Switch text content hashing to default behaviour (#335) 2025-03-25 10:13:04 +13:00
Philosoph228 5a1d13f0a4
Add support for font loading and rendering 2025-03-24 05:50:10 +05:00
Philosoph228 d9c68cd32d
Fix CreateWindow client size
CreateWindow(Ex) size parameters actually accepts outer window dimensions containing caption and border, which we can calculate with AdjustWindowRect by giving client size window dimensions.
2025-03-24 03:21:19 +05:00
Philosoph228 e0fffb64fe
Add CMake target for win32_gdi example 2025-03-24 02:55:18 +05:00
Nic Barker ad49977f1b [Core] Apply minimum width for single words and fix some minimum sizing bugs 2025-03-21 11:22:48 +13:00
Leo Zurbriggen 61490e4557
[Bindings/Odin] expose _OpenElement and _CloseElement (#301) 2025-03-21 09:25:50 +13:00
Nic Barker 982ade4cf9 [Compilers] Add a dummy function to suppress unused variable warning in GCC 2025-03-18 11:21:23 +13:00
Nic Barker d5af2c3dc0
[Renderers/SDL2] Added explicit include of math.h in SDL2 renderer 2025-03-18 11:13:46 +13:00
Nic Barker 2677bec854 [Housekeeping] Revert previous commit to allow proper PR attribution 2025-03-18 11:12:21 +13:00
Nic Barker 05ac2810d8 [Renderers/SDL2] Added explicit include of math.h in SDL2 renderer 2025-03-18 11:10:53 +13:00
Nic Barker 1f8cab8d72 [Core] Fix a bug where floating elements could be clipped incorrectly 2025-03-18 11:05:06 +13: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 39fdd0e906
[Compilers] Fix integer truncation warnings with explicit casts 2025-03-13 09:40:31 +13:00
Nic Barker 008d4d2519
[Renderers/win32_gdi] Create initial WinGDI renderer 2025-03-13 09:27:44 +13:00
Nic Barker 3e39e444db Update README 2025-03-13 09:21:09 +13:00
Nic Barker 8a57153700 [Bindings/Odin] Add support for local ids to odin bindings 2025-03-13 09:08:20 +13:00
Nic Barker 09d581a523 [Bindings/Odin] Fix bad data type in odin bindings for floating config 2025-03-13 09:02:17 +13:00
Nic Barker f824ddfd25
Merge pull request #320 from shakkar23/patch-1
[Renderers/SDL2] Enable live resizing of layout during window resize in SDL2
2025-03-11 10:29:34 +13:00
Nic Barker 82bb48a235
Merge pull request #300 from joshuahhh/patch-1
[Documentation] Update README.md: it's gotten bigger
2025-03-11 09:50:28 +13:00
Nic Barker c06e01c1af
Merge pull request #319 from emoon/pass-declaration-by-pointer
Support passing declaration by pointer as well
2025-03-11 09:39:40 +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
Nic Barker fabdad43f6 [Documentation] Update internal version number to 0.13 in clay.h 2025-03-10 14:39:18 +13:00
Jesus Coca e856136a8e
add resizing while the window is being resized 2025-03-08 17:37:02 -08:00
Daniel Collin 19a27b39f2
[Compilers] Fixed SIMD related compile error on some ARM compilers (#316) 2025-03-09 10:28:09 +13:00
Daniel Collin 33b8e76903 Support passing declaration by pointer as well 2025-03-08 15:17:36 +01:00
Johann Muszynski ad4d00be33 Fix integer truncation warnings with explicit casts 2025-03-08 14:53:30 +02:00
Nic Barker 22e8cc318c [Bindings/Odin] Update odin bindings for text config userdata pointer 2025-03-08 11:08:04 +13:00
Michael Savage 8e6640f7a2
[Core] Add a userData pointer to Clay_TextElementConfig (#274) 2025-03-08 11:01:26 +13:00
Ethan McCue 4f8957d5d2
[Documentation] Fix typo (#315) 2025-03-07 21:45:27 +13:00
Nic Barker 5009146c65 [Bindings/Odin] Recompile odin bindings with -O3 2025-03-05 15:11:11 +13:00
Rico P 865b06d386
[Documentation] fix example in README (#307) 2025-03-05 10:14:37 +13: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
Laytan 2d7d5bc082
[Bindings/Odin] fix CreateArenaWithCapacityAndMemory capacity type (#306) 2025-03-05 09:49:53 +13:00
__hexmaster111 cf97539612
Update main.c 2025-03-04 05:57:30 -06:00
__hexmaster111 c49593f1d3
Update main.c 2025-03-04 05:56:20 -06:00
__hexmaster111 c7703b7a50
updated examples to call close 2025-03-04 05:55:30 -06:00
Joshua Horowitz adc31f82e8
Update README.md: it's gotten bigger 2025-03-03 21:38:25 -08: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