希望增加windows版本页面缩放(pageZoom)
enhancement
### Is there an existing feature request for this?
- [x] I have searched the existing feature request
### Operating System
Windows
### Pain
Macos已经支持pageZoom, 希望windows也能在未来版本支持缩放。
### Suggested solution
这个是我实现的方法
1,增加定义 (文件C:\Users\vvs\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\flutter_inappwebview_windows-0.7.0-beta.2\windows\in_app_webview\in_app_webview_settings.h)
34行:double pageZoom =1.0;
2,增加实现(文件C:\Users\vvs\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\flutter_inappwebview_windows-0.7.0-beta.2\windows\in_app_webview\in_app_webview_settings.cpp)
44行: pageZoom = get_fl_map_value(encodableMap, "pageZoom", pageZoom);
80行:{"pageZoom", pageZoom},
3,功能实现 C:\Users\vvs\AppData\Local\Pub\Cache\hosted\pub.flutter-io.cn\flutter_inappwebview_windows-0.7.0-beta.2\windows\in_app_webview\in_app_webview.cpp
在函数 void InAppWebView::prepare(const InAppWebViewCreationParams& params)
a,在行if (succeededOrLog(hrWebView2Settings)) {
下面增加 this->webViewController->put_ZoomFactor(settings->pageZoom);
b,在行 void InAppWebView::setSettings(const std::shared_ptr<InAppWebViewSettings> newSettings, const flutter::EncodableMap& newSettingsMap)
下面的 if (succeededOrLog(webView->get_Settings(&webView2Settings))) {
下面增加:
if (fl_map_contains_not_null(newSettingsMap, "pageZoom") && settings->pageZoom != newSettings->pageZoom) {
settings->pageZoom= newSettings->pageZoom;
this->webViewController->put_ZoomFactor(settings->pageZoom);
}
这样flutter代码中就能调用pageZoom,也能在windows很好的支持
### Useful resources
_No response_
### Additional information
_No response_
### Self grab
- [x] I'm ready to work on this issue!
0 条评论