mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 11:47:45 +00:00
Magnifier: Make the main widget a GUI::Frame
This makes the magnifier window look slightly nicer. :^)
This commit is contained in:
parent
782a5c88ce
commit
3e63633e1c
2 changed files with 11 additions and 8 deletions
|
@ -39,15 +39,18 @@ void MagnifierWidget::set_scale_factor(int scale_factor)
|
||||||
|
|
||||||
void MagnifierWidget::sync()
|
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();
|
m_grabbed_bitmap = GUI::WindowServerConnection::the().get_screen_bitmap_around_cursor(grab_size).bitmap();
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MagnifierWidget::paint_event(GUI::PaintEvent&)
|
void MagnifierWidget::paint_event(GUI::PaintEvent& event)
|
||||||
{
|
{
|
||||||
|
GUI::Frame::paint_event(event);
|
||||||
|
|
||||||
GUI::Painter painter(*this);
|
GUI::Painter painter(*this);
|
||||||
|
|
||||||
if (m_grabbed_bitmap)
|
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());
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,19 +6,19 @@
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <LibGUI/Widget.h>
|
#include <LibGUI/Frame.h>
|
||||||
#include <LibGfx/Point.h>
|
|
||||||
|
|
||||||
class MagnifierWidget final : public GUI::Widget {
|
class MagnifierWidget final : public GUI::Frame {
|
||||||
C_OBJECT(MagnifierWidget)
|
C_OBJECT(MagnifierWidget);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MagnifierWidget();
|
|
||||||
virtual ~MagnifierWidget();
|
virtual ~MagnifierWidget();
|
||||||
void set_scale_factor(int scale_factor);
|
void set_scale_factor(int scale_factor);
|
||||||
void track_cursor_globally();
|
void track_cursor_globally();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
MagnifierWidget();
|
||||||
|
|
||||||
virtual void paint_event(GUI::PaintEvent&) override;
|
virtual void paint_event(GUI::PaintEvent&) override;
|
||||||
|
|
||||||
void sync();
|
void sync();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue