Fix some problematic ellipse plotter cases (like 4x36)

This commit is contained in:
elasota
2020-01-20 05:00:44 -05:00
parent 610c72b9bb
commit 1d7a75c8a9
2 changed files with 15 additions and 9 deletions

View File

@@ -1014,9 +1014,15 @@ void DrawSurface::SetSystemFont(int size, int variationFlags)
void DrawSurface::FillEllipse(const Rect &rect)
{
if (!rect.IsValid())
if (!rect.IsValid() || rect.Width() < 1 || rect.Height() < 1)
return;
if (rect.Width() <= 2 || rect.Height() <= 2)
{
FillRect(rect);
return;
}
PortabilityLayer::ScanlineMask *mask = PortabilityLayer::ScanlineMaskConverter::CompileEllipse(PortabilityLayer::Rect2i(rect.top, rect.left, rect.bottom, rect.right));
if (mask)
{