Commit graph

7 commits

Author SHA1 Message Date
Charlie Malmqvist
9664530935 Text wrapping, string & utf8 helpers, linmath constants 2024-08-19 16:19:46 +02:00
Charlie Malmqvist
978162cf4d Fix measure_text on empty string & %s treating arg as char* if it's not a valid 'string' 2024-08-18 12:31:55 +02:00
Charlie Malmqvist
234e3ed440 Mouse pointers & text rendering bug 2024-07-26 21:33:47 +02:00
Charlie Malmqvist
05c9811f38 Improve text measuring & better explanation on how to use 2024-07-18 11:16:55 +02:00
Charlie Malmqvist
e4649e564d #Cleanup 2024-07-17 16:36:13 +02:00
Charlie
05fd88472b Fix merge conflicts 2024-07-09 09:13:44 +02:00
Charlie
18f4fc8123 - Text rendering
- Font loading
	- Measuring for formatting & justification
	- Utf8 Glyph walking
	- Commented example in oogabooga/examples/text_rendering.c
- Small 2D renderer refactor
	- Pass 8-bit integers "type" and "sampler_index" to shader
	- Sample texture differently depending on "type" (text or regular quad)
	- Sample with nearest/linear min/mag depending on sampler_index
	- Set min/mag filtering in Draw_Quad
	- Images are now created and deleted directly with gfx calls rather than deferring it for gfx_update.
	- We can now set image sub data with gfx_set_image_data()
	- Images are no longer hard coded to 4 channels
- Utf8 utility:
	- utf8_to_utf32(): convert utf8 bytes to a single u32 codepoint
	- next_utf8(): Convert first utf8 character in a string to a u32 codepoint and advance the passed string to the next unicode
- Renamed m4_multiply -> m4_mul for consistency
- Refactored os window to be DPI aware (scaled_width vs pixel_width)
- in minimal example, renamed hammer_xform -> rect_xform
2024-07-07 20:27:34 +02:00