1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-26 08:37:45 +00:00

Demos: Fix a bunch of incorrect use of GUI::PaintEvent::rect()

A bunch of programs were using the paint event rect as the rect
to draw into. Since the event rect could be any invalidated part
of the widget, we need to be passing the full Widget::rect().
This commit is contained in:
Andreas Kling 2021-05-09 10:11:30 +02:00
parent 6998fa5c54
commit 41dc73adc4
6 changed files with 8 additions and 14 deletions

View file

@ -78,9 +78,7 @@ void Cube::paint_event(GUI::PaintEvent& event)
{ {
GUI::Painter painter(*this); GUI::Painter painter(*this);
painter.add_clip_rect(event.rect()); painter.add_clip_rect(event.rect());
painter.draw_scaled_bitmap(rect(), *m_bitmap, m_bitmap->rect());
/* Blit it! */
painter.draw_scaled_bitmap(event.rect(), *m_bitmap, m_bitmap->rect());
} }
void Cube::timer_event(Core::TimerEvent&) void Cube::timer_event(Core::TimerEvent&)

View file

@ -118,9 +118,7 @@ void Fire::paint_event(GUI::PaintEvent& event)
GUI::Painter painter(*this); GUI::Painter painter(*this);
painter.add_clip_rect(event.rect()); painter.add_clip_rect(event.rect());
painter.draw_scaled_bitmap(rect(), *bitmap, bitmap->rect());
/* Blit it! */
painter.draw_scaled_bitmap(event.rect(), *bitmap, bitmap->rect());
timeAvg += timer.elapsed(); timeAvg += timer.elapsed();
cycles++; cycles++;

View file

@ -62,9 +62,7 @@ void GLContextWidget::paint_event(GUI::PaintEvent& event)
{ {
GUI::Painter painter(*this); GUI::Painter painter(*this);
painter.add_clip_rect(event.rect()); painter.add_clip_rect(event.rect());
painter.draw_scaled_bitmap(rect(), *m_bitmap, m_bitmap->rect());
/* Blit it! */
painter.draw_scaled_bitmap(event.rect(), *m_bitmap, m_bitmap->rect());
} }
void GLContextWidget::timer_event(Core::TimerEvent&) void GLContextWidget::timer_event(Core::TimerEvent&)

View file

@ -47,7 +47,8 @@ Canvas::~Canvas()
void Canvas::paint_event(GUI::PaintEvent& event) void Canvas::paint_event(GUI::PaintEvent& event)
{ {
GUI::Painter painter(*this); GUI::Painter painter(*this);
painter.draw_scaled_bitmap(event.rect(), *m_bitmap, m_bitmap->rect()); painter.add_clip_rect(event.rect());
painter.draw_scaled_bitmap(rect(), *m_bitmap, m_bitmap->rect());
} }
void Canvas::draw() void Canvas::draw()

View file

@ -69,7 +69,8 @@ void Screensaver::keydown_event(GUI::KeyEvent&)
void Screensaver::paint_event(GUI::PaintEvent& event) void Screensaver::paint_event(GUI::PaintEvent& event)
{ {
GUI::Painter painter(*this); GUI::Painter painter(*this);
painter.draw_scaled_bitmap(event.rect(), *m_bitmap, m_bitmap->rect()); painter.add_clip_rect(event.rect());
painter.draw_scaled_bitmap(rect(), *m_bitmap, m_bitmap->rect());
} }
void Screensaver::timer_event(Core::TimerEvent&) void Screensaver::timer_event(Core::TimerEvent&)

View file

@ -90,11 +90,9 @@ void Starfield::keydown_event(GUI::KeyEvent&)
void Starfield::paint_event(GUI::PaintEvent& event) void Starfield::paint_event(GUI::PaintEvent& event)
{ {
GUI::Painter painter(*this); GUI::Painter painter(*this);
painter.add_clip_rect(event.rect()); painter.add_clip_rect(event.rect());
painter.draw_scaled_bitmap(rect(), *m_bitmap, m_bitmap->rect());
painter.draw_scaled_bitmap(event.rect(), *m_bitmap, m_bitmap->rect());
} }
void Starfield::timer_event(Core::TimerEvent&) void Starfield::timer_event(Core::TimerEvent&)