From c7cdfd402ebdf4ab3a5d23b9b4a3f2b328b2804c Mon Sep 17 00:00:00 2001 From: Annika Date: Mon, 20 Jul 2026 15:03:13 -0700 Subject: [PATCH] started arc/circle plotting algorithm --- example | Bin 37000 -> 0 bytes example.cpp | 9 +++++++-- helpers.cpp | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) delete mode 100755 example diff --git a/example b/example deleted file mode 100755 index 01d258c51ae34186f9105e5ba54c097257929756..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37000 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 diff --git a/example.cpp b/example.cpp index b3373d5..bdedeec 100644 --- a/example.cpp +++ b/example.cpp @@ -38,14 +38,19 @@ int main(void) { UwU::Surface surface = UwU::Surface(w, h, onKey); + UwU::Color fuchsia = UwU::Color(0xb00b69ff); + UwU::Color red = UwU::Color(0xff0000ff); + UwU::Color green = UwU::Color(0x00ff00ff); + UwU::Color blue = UwU::Color(0x0000ffff); + // UwU::ColorShader fuchsia = UwU::ColorShader(UwU::Color(0xb00b69ff)); UwU::VGradientShader bisexual = UwU::VGradientShader(69, 420, UwU::Color(0xff0000ff), UwU::Color(0x0000ffff)); UwU::Rectangle rectangle = UwU::Rectangle(69, 69, 420, 420); rectangle.draw(surface.buffer, bisexual); - UwU::ColorShader green = UwU::ColorShader(UwU::Color(0x00ff00ff)); + UwU::ColorShader greenShader = UwU::ColorShader(green); UwU::Point point = UwU::Point(187, 37); - point.draw(surface.buffer, green); + point.draw(surface.buffer, greenShader); UwU::ColorShader blue = UwU::ColorShader(UwU::Color(0x0000ffff)); UwU::Trapezoid trapezoid = UwU::Trapezoid(100, 300, 690, 320, 720, 780); diff --git a/helpers.cpp b/helpers.cpp index e0f935c..6d95f65 100644 --- a/helpers.cpp +++ b/helpers.cpp @@ -90,5 +90,9 @@ namespace UwU { } return; } + + // plot a 90 degree arc + static void fastArc(uint16_t radius, uint16_t* LUT) { + } }; }