Interface WheelConverterInterface

Converts wheel events to a fixed value, trying to have a consistent behavior from browser to browsers.

Warning: Wheel events values may change from browser version changes.

Default implementation is given here:

import { BrowserType, WheelConverterInterface } from 'generated_files/documentation/appinfiniteapi';

// Wheel events are not really consistent from browser to browser
// this default implementation runs on current usual browsers
class DefaultWheelConverter implements WheelConverterInterface
{
// convert wheel event depending on browser and version
convertWheelEvent(pEvent: WheelEvent, pBrowserTpe : BrowserType, pIsEdgeChromium: boolean, _pBrowserVersion : string) : number
{
switch (pBrowserTpe) {
// firefox
case BrowserType.firefox:
return pEvent.deltaY * -1; // wheel value 3
// safari
case BrowserType.safari:
// (pEvent['wheelDelta'] < 0 ? -1 : 1)
return Math.min(24, Math.abs(pEvent['wheelDelta'])) * (1 - 2 * (<any>(pEvent['wheelDelta'] < 0) | 0)) * -15; // wheel value 12
// edge
case BrowserType.edge:
if (pIsEdgeChromium) {
return pEvent['wheelDelta'];
}
return pEvent['wheelDelta'] * 1.5; // wheel value 120
// internet explorer
case BrowserType.ie:
return pEvent.deltaY * -0.9; // wheel value 198.3
// default, mainly chrome
default:
if (pEvent['wheelDelta'] !== undefined) {
return pEvent['wheelDelta']; // wheel value 180
}
if (pEvent.deltaY !== undefined) {
return pEvent.deltaY * -60;
}
return 0;
}
}
}
export { DefaultWheelConverter };

Wheel Converters are installed/removed from InfiniteApiControllerInterface.setWheelConverter and InfiniteApiControllerInterface.restoreDefaultWheelConverter.
Events

interface WheelConverterInterface {
    convertWheelEvent(pEvent, pBrowserTpe, pIsEdgeChromium, pBrowserVersion): number;
}

Methods

  • Extracts the wheel event value used by the Infinite api to move the camera.

    Parameters

    • pEvent: WheelEvent
      in
      The event to retrieve data from.
    • pBrowserTpe: BrowserType
      in
      The current browser type the api is running on.
    • pIsEdgeChromium: boolean
      in
      Tells if the current browser is Edge, chromium based.
    • pBrowserVersion: string
      in
      The current version of the browser.

    Returns number

    The consistent wheel event value extracted from the wheel event.