mirror of
https://github.com/RGBCube/serenity
synced 2025-06-09 04:12:06 +00:00

This lets the user zoom in and out on a web page using the View menu or keyboard shortcuts. This does not implement zooming with ctrl+scroll. In the future, it'd be nice to embed the zoom level display inside the location toolbar. But to do that, we will need to invent our own custom search field and all of the UI classes (controller, cell, etc.) to draw the field. So for now, this places the zoom level display to the right of the location toolbar.
66 lines
1.6 KiB
Objective-C
66 lines
1.6 KiB
Objective-C
/*
|
|
* Copyright (c) 2023, Tim Flynn <trflynn89@serenityos.org>
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <AK/Forward.h>
|
|
#include <LibGfx/Forward.h>
|
|
#include <LibWeb/CSS/PreferredColorScheme.h>
|
|
#include <LibWeb/HTML/ActivateTab.h>
|
|
#include <LibWebView/Forward.h>
|
|
|
|
#import <System/Cocoa.h>
|
|
|
|
@protocol LadybirdWebViewObserver <NSObject>
|
|
|
|
- (String const&)onCreateNewTab:(URL const&)url
|
|
activateTab:(Web::HTML::ActivateTab)activate_tab;
|
|
|
|
- (String const&)onCreateNewTab:(StringView)html
|
|
url:(URL const&)url
|
|
activateTab:(Web::HTML::ActivateTab)activate_tab;
|
|
|
|
- (void)loadURL:(URL const&)url;
|
|
- (void)onLoadStart:(URL const&)url isRedirect:(BOOL)is_redirect;
|
|
- (void)onLoadFinish:(URL const&)url;
|
|
- (void)onThemeColorChange:(Color)color;
|
|
|
|
- (void)onTitleChange:(DeprecatedString const&)title;
|
|
- (void)onFaviconChange:(Gfx::Bitmap const&)bitmap;
|
|
|
|
- (void)onNavigateBack;
|
|
- (void)onNavigateForward;
|
|
- (void)onReload;
|
|
|
|
@end
|
|
|
|
@interface LadybirdWebView : NSClipView
|
|
|
|
- (instancetype)init:(id<LadybirdWebViewObserver>)observer;
|
|
|
|
- (void)loadURL:(URL const&)url;
|
|
- (void)loadHTML:(StringView)html;
|
|
|
|
- (WebView::ViewImplementation&)view;
|
|
- (String const&)handle;
|
|
|
|
- (void)handleResize;
|
|
- (void)handleDevicePixelRatioChange;
|
|
- (void)handleScroll;
|
|
- (void)handleVisibility:(BOOL)is_visible;
|
|
|
|
- (void)setPreferredColorScheme:(Web::CSS::PreferredColorScheme)color_scheme;
|
|
|
|
- (void)zoomIn;
|
|
- (void)zoomOut;
|
|
- (void)resetZoom;
|
|
- (float)zoomLevel;
|
|
|
|
- (void)debugRequest:(DeprecatedString const&)request argument:(DeprecatedString const&)argument;
|
|
|
|
- (void)viewSource;
|
|
|
|
@end
|