From b3d1fa4c54f9a4eaf2f6cf67e656e516628ebb03 Mon Sep 17 00:00:00 2001 From: FrHun <28605587+frhun@users.noreply.github.com> Date: Mon, 13 Jun 2022 20:03:09 +0200 Subject: [PATCH] LibGUI: Add drawing triangle from coordinate list --- Userland/Libraries/LibGfx/Painter.cpp | 6 ++++++ Userland/Libraries/LibGfx/Painter.h | 1 + 2 files changed, 7 insertions(+) diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp index a8bfa88be8..efc3124e91 100644 --- a/Userland/Libraries/LibGfx/Painter.cpp +++ b/Userland/Libraries/LibGfx/Painter.cpp @@ -671,6 +671,12 @@ void Painter::draw_bitmap(IntPoint const& p, GlyphBitmap const& bitmap, Color co } } +void Painter::draw_triangle(IntPoint const& offset, Span control_points, Color color) +{ + VERIFY(control_points.size() == 3); + draw_triangle(control_points[0] + offset, control_points[1] + offset, control_points[2] + offset, color); +} + void Painter::draw_triangle(IntPoint const& a, IntPoint const& b, IntPoint const& c, Color color) { IntPoint p0(to_physical(a)); diff --git a/Userland/Libraries/LibGfx/Painter.h b/Userland/Libraries/LibGfx/Painter.h index c0e385710d..72cd8c1efd 100644 --- a/Userland/Libraries/LibGfx/Painter.h +++ b/Userland/Libraries/LibGfx/Painter.h @@ -57,6 +57,7 @@ public: void draw_scaled_bitmap(IntRect const& dst_rect, Gfx::Bitmap const&, IntRect const& src_rect, float opacity = 1.0f, ScalingMode = ScalingMode::NearestNeighbor); void draw_scaled_bitmap(IntRect const& dst_rect, Gfx::Bitmap const&, FloatRect const& src_rect, float opacity = 1.0f, ScalingMode = ScalingMode::NearestNeighbor); void draw_triangle(IntPoint const&, IntPoint const&, IntPoint const&, Color); + void draw_triangle(IntPoint const& offset, Span, Color); void draw_ellipse_intersecting(IntRect const&, Color, int thickness = 1); void set_pixel(IntPoint const&, Color, bool blend = false); void set_pixel(int x, int y, Color color, bool blend = false) { set_pixel({ x, y }, color, blend); }