mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-10-21 07:29:53 +00:00
UI/AppKit: Set WC's max FPS to the max FPS of the current screen
This commit is contained in:
parent
c93c30d596
commit
b0d97c991f
Notes:
github-actions[bot]
2025-07-26 14:10:35 +00:00
Author: https://github.com/Lubrsi
Commit: b0d97c991f
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/5606
Reviewed-by: https://github.com/Psychpsyo
Reviewed-by: https://github.com/kalenikaliaksandr
6 changed files with 40 additions and 6 deletions
|
@ -20,18 +20,19 @@ static T scale_for_device(T size, float device_pixel_ratio)
|
|||
return size.template to_type<float>().scaled(device_pixel_ratio).template to_type<int>();
|
||||
}
|
||||
|
||||
ErrorOr<NonnullOwnPtr<WebViewBridge>> WebViewBridge::create(Vector<Web::DevicePixelRect> screen_rects, float device_pixel_ratio, Web::CSS::PreferredColorScheme preferred_color_scheme, Web::CSS::PreferredContrast preferred_contrast, Web::CSS::PreferredMotion preferred_motion)
|
||||
ErrorOr<NonnullOwnPtr<WebViewBridge>> WebViewBridge::create(Vector<Web::DevicePixelRect> screen_rects, float device_pixel_ratio, u64 maximum_frames_per_second, Web::CSS::PreferredColorScheme preferred_color_scheme, Web::CSS::PreferredContrast preferred_contrast, Web::CSS::PreferredMotion preferred_motion)
|
||||
{
|
||||
return adopt_nonnull_own_or_enomem(new (nothrow) WebViewBridge(move(screen_rects), device_pixel_ratio, preferred_color_scheme, preferred_contrast, preferred_motion));
|
||||
return adopt_nonnull_own_or_enomem(new (nothrow) WebViewBridge(move(screen_rects), device_pixel_ratio, maximum_frames_per_second, preferred_color_scheme, preferred_contrast, preferred_motion));
|
||||
}
|
||||
|
||||
WebViewBridge::WebViewBridge(Vector<Web::DevicePixelRect> screen_rects, float device_pixel_ratio, Web::CSS::PreferredColorScheme preferred_color_scheme, Web::CSS::PreferredContrast preferred_contrast, Web::CSS::PreferredMotion preferred_motion)
|
||||
WebViewBridge::WebViewBridge(Vector<Web::DevicePixelRect> screen_rects, float device_pixel_ratio, u64 maximum_frames_per_second, Web::CSS::PreferredColorScheme preferred_color_scheme, Web::CSS::PreferredContrast preferred_contrast, Web::CSS::PreferredMotion preferred_motion)
|
||||
: m_screen_rects(move(screen_rects))
|
||||
, m_preferred_color_scheme(preferred_color_scheme)
|
||||
, m_preferred_contrast(preferred_contrast)
|
||||
, m_preferred_motion(preferred_motion)
|
||||
{
|
||||
m_device_pixel_ratio = device_pixel_ratio;
|
||||
m_maximum_frames_per_second = static_cast<double>(maximum_frames_per_second);
|
||||
}
|
||||
|
||||
WebViewBridge::~WebViewBridge() = default;
|
||||
|
@ -50,6 +51,12 @@ void WebViewBridge::set_viewport_rect(Gfx::IntRect viewport_rect)
|
|||
handle_resize();
|
||||
}
|
||||
|
||||
void WebViewBridge::set_maximum_frames_per_second(u64 maximum_frames_per_second)
|
||||
{
|
||||
m_maximum_frames_per_second = static_cast<double>(maximum_frames_per_second);
|
||||
client().async_set_maximum_frames_per_second(m_client_state.page_index, maximum_frames_per_second);
|
||||
}
|
||||
|
||||
void WebViewBridge::update_palette()
|
||||
{
|
||||
auto theme = create_system_palette();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue