1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:07:35 +00:00

Eyes: Correctly calculate the eye bounds for arbitrary number of eyes

This commit is contained in:
AnotherTest 2020-05-25 21:11:04 +04:30 committed by Andreas Kling
parent 07af2e6b2c
commit 46dacbfb3e

View file

@ -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);