Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 094e009

Browse files
committed
[29]
1 parent d792826 commit 094e009

File tree

4 files changed

+159
-95
lines changed

4 files changed

+159
-95
lines changed

lib/web_ui/lib/src/engine/dom.dart

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ extension DomWindowExtension on DomWindow {
4040
external DomURL get URL;
4141
external bool dispatchEvent(DomEvent event);
4242
external DomMediaQueryList matchMedia(String? query);
43+
external DomCSSStyleDeclaration getComputedStyle(DomElement elt);
4344
}
4445

4546
@JS()
@@ -187,6 +188,7 @@ extension DomNodeExtension on DomNode {
187188
set text(String? value) =>
188189
js_util.setProperty<String?>(this, 'textContent', value);
189190
external DomNode cloneNode(bool? deep);
191+
external bool contains(DomNode? other);
190192
}
191193

192194
@JS()
@@ -918,6 +920,63 @@ DomPath2D createDomPath2D([Object? path]) =>
918920
domCallConstructorString('Path2D', <Object>[if (path != null) path])!
919921
as DomPath2D;
920922

923+
@JS()
924+
@staticInterop
925+
class DomMouseEvent extends DomUIEvent {}
926+
927+
extension DomMouseEventExtension on DomMouseEvent {
928+
external num get clientX;
929+
external num get clientY;
930+
external int get button;
931+
external int? get buttons;
932+
external bool getModifierState(String keyArg);
933+
}
934+
935+
@JS()
936+
@staticInterop
937+
class DomPointerEvent extends DomMouseEvent {}
938+
939+
extension DomPointerEventExtension on DomPointerEvent {
940+
external int? get pointerId;
941+
external String? get pointerType;
942+
external num? get pressure;
943+
external int? get tiltX;
944+
external int? get tiltY;
945+
List<DomPointerEvent> getCoalescedEvents() =>
946+
js_util.callMethod<List<Object?>>(
947+
this, 'getCoalescedEvents', <Object>[]).cast<DomPointerEvent>();
948+
}
949+
950+
@JS()
951+
@staticInterop
952+
class DomWheelEvent extends DomMouseEvent {}
953+
954+
extension DomWheelEventExtension on DomWheelEvent {
955+
external num get deltaX;
956+
external num get deltaY;
957+
external int get deltaMode;
958+
}
959+
960+
@JS()
961+
@staticInterop
962+
class DomTouchEvent extends DomUIEvent {}
963+
964+
extension DomTouchEventExtension on DomTouchEvent {
965+
List<DomTouch>? get changedTouches => js_util
966+
.getProperty<List<Object?>?>(this, 'changedTouches')
967+
?.cast<DomTouch>();
968+
}
969+
970+
@JS()
971+
@staticInterop
972+
class DomTouch {}
973+
974+
extension DomTouchExtension on DomTouch {
975+
external int? get identifier;
976+
external num? get clientX;
977+
external num? get clientY;
978+
}
979+
921980
Object? domGetConstructor(String constructorName) =>
922981
js_util.getProperty(domWindow, constructorName);
923982

lib/web_ui/lib/src/engine/embedder.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ class FlutterViewEmbedder {
336336
_sceneHostElement!.style.opacity = '0.3';
337337
}
338338

339-
PointerBinding.initInstance(glassPaneElement as html.Element);
339+
PointerBinding.initInstance(glassPaneElement);
340340
KeyboardBinding.initInstance(glassPaneElement);
341341

342342
if (html.window.visualViewport == null && isWebKit) {

0 commit comments

Comments
 (0)