add more low level drawing functions

This commit is contained in:
Adolfo Reyna
2026-01-13 10:55:21 -05:00
parent 55475d10ec
commit 5e0fe7c6d9
4 changed files with 77 additions and 2 deletions

View File

@@ -36,6 +36,7 @@ int main()
sf::Clock clock;
bool toggle = false;
bool inverted = false;
while (window.isOpen())
{
@@ -87,6 +88,14 @@ int main()
{
clock.restart();
toggle = !toggle; // Change something every half second
// Invert display every 4 seconds (8 cycles)
static int cycle_count = 0;
cycle_count++;
if (cycle_count % 8 == 0) {
renderer.invert_buffer();
inverted = !inverted;
}
// Clear buffer
for (int i = 0; i < sizeof(bit_buffer); i++)
@@ -131,9 +140,14 @@ int main()
renderer.draw_line(10, 200, 90, 250, true);
renderer.draw_line(110, 200, 190, 250, true);
// Demonstrate clipping - draw a circle that gets clipped
renderer.set_clip_rect(300, 200, 80, 60); // Small rectangle in bottom-right
renderer.draw_filled_circle(340, 230, 40, true); // Circle that extends outside clip rect
renderer.reset_clip_rect(); // Reset to full screen
// Text with different fonts
renderer.set_font(&font_acme_5_outlines);
renderer.draw_string_scaled(10, 10, "Drawing Demo", 2);
renderer.draw_string_scaled(10, 10, inverted ? "INVERTED MODE" : "Drawing Demo", 2);
renderer.set_font(&font_5x5);
renderer.draw_string_scaled(10, 270, command_buffer, 1);