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 DraggedMouse.

Inherits from: Libraries.Language.Object

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.

Parameters

Return

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

Example

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

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).

Parameters

Example

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
end

Equals(Libraries.Language.Object object)

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

Parameters

Return

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

Example

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

GetHashCode()

This action gets the hash code for an object.

Return

integer: The integer hash code of the object.

Example

Object o
integer hash = o:GetHashCode()

MovedMouse(Libraries.Interface.Events.MouseEvent event)

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

Parameters

Example

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
end