All notable changes to this project will be documented in this file, in reverse chronological order by release.
0.8.0 - 2026-04-01
- Wrong image guard in
image.h(#113). - Filled polygon rendered incorrectly with negative x coordinates (#122).
- Polygon and rectangle output did not match (#123, #124).
- Horizontal and vertical line parameters are now sorted (#125, #121).
- Filled circle with radius of one did not produce correct output (#145, #144).
- Circle with zero radius did not produce a single pixel (#146, #140).
- Surface callbacks received pointer-to-pointer instead of pointer-to-struct (#147).
- Infinite loop when drawing ellipse with zero radius (#154, #152).
- Filled ellipse was not symmetrical (#157, #155).
- Blit parameters are now sorted (#160).
- Blit with zero width or height did not return early (#161).
- Off by one error in blit clip check (#162).
- Horizontal line width with custom clip window (#167).
- Vertical line height with custom clip window (#168).
- Polygon functions now require at least three vertices (#132).
- Remove underscore prefix from include guards (#159).
- ISO 8859-1 versions of the fonts (#163).
0.7.0 - 2023-03-19
- Rename
bitmap.ctohagl_bitmap.c(#100). - Rename
color_ttohagl_color_t(#104). - Initialize character buffer only when used and move it to heap (#101, #44).
- Overflow bug when resizing big bitmaps (#102, #49) .
- Circle rendering was slightly malformed (#106, #109) .
- Both horizontal and vertical lines were one pixel too short (#110, #111).
- New
hagl_bitmap_init()function (#98).
0.6.0 - 2023-03-04
- You must now pass drawing surface to all drawing functions (#65).
hagl_backend_t *display = hagl_init(); hagl_put_pixel(display, x, y, color);
- Split primitive drawing code to separate files (#79).
- Rename
hagl_clear_screen()tohagl_clear()(#76). - Rename
hagl_scale_blit()tohagl_blit_xywh()(#86). - Rename
hagl_set_clip_window()tohagl_set_clip()(#87).
- Possibility to use multiple fps counters (#69).
fps_instance_t fps; fps_init(&fps); fps_update(&fps); fps_reset(&fps);
- Possibility to use multiple aps counters (#69).
aps_instance_t aps; aps_init(&aps); aps_update(&aps, 1024); aps_reset(&aps);
- XYX and XYW variants for hline (#82).
- XYY and XYH variants for vline (#83).
- XYY and XYH variants for rectangle (#84).
- XYY and XYH variants for rounded rectangle (#85).
- XY, XYXY and XYWH variants for blit (#86).
Initial release.