From 2f0011955fe7d3ac0b80247abc88ee0461104eb6 Mon Sep 17 00:00:00 2001 From: Neil Date: Thu, 25 Mar 2021 10:57:35 +1100 Subject: Add FillRectangleAligned to align rectangle to pixel grid on x-axis before filling it to avoid partially drawn pixels on left and right edges. --- gtk/PlatGTK.cxx | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gtk') diff --git a/gtk/PlatGTK.cxx b/gtk/PlatGTK.cxx index 5296691d1..1732c217e 100755 --- a/gtk/PlatGTK.cxx +++ b/gtk/PlatGTK.cxx @@ -172,6 +172,7 @@ public: void RectangleFrame(PRectangle rc, Stroke stroke) override; void FillRectangle(PRectangle rc, ColourDesired back) override; void FillRectangle(PRectangle rc, Fill fill) override; + void FillRectangleAligned(PRectangle rc, Fill fill) override; void FillRectangle(PRectangle rc, Surface &surfacePattern) override; void RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back) override; void RoundedRectangle(PRectangle rc, FillStroke fillStroke) override; @@ -592,6 +593,10 @@ void SurfaceImpl::FillRectangle(PRectangle rc, Fill fill) { } } +void SurfaceImpl::FillRectangleAligned(PRectangle rc, Fill fill) { + FillRectangle(PixelAlign(rc, 1), fill); +} + void SurfaceImpl::FillRectangle(PRectangle rc, Surface &surfacePattern) { SurfaceImpl &surfi = dynamic_cast(surfacePattern); if (context && surfi.psurf) { -- cgit v1.2.3