Magnifier: Make the main widget a GUI::Frame

This makes the magnifier window look slightly nicer. :^)
This commit is contained in:
Andreas Kling 2021-07-04 22:33:28 +02:00
parent 782a5c88ce
commit 3e63633e1c
Notes: sideshowbarker 2024-07-18 10:26:13 +09:00
2 changed files with 11 additions and 8 deletions
Userland/Applications/Magnifier

View file

@ -39,15 +39,18 @@ void MagnifierWidget::set_scale_factor(int scale_factor)
void MagnifierWidget::sync()
{
Gfx::IntSize grab_size { size().width() / m_scale_factor, size().height() / m_scale_factor };
auto size = frame_inner_rect().size();
Gfx::IntSize grab_size { size.width() / m_scale_factor, size.height() / m_scale_factor };
m_grabbed_bitmap = GUI::WindowServerConnection::the().get_screen_bitmap_around_cursor(grab_size).bitmap();
update();
}
void MagnifierWidget::paint_event(GUI::PaintEvent&)
void MagnifierWidget::paint_event(GUI::PaintEvent& event)
{
GUI::Frame::paint_event(event);
GUI::Painter painter(*this);
if (m_grabbed_bitmap)
painter.draw_scaled_bitmap(rect(), *m_grabbed_bitmap, m_grabbed_bitmap->rect());
painter.draw_scaled_bitmap(frame_inner_rect(), *m_grabbed_bitmap, m_grabbed_bitmap->rect());
}

View file

@ -6,19 +6,19 @@
#pragma once
#include <LibGUI/Widget.h>
#include <LibGfx/Point.h>
#include <LibGUI/Frame.h>
class MagnifierWidget final : public GUI::Widget {
C_OBJECT(MagnifierWidget)
class MagnifierWidget final : public GUI::Frame {
C_OBJECT(MagnifierWidget);
public:
MagnifierWidget();
virtual ~MagnifierWidget();
void set_scale_factor(int scale_factor);
void track_cursor_globally();
private:
MagnifierWidget();
virtual void paint_event(GUI::PaintEvent&) override;
void sync();