Class ZoomEvent

  • All Implemented Interfaces:
    Serializable, Cloneable

    public final class ZoomEvent
    extends GestureEvent
    Zoom event indicates that user performed zooming gesture such as dragging two fingers apart on track pad, touch screen or other similar device.

    The event is delivered to the top-most node picked on the gesture coordinates in time of the gesture start - the whole gesture is delivered to the same node even if the coordinates change during the gesture.

    The event provides two values: zoomFactor is the zooming amount of this event, totalZoomFactor is the zooming amount of the whole gesture. The values work well when multiplied with the node's scale properties (values greater than 1 for zooming in).

    As all gestures, zooming can be direct (performed directly at the concrete coordinates as on touch screen - the center point among all the touches is usually used as the gesture coordinates) or indirect (performed indirectly as on track pad - the mouse cursor location is usually used as the gesture coordinates).

    The gesture's ZOOM events are surounded by ZOOM_STARTED and ZOOM_FINISHED events. If zooming inertia is active on the given platform, some ZOOM events with isInertia() returning true can come after ZOOM_FINISHED.

    Since:
    JavaFX 2.2
    See Also:
    Serialized Form
    • Field Detail

      • ANY

        public static final EventType<ZoomEvent> ANY
        Common supertype for all zoom event types.
      • ZOOM

        public static final EventType<ZoomEvent> ZOOM
        This event occurs when user performs a zooming gesture such as dragging two fingers apart.
      • ZOOM_STARTED

        public static final EventType<ZoomEvent> ZOOM_STARTED
        This event occurs when a zooming gesture is detected.
      • ZOOM_FINISHED

        public static final EventType<ZoomEvent> ZOOM_FINISHED
        This event occurs when a zooming gesture ends.
    • Constructor Detail

      • ZoomEvent

        public ZoomEvent​(Object source,
                         EventTarget target,
                         EventType<ZoomEvent> eventType,
                         double x,
                         double y,
                         double screenX,
                         double screenY,
                         boolean shiftDown,
                         boolean controlDown,
                         boolean altDown,
                         boolean metaDown,
                         boolean direct,
                         boolean inertia,
                         double zoomFactor,
                         double totalZoomFactor,
                         PickResult pickResult)
        Constructs new ZoomEvent event.
        Parameters:
        source - the source of the event. Can be null.
        target - the target of the event. Can be null.
        eventType - The type of the event.
        x - The x with respect to the scene.
        y - The y with respect to the scene.
        screenX - The x coordinate relative to screen.
        screenY - The y coordinate relative to screen.
        shiftDown - true if shift modifier was pressed.
        controlDown - true if control modifier was pressed.
        altDown - true if alt modifier was pressed.
        metaDown - true if meta modifier was pressed.
        direct - true if the event was caused by direct input device. See GestureEvent.isDirect()
        inertia - if represents inertia of an already finished gesture.
        zoomFactor - zoom amount
        totalZoomFactor - cumulative zoom amount
        pickResult - pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinates and the target
        Since:
        JavaFX 8.0
      • ZoomEvent

        public ZoomEvent​(EventType<ZoomEvent> eventType,
                         double x,
                         double y,
                         double screenX,
                         double screenY,
                         boolean shiftDown,
                         boolean controlDown,
                         boolean altDown,
                         boolean metaDown,
                         boolean direct,
                         boolean inertia,
                         double zoomFactor,
                         double totalZoomFactor,
                         PickResult pickResult)
        Constructs new ZoomEvent event with null source and target.
        Parameters:
        eventType - The type of the event.
        x - The x with respect to the scene.
        y - The y with respect to the scene.
        screenX - The x coordinate relative to screen.
        screenY - The y coordinate relative to screen.
        shiftDown - true if shift modifier was pressed.
        controlDown - true if control modifier was pressed.
        altDown - true if alt modifier was pressed.
        metaDown - true if meta modifier was pressed.
        direct - true if the event was caused by direct input device. See GestureEvent.isDirect()
        inertia - if represents inertia of an already finished gesture.
        zoomFactor - zoom amount
        totalZoomFactor - cumulative zoom amount
        pickResult - pick result. Can be null, in this case a 2D pick result without any further values is constructed based on the scene coordinates
        Since:
        JavaFX 8.0
    • Method Detail

      • getZoomFactor

        public double getZoomFactor()
        Gets the zooming amount of this event. The factor value works well when multiplied with the node's scale properties (values greater than 1 for zooming in, values between 0 and 1 for zooming out).
        Returns:
        The zooming amount of this event
      • getTotalZoomFactor

        public double getTotalZoomFactor()
        Gets the zooming amount of this gesture. The factor value works well when multiplied with the node's scale properties (values greater than 1 for zooming in, values between 0 and 1 for zooming out).
        Returns:
        The cumulative zooming amount of this gesture
      • toString

        public String toString()
        Returns a string representation of this ZoomEvent object.
        Overrides:
        toString in class GestureEvent
        Returns:
        a string representation of this ZoomEvent object.
      • copyFor

        public ZoomEvent copyFor​(Object newSource,
                                 EventTarget newTarget,
                                 EventType<ZoomEvent> type)
        Creates a copy of the given event with the given fields substituted.
        Parameters:
        newSource - the new source of the copied event
        newTarget - the new target of the copied event
        type - the new eventType
        Returns:
        the event copy with the fields substituted
        Since:
        JavaFX 8.0