В этом конкретном случае это для SVG. Я могу получить элемент SVG через запрос следующим образом:
Element svgEL = querySelector('svg');
Если я посмотрю на объект svgEL, он содержит (вкратце):
[[javascript view]]: svg
[[class]]: SvgSvgElementImpl
...
getScreenCTM: function() // I want to call this
...
Я предполагаю, что я каким-то образом создам JsObject, а затем сделаю callMethod, но, похоже, я не могу понять, как это сделать.
Есть идеи?
Спасибо Jonas за хедз-ап в дарт: svg library.
Оказывается, мне это не нужно, потому что я обрабатываю это в событии, а целевой объект события - это объект js 'g' (он находится на мыши). Итак, я смог получить то, что мне нужно:
var jsvg = event.target.ownerSvgElement;
var mtx = jsvg.getScreenCtm();
...
И тогда я могу создать точку и сделать обратное преобразование и все это.
Самый простой способ - использовать соответствующий класс Dart GraphicsElement
, это имеет метод getScreenCTM
https://api.dartlang.org/stable/1.23.0/dart-svg/GraphicsElement-class.html
Таким образом, для этого типа:
GraphicsElement gElem = svgEL as GraphicsElement;
gElem.getScreenCTM();