@@ -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+
921980Object ? domGetConstructor (String constructorName) =>
922981 js_util.getProperty (domWindow, constructorName);
923982
0 commit comments