/* * Copyright (c) 2021, Valtteri Koskivuori * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include #include class MagnifierWidget final : public GUI::Widget { C_OBJECT(MagnifierWidget) public: MagnifierWidget(); virtual ~MagnifierWidget(); void set_scale_factor(int scale_factor); void track_cursor_globally(); private: virtual void timer_event(Core::TimerEvent&) override; virtual void paint_event(GUI::PaintEvent&) override; Gfx::IntPoint m_mouse_position; int m_scale_factor { 2 }; };