Skip to content

Emit zoom end event 150 ms after last wheel event which had an effect #158

@Herst

Description

@Herst

Currently a zoom end event is emitted 150 ms after the last wheel event. How about changing to 150 ms after the last wheel event which made a difference, so that wheel events which were ignored because the scale extent has been reached don't count towards the timeout?

This would be consistent with the current behaviour of the start event (because there is no start even if "already at the corresponding limit of the scale extent.")

In my specific use case I have non-linear scaling for certain elements in place in order to e.g. make important lines and symbols still visible at certain zoom levels (think of hinting in typography) but for this I do a costly redrawing of a lot of stuff which is why I only do it at the end of a zoom operation and during the zoom I am only relying on transform="scale(...)". Now with user which are wild with their scroll wheels (or equivalent) and continue scrolling even after the limit has been reached, you get the end event much later and so they see the results of the smart scaling later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions