@@ -40,6 +40,7 @@ extension DomWindowExtension on DomWindow {
4040 DomURL get URL => createURL ();
4141 external bool dispatchEvent (DomEvent event);
4242 external DomMediaQueryList matchMedia (String ? query);
43+ external DomCSSStyleDeclaration getComputedStyle (DomElement elt);
4344}
4445
4546@JS ()
@@ -186,6 +187,7 @@ extension DomNodeExtension on DomNode {
186187 set text (String ? value) =>
187188 js_util.setProperty <String ?>(this , 'textContent' , value);
188189 external DomNode cloneNode (bool ? deep);
190+ external bool contains (DomNode ? other);
189191}
190192
191193@JS ()
@@ -904,6 +906,63 @@ DomPath2D createDomPath2D([Object? path]) =>
904906 domCallConstructorString ('Path2D' , < Object > [if (path != null ) path])!
905907 as DomPath2D ;
906908
909+ @JS ()
910+ @staticInterop
911+ class DomMouseEvent extends DomUIEvent {}
912+
913+ extension DomMouseEventExtension on DomMouseEvent {
914+ external num get clientX;
915+ external num get clientY;
916+ external int get button;
917+ external int ? get buttons;
918+ external bool getModifierState (String keyArg);
919+ }
920+
921+ @JS ()
922+ @staticInterop
923+ class DomPointerEvent extends DomMouseEvent {}
924+
925+ extension DomPointerEventExtension on DomPointerEvent {
926+ external int ? get pointerId;
927+ external String ? get pointerType;
928+ external num ? get pressure;
929+ external int ? get tiltX;
930+ external int ? get tiltY;
931+ List <DomPointerEvent > getCoalescedEvents () =>
932+ js_util.callMethod <List <Object ?>>(
933+ this , 'getCoalescedEvents' , < Object > []).cast <DomPointerEvent >();
934+ }
935+
936+ @JS ()
937+ @staticInterop
938+ class DomWheelEvent extends DomMouseEvent {}
939+
940+ extension DomWheelEventExtension on DomWheelEvent {
941+ external num get deltaX;
942+ external num get deltaY;
943+ external int get deltaMode;
944+ }
945+
946+ @JS ()
947+ @staticInterop
948+ class DomTouchEvent extends DomUIEvent {}
949+
950+ extension DomTouchEventExtension on DomTouchEvent {
951+ List <DomTouch >? get changedTouches => js_util
952+ .getProperty <List <Object ?>?>(this , 'changedTouches' )
953+ ? .cast <DomTouch >();
954+ }
955+
956+ @JS ()
957+ @staticInterop
958+ class DomTouch {}
959+
960+ extension DomTouchExtension on DomTouch {
961+ external int ? get identifier;
962+ external num ? get clientX;
963+ external num ? get clientY;
964+ }
965+
907966Object ? domGetConstructor (String constructorName) =>
908967 js_util.getProperty (domWindow, constructorName);
909968
0 commit comments