1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:48:14 +00:00

Browser: Implement zoom :^)

Largely based on the Ladybird implementation in 0cc151b.
This commit is contained in:
Linus Groh 2023-01-12 18:31:14 +00:00
parent 966d808135
commit 36866730ce
3 changed files with 60 additions and 0 deletions

View file

@ -77,6 +77,10 @@ public:
void set_system_visibility_state(bool visible);
void zoom_in();
void zoom_out();
void reset_zoom();
Gfx::ShareableBitmap take_screenshot() const;
Gfx::ShareableBitmap take_document_screenshot();
@ -121,6 +125,10 @@ public:
Function<void()> on_forward_button;
private:
static constexpr auto ZOOM_MIN_LEVEL = 0.3f;
static constexpr auto ZOOM_MAX_LEVEL = 5.0f;
static constexpr auto ZOOM_STEP = 0.1f;
OutOfProcessWebView();
// ^Widget
@ -197,6 +205,7 @@ private:
void request_repaint();
void handle_resize();
void update_zoom();
void create_client();
WebContentClient& client();
@ -231,6 +240,9 @@ private:
Queue<InputEvent> m_pending_input_events;
bool m_content_scales_to_viewport { false };
float m_zoom_level { 1.0 };
float m_device_pixel_ratio { 1.0 };
};
}