diff options
| author | Neil <nyamatongwe@gmail.com> | 2021-03-25 10:57:35 +1100 |
|---|---|---|
| committer | Neil <nyamatongwe@gmail.com> | 2021-03-25 10:57:35 +1100 |
| commit | 2f0011955fe7d3ac0b80247abc88ee0461104eb6 (patch) | |
| tree | 803c13dc6a4cfac883ab488c975149428adebf29 /win32 | |
| parent | fa10779da55ff13c95a0cd39bffdf57dcdfc9cc5 (diff) | |
| download | scintilla-mirror-2f0011955fe7d3ac0b80247abc88ee0461104eb6.tar.gz | |
Add FillRectangleAligned to align rectangle to pixel grid on x-axis before
filling it to avoid partially drawn pixels on left and right edges.
Diffstat (limited to 'win32')
| -rw-r--r-- | win32/PlatWin.cxx | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx index c902bad04..65a024565 100644 --- a/win32/PlatWin.cxx +++ b/win32/PlatWin.cxx @@ -497,6 +497,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; @@ -770,6 +771,10 @@ void SurfaceGDI::FillRectangle(PRectangle rc, Fill fill) { } } +void SurfaceGDI::FillRectangleAligned(PRectangle rc, Fill fill) { + FillRectangle(PixelAlign(rc, 1), fill); +} + void SurfaceGDI::FillRectangle(PRectangle rc, Surface &surfacePattern) { HBRUSH br; if (SurfaceGDI *psgdi = dynamic_cast<SurfaceGDI *>(&surfacePattern); psgdi && psgdi->bitmap) { @@ -1453,6 +1458,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; @@ -1879,6 +1885,10 @@ void SurfaceD2D::FillRectangle(PRectangle rc, Fill fill) { } } +void SurfaceD2D::FillRectangleAligned(PRectangle rc, Fill fill) { + FillRectangle(PixelAlign(rc, 1), fill); +} + void SurfaceD2D::FillRectangle(PRectangle rc, Surface &surfacePattern) { SurfaceD2D *psurfOther = dynamic_cast<SurfaceD2D *>(&surfacePattern); PLATFORM_ASSERT(psurfOther); |
