@@ -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 ()
@@ -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 ()
@@ -898,6 +900,63 @@ DomPath2D createDomPath2D([Object? path]) =>
898900 domCallConstructorString ('Path2D' , < Object > [if (path != null ) path])!
899901 as DomPath2D ;
900902
903+ @JS ()
904+ @staticInterop
905+ class DomMouseEvent extends DomUIEvent {}
906+
907+ extension DomMouseEventExtension on DomMouseEvent {
908+ external num get clientX;
909+ external num get clientY;
910+ external int get button;
911+ external int ? get buttons;
912+ external bool getModifierState (String keyArg);
913+ }
914+
915+ @JS ()
916+ @staticInterop
917+ class DomPointerEvent extends DomMouseEvent {}
918+
919+ extension DomPointerEventExtension on DomPointerEvent {
920+ external int ? get pointerId;
921+ external String ? get pointerType;
922+ external num ? get pressure;
923+ external int ? get tiltX;
924+ external int ? get tiltY;
925+ List <DomPointerEvent > getCoalescedEvents () =>
926+ js_util.callMethod <List <Object ?>>(
927+ this , 'getCoalescedEvents' , < Object > []).cast <DomPointerEvent >();
928+ }
929+
930+ @JS ()
931+ @staticInterop
932+ class DomWheelEvent extends DomMouseEvent {}
933+
934+ extension DomWheelEventExtension on DomWheelEvent {
935+ external num get deltaX;
936+ external num get deltaY;
937+ external int get deltaMode;
938+ }
939+
940+ @JS ()
941+ @staticInterop
942+ class DomTouchEvent extends DomUIEvent {}
943+
944+ extension DomTouchEventExtension on DomTouchEvent {
945+ List <DomTouch >? get changedTouches => js_util
946+ .getProperty <List <Object ?>?>(this , 'changedTouches' )
947+ ? .cast <DomTouch >();
948+ }
949+
950+ @JS ()
951+ @staticInterop
952+ class DomTouch {}
953+
954+ extension DomTouchExtension on DomTouch {
955+ external int ? get identifier;
956+ external num ? get clientX;
957+ external num ? get clientY;
958+ }
959+
901960Object ? domGetConstructor (String constructorName) =>
902961 js_util.getProperty (domWindow, constructorName);
903962
0 commit comments