mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-04 08:36:12 +00:00
Ladybird/WebView: Notify LibWeb whenever the viewport is scrolled
This commit is contained in:
parent
488da351c0
commit
345faff586
Notes:
sideshowbarker
2024-07-17 02:44:49 +09:00
Author: https://github.com/awesomekling
Commit: 345faff586
Pull-request: https://github.com/SerenityOS/serenity/pull/16583
Reviewed-by: https://github.com/ADKaster
Reviewed-by: https://github.com/linusg
2 changed files with 17 additions and 2 deletions
|
@ -363,6 +363,13 @@ WebView::WebView()
|
|||
|
||||
verticalScrollBar()->setSingleStep(24);
|
||||
horizontalScrollBar()->setSingleStep(24);
|
||||
|
||||
QObject::connect(verticalScrollBar(), &QScrollBar::valueChanged, [this](int) {
|
||||
update_viewport_rect();
|
||||
});
|
||||
QObject::connect(horizontalScrollBar(), &QScrollBar::valueChanged, [this](int) {
|
||||
update_viewport_rect();
|
||||
});
|
||||
}
|
||||
|
||||
WebView::~WebView()
|
||||
|
@ -648,8 +655,14 @@ void WebView::paintEvent(QPaintEvent* event)
|
|||
|
||||
void WebView::resizeEvent(QResizeEvent* event)
|
||||
{
|
||||
auto scaled_width = int(event->size().width() / m_inverse_pixel_scaling_ratio);
|
||||
auto scaled_height = int(event->size().height() / m_inverse_pixel_scaling_ratio);
|
||||
QAbstractScrollArea::resizeEvent(event);
|
||||
update_viewport_rect();
|
||||
}
|
||||
|
||||
void WebView::update_viewport_rect()
|
||||
{
|
||||
auto scaled_width = int(size().width() / m_inverse_pixel_scaling_ratio);
|
||||
auto scaled_height = int(size().height() / m_inverse_pixel_scaling_ratio);
|
||||
Gfx::IntRect rect(horizontalScrollBar()->value(), verticalScrollBar()->value(), scaled_width, scaled_height);
|
||||
m_page_client->set_viewport_rect(rect);
|
||||
}
|
||||
|
|
|
@ -57,6 +57,8 @@ signals:
|
|||
void favicon_changed(QIcon);
|
||||
|
||||
private:
|
||||
void update_viewport_rect();
|
||||
|
||||
OwnPtr<HeadlessBrowserPageClient> m_page_client;
|
||||
|
||||
qreal m_inverse_pixel_scaling_ratio { 1.0 };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue