Class ImageManager

ImageManager does three things:

  1. Tracks requests for icon images from tile workers and sends responses when the requests are fulfilled.
  2. Builds a texture atlas for pattern images.
  3. Rerenders renderable images once per frame

These are disparate responsibilities and should eventually be handled by different classes. When we implement data-driven support for *-pattern, we'll likely use per-bucket pattern atlases, and that would be a good time to refactor this.

Hierarchy (view full)

Properties

requestors: {
    ids: string[];
    promiseResolve: ((value) => void);
}[]

This is used to track requests for images that are not yet available. When the image is loaded, the requestors will be notified.

Type declaration

  • ids: string[]
  • promiseResolve: ((value) => void)

Methods

  • Returns a true if this instance of Evented or any forwardeed instances of Evented have a listener for the specified type.

    Parameters

    • type: string

      The event type

    Returns boolean

    true if there is at least one registered listener for specified event type, false otherwise

  • Removes a previously registered event listener.

    Parameters

    • type: string

      The event type to remove listeners for.

    • listener: Listener

      The listener function to remove.

    Returns ImageManager

  • Adds a listener to a specified event type.

    Parameters

    • type: string

      The event type to add a listen for.

    • listener: Listener

      The function to be called when the event is fired. The listener function is called with the data object passed to fire, extended with target and type properties.

    Returns this

  • Adds a listener that will be called only once to a specified event type.

    The listener will be called first time the event fires after the listener is registered.

    Parameters

    • type: string

      The event type to listen for.

    • Optional listener: Listener

      The function to be called when the event is fired the first time.

    Returns Promise<any> | ImageManager

    this or a promise if a listener is not provided