Libraries.Game.Graphics.Fonts.CoordinateContainer Documentation

The CoordinateContainer class is used to maintain an array of x-intercepts for a character's glyph. This is used in the rasterization process, where every y value has a list of corresponding x-intercepts which indicate the glyph's outline.

Example Code

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game
use Libraries.Containers.Array

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        Array<XCoordinateList> xCoordinates = coordinates:GetList()
    end
end

Inherits from: Libraries.Language.Object

Actions Documentation

Add(integer position, Libraries.Game.Graphics.Fonts.XCoordinateList item)

This action adds an XCoordinateList to the XCoordinateList array at the specified position.

Parameters

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        XCoordinateList xCoordinates
        coordinates:Add(0, xCoordinates)
    end
end

Add(Libraries.Game.Graphics.Fonts.XCoordinateList item)

This action adds an XCoordinateList to the end of the XCoordinateList array.

Parameters

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        XCoordinateList xCoordinates
        coordinates:Add(xCoordinates)
    end
end

AddToEnd(Libraries.Game.Graphics.Fonts.XCoordinateList item)

This action adds an XCoordinateList to the last position of the XCoordinateList array.

Parameters

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        XCoordinateList xCoordinates
        coordinates:AddToEnd(xCoordinates)
    end
end

AddToFront(Libraries.Game.Graphics.Fonts.XCoordinateList item)

This action adds an XCoordinateList to the first position of the XCoordinateList array.

Parameters

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        XCoordinateList xCoordinates
        coordinates:AddToFront(xCoordinates)
    end
end

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)

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)

Get(integer location)

This action returns the item in the XCoordinateList at the specified location.

Parameters

  • integer location: The location of the XCoordinates inside the array.

Return

Libraries.Game.Graphics.Fonts.XCoordinateList: Returns the XCoordinateList at the specified location.

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        XCoordinateList list = coordinates:Get(0)
    end
end

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

GetList()

This action returns the array of x-intercepts.

Return

Libraries.Containers.Array: Returns the array of x-intercepts.

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game
use Libraries.Containers.Array

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        Array<XCoordinateList> xCoordinates = coordinates:GetList()
    end
end

GetSize()

This action returns the size of the XCoordinate list.

Return

integer: Returns the size of the XCoordinate list.

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        output coordinates:GetSize()
    end
end

RemoveDuplicates()

This action removes duplicate entries from the XCoordinateList array.

Example


use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        coordinates:RemoveDuplicates()
    end
end

SetList(Libraries.Containers.Array<Libraries.Game.Graphics.Fonts.XCoordinateList> list)

This action sets the array of x-intercepts.

Parameters

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game
use Libraries.Containers.Array

class Main is Game
    action Main
        StartGame()
    end
    
    action CreateGame
        CoordinateContainer coordinates
        XCoordinateList coordinate
        Array<XCoordinateList> list
        list:Add(coordinate)
        coordinates:SetList(list)
    end 
end

ToText()

This action takes the contents of the XCoordinateList array and turns it into a text object.

Return

text: Returns the text representation of the contents of the array.

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        CoordinateContainer coordinates
        output coordinates:ToText()
    end
end