Libraries.Game.Graphics.Fonts.MacStyleFlags Documentation

The MacStyleFlags class maintains information about the font when being rendered on Mac operating systems. These flags are found in the "head" table, and more information can be found on these flags on the Apple TrueType documenation website.

Example Code

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game
use Libraries.System.File
use Libraries.Containers.ByteArray
use Libraries.Containers.Support.ByteReader
use Libraries.System.BinaryFileReader

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        File file
        ByteArray byteArray = undefined
        ByteReader byteReader = undefined
        FontFileReader reader
        // This is the directory for fonts on Mac
        file:SetWorkingDirectory("/Library/Fonts")
        file:SetPath("Arial.ttf")
        reader:Load(file)
        TrueTypeFileInformation fileInformation = reader:GetFileInformation()
        BinaryFileReader binaryReader
        binaryReader:OpenForRead(file)
        byteArray = binaryReader:ReadBytes()
        byteArray:SetBigEndian(true)
        byteReader = byteArray:GetByteReader()
        // This is assuming the current position of the byteReader is at the
        // right location. By default, it will not be.
        integer flags = byteReader:NextTwoByteUnsignedInteger()
        MacStyleFlags macFlags
        macFlags:Set(flags)
    end
end

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)

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

Set(integer flags)

This action sets the Mac Style flags of the font.

Parameters

  • integer flags: The flags of the font.

Example

use Libraries.Game.Graphics.Fonts.all
use Libraries.Game.Game
use Libraries.System.File
use Libraries.Containers.ByteArray
use Libraries.Containers.Support.ByteReader
use Libraries.System.BinaryFileReader

class Main is Game
    action Main
        StartGame()
    end

    action CreateGame
        File file
        ByteArray byteArray = undefined
        ByteReader byteReader = undefined
        FontFileReader reader
        // This is the directory for fonts on Mac
        file:SetWorkingDirectory("/Library/Fonts")
        file:SetPath("Arial.ttf")
        reader:Load(file)
        TrueTypeFileInformation fileInformation = reader:GetFileInformation()
        BinaryFileReader binaryReader
        binaryReader:OpenForRead(file)
        byteArray = binaryReader:ReadBytes()
        byteArray:SetBigEndian(true)
        byteReader = byteArray:GetByteReader()
        // This is assuming the current position of the byteReader is at the
        // right location. By default, it will not be.
        integer flags = byteReader:NextTwoByteUnsignedInteger()
        MacStyleFlags macFlags
        macFlags:Set(flags)
    end
end