Libraries.Interface.Events.MouseMovementListener Documentation

The MouseMovementListener class is used to listen for and react to MouseEvents where the user has moved or dragged the mouse. To use a MouseMovementListener in a program, users should make a new class that inherits from it and overrides MovedMouse and/or DraggedMous

Inherits from: Libraries.Language.Object

Summary

Actions Summary Table

ActionsDescription
Compare(Libraries.Language.Object object)This action compares two object hash codes and returns an integer.
DraggedMouse(Libraries.Interface.Events.MouseEvent event)This action is used to respond to a MouseEvent where the mouse was dragged (the mouse was moved while a button was held).
Equals(Libraries.Language.Object object)This action determines if two objects are equal based on their hash code values.
GetHashCode()This action gets the hash code for an object.
MovedMouse(Libraries.Interface.Events.MouseEvent event)This action is used to respond to a MouseEvent created by the mouse moving.

Actions Documentation

Compare(Libraries.Language.Object object)

This action compares two object hash codes and returns an integer. The result is larger if this hash code is larger than the object passed as a parameter, smaller, or equal. In this case, -1 means smaller, 0 means equal, and 1 means larger. This action was changed in Quorum 7 to return an integer, instead of a CompareResult object, because the previous implementation was causing efficiency issues.

Example Code

Object o
        Object t
        integer result = o:Compare(t) //1 (larger), 0 (equal), or -1 (smalle

Parameters

Return

integer: The Compare result, Smaller, Equal, or Larger.

DraggedMouse(Libraries.Interface.Events.MouseEvent event)

This action is used to respond to a MouseEvent where the mouse was dragged (the mouse was moved while a button was held).

Example Code

use Libraries.Game.Game
    use Libraries.Interface.Events.MouseEvent
    use Libraries.Interface.Events.MouseListener
    use Libraries.Interface.Events.MouseMovementListener

    // To try this example, click anywhere on the screen, drag the mouse, and release.
    class Main is Game, MouseListener, MouseMovementListener

        // Variables used to store the sum of the mouse movement between mouse
        // click and mouse release.
        integer sumX = 0
        integer sumY = 0

        action Main
            StartGame()
        end

        action CreateGame
            AddMouseListener(me)
            AddMouseMovementListener(me)
        end

        action ClickedMouse(MouseEvent event)
            sumX = 0
            sumY = 0
        end

        action DraggedMouse(MouseEvent event)
            sumX = sumX + event:GetMovementX()
            sumY = sumY + event:GetMovementY()
        end

        action ReleasedMouse(MouseEvent event)
            output "The total distance moved between mouse clicked and released was " + sumX + ", " + sumY
        end
    e

Parameters

Equals(Libraries.Language.Object object)

This action determines if two objects are equal based on their hash code values.

Example Code

use Libraries.Language.Object
        use Libraries.Language.Types.Text
        Object o
        Text t
        boolean result = o:Equals(

Parameters

Return

boolean: True if the hash codes are equal and false if they are not equal.

GetHashCode()

This action gets the hash code for an object.

Example Code

Object o
        integer hash = o:GetHashCode

Return

integer: The integer hash code of the object.

MovedMouse(Libraries.Interface.Events.MouseEvent event)

This action is used to respond to a MouseEvent created by the mouse moving.

Example Code

use Libraries.Game.Game
    use Libraries.Interface.Events.MouseEvent
    use Libraries.Interface.Events.MouseMovementListener
    use Libraries.Game.Graphics.Label

    class Main is Game, MouseMovementListener

        Label label

        action Main
            StartGame()
        end

        action CreateGame
            label:SetSize(20)
            label:SetPosition(20, 20)
            label:SetText("The mouse position is 0, 0")
            Add(label)

            AddMouseMovementListener(me)
        end

        action MovedMouse(MouseEvent event)
            integer x = event:GetX()
            integer y = event:GetY()
            label:SetText("The mouse position is " + x + ", " + y)
        end
    e

Parameters