From 46dacbfb3e2f63b2f4c63d34db7e856ed469932b Mon Sep 17 00:00:00 2001 From: AnotherTest Date: Mon, 25 May 2020 21:11:04 +0430 Subject: [PATCH] Eyes: Correctly calculate the eye bounds for arbitrary number of eyes --- Demos/Eyes/EyesWidget.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Demos/Eyes/EyesWidget.cpp b/Demos/Eyes/EyesWidget.cpp index e7a229c33c..b26f856daa 100644 --- a/Demos/Eyes/EyesWidget.cpp +++ b/Demos/Eyes/EyesWidget.cpp @@ -65,11 +65,12 @@ void EyesWidget::render_eyeball(int index, GUI::Painter& painter) const { auto eye_width = width() / m_num_eyes; Gfx::Rect bounds { index * eye_width, 0, eye_width, height() }; - auto thickness = max((width() + height()) / 15, 1); + auto width_thickness = max(int(eye_width / 5.5), 1); + auto height_thickness = max(int(height() / 5.5), 1); - bounds.shrink(width() / 25, 0); + bounds.shrink(int(eye_width / 12.5), 0); painter.fill_ellipse(bounds, palette().base_text()); - bounds.shrink(thickness, thickness); + bounds.shrink(width_thickness, height_thickness); painter.fill_ellipse(bounds, palette().base()); Gfx::Point pupil_center = this->pupil_center(bounds);