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 () 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 () 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 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 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 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 () 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 () 2025-03-08 11:01:26 +13:00
Ethan McCue
4f8957d5d2
[Documentation] Fix typo () 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 () 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. () 2025-03-05 10:13:42 +13:00
Laytan
2d7d5bc082
[Bindings/Odin] fix CreateArenaWithCapacityAndMemory capacity type () 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