Skip to content

Commit 5be2dcb

Browse files
authored
Feature/wasm (#24)
* updated display_metrics_web * updated display_metrics
1 parent 6c8fa0e commit 5be2dcb

File tree

5 files changed

+18
-11
lines changed

5 files changed

+18
-11
lines changed

display_metrics/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 2.1.0
2+
* WASM support
3+
14
## 2.0.1
25
* README.md updated
36

display_metrics/pubspec.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: display_metrics
22
description: Flutter plugin to retrieve device display metrics (resolution, size, PPI, diagonal). Convert inches & mm to Flutter logical pixels.
33
homepage: https://github.com/nukeolay/display_metrics/tree/main/display_metrics
4-
version: 2.0.1
4+
version: 2.1.0
55

66
environment:
77
sdk: '>=3.1.2 <4.0.0'
@@ -15,7 +15,7 @@ dependencies:
1515
display_metrics_ios: ^1.1.0
1616
display_metrics_windows: ^1.1.0
1717
display_metrics_macos: ^1.1.0
18-
display_metrics_web: ^0.1.0
18+
display_metrics_web: ^0.2.0
1919
display_metrics_linux: ^1.1.0
2020

2121
dev_dependencies:

display_metrics_web/CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 0.2.0
2+
* WASM support
3+
14
## 0.1.0
25
* Updated *display_metrics_platform_interface* dependency (1.1.0)
36

display_metrics_web/lib/display_metrics_web.dart

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import 'dart:ui';
2-
import 'dart:html' as html;
2+
3+
import 'package:web/web.dart' as web;
34

45
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
56
import 'package:display_metrics_platform_interface/display_metrics_platform_interface.dart';
@@ -15,11 +16,10 @@ class DisplayMetricsPlugin extends DisplayMetricsPlatform {
1516

1617
@override
1718
Future<Size?> getResolution() async {
18-
final devicePixelRatio = html.window.devicePixelRatio;
19-
final screen = html.window.screen;
20-
final width = screen?.width?.toDouble();
21-
final height = screen?.height?.toDouble();
22-
if (width == null || height == null) return null;
19+
final devicePixelRatio = web.window.devicePixelRatio;
20+
final screen = web.window.screen;
21+
final width = screen.width.toDouble();
22+
final height = screen.height.toDouble();
2323
return Size(
2424
width * devicePixelRatio,
2525
height * devicePixelRatio,
@@ -30,9 +30,9 @@ class DisplayMetricsPlugin extends DisplayMetricsPlatform {
3030
Future<Size?> getSize() async {
3131
final resolution = await getResolution();
3232
if (resolution == null) return null;
33-
final div = html.DivElement();
33+
final div = web.document.createElement('div') as web.HTMLDivElement;
3434
div.style.width = '1in';
35-
html.document.body!.append(div);
35+
web.document.body!.append(div);
3636
final dpi = div.offsetWidth;
3737
div.remove();
3838
return Size(

display_metrics_web/pubspec.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: display_metrics_web
22
description: Web platform implementation of display_metrics plugin. This package will be automatically included in your app when you use display_metrics in Web project
33
homepage: https://github.com/nukeolay/display_metrics/tree/main/display_metrics_web
4-
version: 0.1.0
4+
version: 0.2.0
55

66
environment:
77
sdk: '>=3.1.2 <4.0.0'
@@ -13,6 +13,7 @@ dependencies:
1313
flutter_web_plugins:
1414
sdk: flutter
1515
display_metrics_platform_interface: ^1.1.0
16+
web: ^1.1.1
1617

1718
dev_dependencies:
1819
flutter_test:

0 commit comments

Comments
 (0)