function transformCoordWithViewport(out, el, inX, inY, inverse) {
    if (el.getBoundingClientRect && env$1.domSupported && !isCanvasEl(el)) {
        var saved = el[EVENT_SAVED_PROP] || (el[EVENT_SAVED_PROP] = {});
        var markers = prepareCoordMarkers(el, saved);
        var transformer = preparePointerTransformer(markers, saved, inverse);
        if (transformer) {
            transformer(out, inX, inY);
            return true;
        }
    }
    return false;
}
Transform between a "viewport coord" and a "local coord".
"viewport coord": the coord based on the left-top corner of the viewport
    of the browser.
"local coord": the coord based on the input `el`. The origin point is at
    the position of "left: 0; top: 0;" in the `el`.

Support the case when CSS transform is used on el.

@param {Array.<number>} out [inX: number, inY: number] The output. If `inverse: false`,
       it represents "local coord", otherwise "vireport coord".
       If can not transform, `out` will not be modified but return `false`.
@param {HTMLElement} el The "local coord" is based on the `el`, see comment above.
@param {number} inX If `inverse: false`,
       it represents "vireport coord", otherwise "local coord".
@param {number} inY If `inverse: false`,
       it represents "vireport coord", otherwise "local coord".
@param {boolean} [inverse=false]
       `true`: from "viewport coord" to "local coord".
       `false`: from "local coord" to "viewport coord".
@return {boolean} Whether transform successfully.