Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix zoom transformations to be based on display coordinates instead of data coordinates #602

Merged
merged 6 commits into from
Aug 17, 2023

Commits on Aug 17, 2023

  1. Configuration menu
    Copy the full SHA
    66fedf5 View commit details
    Browse the repository at this point in the history
  2. NumericAxis: fix switching between log and linear axis

    There was a small bug in the logAxis properties invalidation listener.
    It updated the cached value with a method that used the cached value
    resulting in a nop instead of updating it with the new value of the
    property.
    wirew0rm committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    6d586af View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    da296dd View commit details
    Browse the repository at this point in the history
  4. Axis: expose method to recompute transformation cache

    If the axis gets changed multiple times during event handling, but the
    cache is only updated during layout, axes transforms from the event
    handlers use outdated transformations.
    
    This has the effect that e.g. panning only applies the first mouse event
    in each pulse and the panning is a lot slower than the actual mouse
    movement.
    
    This adds a method to the axes which can be called by plugins which use
    and update the axis range.
    wirew0rm committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    d1304a1 View commit details
    Browse the repository at this point in the history
  5. Zoomer: base zoom calculations on pixels

    Previously the zoomer would perform the scroll-zoom and panning
    calculations in data coordinates. This is identical to pixel coordinates
    for linear axes, but for e.g. log axes this leads to strange behaviour
    since it can result in negative data values.
    
    This changes the Pan and pan and scroll behaviour, the rectangle zoom
    was naturally always using screen coordinates anyway, so this should
    also be more consistent.
    wirew0rm committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    a6d1596 View commit details
    Browse the repository at this point in the history
  6. Chart: position plugins using Panes instead of Groups

    It seems that groups are not well suited to positioning nodes on top of
    the graph. Replacing the Groups for the Plugins by Panes fixes an issue
    where the zoom rectangle would shift to the upper left corner of the
    chart area whenever there was a relayout while a rectangle zoom was
    ongoing.
    wirew0rm committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    e63d771 View commit details
    Browse the repository at this point in the history