Home

Michael Heilmann's Arcadia Engine Module Interface

This is the documentation for Michael Heilmann's Arcadia Engine. Arcadia Engine exposes

Module Interface

[MIL] Arcadia.Visuals.ApplicationEvent

class Arcadia.Visuals.ApplicationEvent extends Arcadia.Visuals.Event { ... } A application event.

[MIL] Arcadia.Visuals.ApplicationEvent.construct

void
Arcadia.Visuals.ApplicationEvent.construct
  (
    Arcadia.Natural64 timeStamp
  )
Construct this application event.

Parameters

Arcadia.Natural64 timeStamp
The timestamp of this event.

[MIL] Arcadia.Visuals.ApplicationQuitRequestedEvent

class Arcadia.Visuals.ApplicationQuitRequestedEvent extends Arcadia.Visuals.ApplicationEvent { ... } An event raised if the application received a request to quit.

[MIL] Arcadia.Visuals.ApplicationQuitRequestedEvent.construct

void
Arcadia.Visuals.ApplicationQuitRequestedEvent.construct
  (
    Arcadia.Natural64 timeStamp
  )
Construct this application quit requested event.

Parameters

Arcadia.Natural64 timeStamp
The timestamp of this event.

[MIL] Arcadia.Visuals.CanvasActivationStateChangedEvent

class Arcadia.Visuals.CanvasActivationStateChangedEvent extends Arcadia.Visuals.CanvasEvent { ... } A canvas activation state changed event.

[MIL] Arcadia.Visuals.CanvasActivationStateChangedEvent.construct

void
Arcadia.Visuals.CanvasActivationStateChangedEvent.construct
  (
    Arcadia.Natural64 timeStamp,
    Arcadia.Boolean active
  )
Construct this canvas activation state changed event.

Parameters

Arcadia.Natural64 timeStamp
The timestamp of this event.
Arcadia.Boolean active
Arcadia.Boolean.True if the canvas activation state is active. Arcadia.Boolean.False if the canvas activation state is inactive.

[MIL] Arcadia.Visuals.CanvasEvent

class Arcadia.Visuals.CanvasEvent extends Arcadia.Visuals.Event { ... } The ancestor type of all canvas events.

[MIL] Arcadia.Visuals.CanvasEvent.construct

void
Arcadia.Visuals.CanvasEvent.construct
  (
    Arcadia.Natural64 timeStamp
  )
Construct this canvas event.

Parameters

Arcadia.Natural64 timeStamp
The timestamp of this event.

[MIL] Arcadia.Visuals.CanvasDPIChangedEvent

class Arcadia.Visuals.CanvasDPIChangedEvent extends Arcadia.Visuals.CanvasEvent { ... } A canvas DPI changed event.

[MIL] Arcadia.Visuals.CanvasDPIChangedEvent.construct

void
Arcadia.Visuals.CanvasDPIChangedEvent.construct
  (
    Arcadia.Natural64 timeStamp,
    Arcadia.Natural32 horizontalDpi,
    Arcadia.Natural32 verticalDpi
  )
Construct this canvas DPI changed event.

Parameters

Arcadia.Natural64 timeStamp
The timestamp of this event.
Arcadia.Integer32 horizontalDpi
The horizontal DPI of the canvas.
Arcadia.Integer32 verticalDpi
The vertical DPI of the canvas.

[MIL] Arcadia.Visuals.CanvasSizeChangedEvent

class Arcadia.Visuals.CanvasSizeChangedEvent extends Arcadia.Visuals.CanvasEvent { ... } A canvas size changed event.

[MIL] Arcadia.Visuals.CanvasSizeChangedEvent.construct

void
Arcadia.Visuals.CanvasSizeChangedEvent.construct
  (
    Arcadia.Natural64 timeStamp,
    Arcadia.Integer32 horizontalSize,
    Arcadia.Integer32 verticalSize
  )
Construct this canvas size changed event.

Parameters

Arcadia.Natural64 timeStamp
The timestamp of this event.
Arcadia.Integer32 horizontalSize
The horizontal size, in pixels, of the canvas.
Arcadia.Integer32 verticalSize
The vertical size, in pixels, of the canvas.

Arcadia_Engine_Visuals_CullMode

typedef enum Arcadia_Engine_Visuals_CullMode Arcadia_Engine_Visuals_CullMode; An enumeration of cull modes. A cull mode identifies a technique for deciding wether a fragment is removed based on its facing towards the viewer.

Elements

Arcadia_Engine_Visuals_CullMode_None
Neither front-facing nor back-facing fragments are culled.
Arcadia_Engine_Visuals_CullMode_Front
Front-facing fragments are culled.
Arcadia_Engine_Visuals_CullMode_Back
Back-facing fragments are culled.
Arcadia_Engine_Visuals_CullMode_FrontAndBack
Both front-facing and back-facing fragments are culled. This is an alias of Arcadia_Engine_Visuals_CullMode_BackAndFront.
Arcadia_Engine_Visuals_CullMode_BackAndFront
Both back-facing and front-facing fragments are culled. This is an alias of Arcadia_Engine_Visuals_CullMode_FrontAndBack.

Arcadia_Engine_Visuals_DepthCompareFunction

typedef enum Arcadia_Engine_Visuals_DepthCompareFunction Arcadia_Engine_Visuals_DepthCompareFunction; An enumeration of depth compare functions. A depth compare function identifies a technique that compares depth value of an incoming fragment to its corresponding depth value in the depth buffer.

Elements

Arcadia_Engine_Visuals_DepthComparefunction_Always
The incoming fragment always passes.
Arcadia_Engine_Visuals_DepthCompareFunction_Never
The incoming fragment never passes.
Arcadia_Engine_Visuals_DepthCompareFunction_EqualTo
The incoming fragment passes if its depth value is equal to its corresponding depth value in the depth buffer.
Arcadia_Engine_Visuals_DepthCompareFunction_NotEqualTo
The incoming fragment passes if its depth value is not equal to its corresponding depth value in the depth buffer.
Arcadia_Engine_Visuals_DepthCompareFunction_LessThan
The incoming fragment passes if its depth value is less than its corresponding depth value in the depth buffer.
Arcadia_Engine_Visuals_DepthCompareFunction_LessThanOrEqualTo
The incoming fragment passes if its depth value is less than or equal to its corresponding depth value in the depth buffer.
Arcadia_Engine_Visuals_DepthCompareFunction_GreaterThan
The incoming fragment passes if its depth value is greater than its corresponding depth value in the depth buffer.
Arcadia_Engine_Visuals_DepthCompareFunction_GreaterThanOrEqualTo
The incoming fragment passes if its depth value is greater than or equal to its corresponding depth value in the depth buffer.

Arcadia.Visuals.Event

class Arcadia.Visuals.Event extends Arcadia.Object { ... }

The ancestor type of all events.

[MIL] Arcadia.Visuals.Event.construct

void
Arcadia.Visuals.Event.construct
  (
    Arcadia.Natural64 timestamp
  )
Construct this event.

Parameters

Arcadia.Natural64 timestamp
The timestamp of this event.

Arcadia_Engine_Visuals_FillMode

typedef enum Arcadia_Engine_Visuals_FillMode Arcadia_Engine_Visuals_FillMode; An enumeration of fill modes. The fill mode determines how the vertices, edges, and/or surfaces of a polygon are rendered.

Elements

Arcadia_Engine_Visuals_FillMode_Point
Polygon vertices that are marked as the start of a boundary edge are drawn as points.
Arcadia_Engine_Visuals_FillMode_Line
Boundary edges of the polygon are drawn as line segments.
Arcadia_Engine_Visuals_FillMode_Solid
The interior of the polygon is filled.

Arcadia.Engine.Input.KeyboardKey

[MIL] enumeration Arcadia.Engine.Input.KeyboardKey An enumeration of keyboard keys.

The numeric values of the digit keys form a consecutive range with D0 being the lowest of value and D9 being the highest of value. Furthermore, the digit key constant of a lower number has a lower value than the digit key constant of a higher number.


The numeric values of the letter keys form a consecutive range with A being the lowest value and Z being the highest of value. Furthermore, the letter key constant of a letter lower in the alphabet has a lower value than the letter key constant of a letter higher in the alphabet.


The numeric values of the numpad digit keys form a consecutive range with NumPad0 being the lowest of value and NumPad9 being the highest of value. Furthermore, the numpad digit key constant of a lower number has a lower value than the numpad digit key constant of a higher number.

Elements

A
The A key.
Accept
The IME Accept key.
Add
The Add key.
Applications
The Applications key (on Microsoft Natural Keyboard).
B
The B key.
Backspace
The Backspace key.
BrowserBack
The Browser Back key.
BrowserFavorites
The Browser Favorites key.
BrowserForward
The Browser Forward key.
BrowserHome
The Browser Home key.
BrowserRefresh
The Browser Refresh key.
BrowserSearch
The Browser Search key.
BrowserStop
The Browser Stop key.
C
The C key.
Capital
The Capital key.
CapsLock
The Caps Lock key.
Clear
The Clear key.
Comma
The Comma key.
Convert
The IME Convert key.
D
The D key.
D0
The 0 key.
D1
The 1 key.
D2
The 2 key.
D3
The 3 key.
D4
The 4 key.
D5
The 5 key.
D6
The 6 key.
D7
The 7 key.
D8
The 8 key.
D9
The 9 key.
Decimal
The Decimal Separator key (on number pad).
Delete
The Delete key.
Down
The Down Arrow key. This is an alias of DownArrow.
DownArray
The Down Arrow key. This is an alias of Down.
E
The E key.
End
The End key.
Escape
The Escape key.
F
The F key.
F1
The F1 key.
F10
The F10 key.
F11
The F11 key.
F12
The F12 key.
F13
The F13 key.
F14
The F14 key.
F15
The F15 key.
F16
The F16 key.
F17
The F17 key.
F18
The F18 key.
F19
The F19 key.
F2
The F2 key.
F20
The F20 key.
F21
The F21 key.
F22
The F22 key.
F23
The F23 key.
F24
The F24 key.
F3
The F3 key.
F4
The F4 key.
F5
The F5 key.
F6
The F6 key.
F7
The F7 key.
F8
The F8 key.
F9
The F9 key.
FinalMode
The IME Final Mode key.
G
The G key.
H
The H key.
HangulMode
The IME Hangul Mode key.
HanjaMode
The IME Hanja Mode key.
Home
The Home key.
I
The I key.
Insert
The Insert key.
J
The J key.
JunjaMode
The IME Junja Mode key.
K
The K key.
KanaMode
The IME Kana Mode key.
KanjiMode
The IME Kanji Mode key.
L
The L key.
Left
The Left Arrow key. This is an alias of LeftArrow.
LeftArrow
The Left Arrow key. This is an alias of Left.
LeftControl
The Left Control key.
LeftMenu
The Left Menu key.
LeftShift
The Left Shift key.
LeftWindows
The Left Windows key (on Microsoft Natural Keyboard).
M
The M key.
Minus
The Minus key.
ModeChange
The IME Mode Change key.
Multiply
The Multiply Change key.
N
The N key.
NonConvert
The IME Non Convert key.
NumberSign
The Number Sign key.
NumPad0
The 0 key on the numeric keypad.
NumPad1
The 1 key on the numeric keypad.
NumPad2
The 2 key on the numeric keypad.
NumPad3
The 3 key on the numeric keypad.
NumPad4
The 4 key on the numeric keypad.
NumPad5
The 5 key on the numeric keypad.
NumPad6
The 6 key on the numeric keypad.
NumPad7
The 7 key on the numeric keypad.
NumPad8
The 8 key on the numeric keypad.
NumPad9
The 9 key on the numeric keypad.
O
The O key.
P
The P key.
PageDown
The Page Down key.
PageUp
The Page Up key.
Pause
The Pause key.
Period
The Period key.
Print
The Print key.
Plus
The Plus key.
Q
The Q key.
R
The R key.
Return
The Return key.
Right
The Right Arrow key. This is an alias of RightArrow.
RightArrow
The Right Arrow key. This is an alias of Right.
RightControl
The Right Control key.
RightMenu
The Right Menu key.
RightShift
The Right Shift key.
RightWindows
The Right Windows key (on Microsoft Natural Keyboard).
S
The S key.
ScrollLock
The Scroll Lock key.
Sleep
The Sleep key.
Space
The Space key.
Subtract
The Subtract key.
T
The T key.
Tabulator
The Tabulator key.
U
The U key.
Up
The Up Arrow key. This is an alias of UpArrow.
UpArrow
The Up Arrow key. This is an alias of Up.
V
The V key.
W
The W key.
X
The X key.
Y
The Y key.
Z
The Z key.

Arcadia.Engine.Input.KeyboardKeyAction

enumeration Arcadia.Engine.Input.KeyboardKeyAction An enumeration of actions of a keyboard key.

Elements

Pressed = 0
The keyboard key was pressed.
Released = 1
The keyboard key was released.

[MIL] Arcadia.Engine.Input.KeyboardKeyEvent

class Arcadia.Engine.Input.KeyboardKeyEvent extends Arcadia.Engine.Event { ... } A keyboard key event.

[MIL] constructor

constructor
  (
    timestamp : Arcadia.Natural64,
    action : Arcadia.Engine.Input.KeyboardKeyAction ,
    key : Arcadia.Engine.Input.KeyboardKey
  )
Construct this keyboard key event.

Parameters

timestamp : Arcadia.Natural64
The timestamp of this event.
action : Arcadia.Engine.Input.KeyboardKeyAction
The keyboard key action.
key : Arcadia.Engine.Input.KeyboardKey
The keyboard key.

[MIL] Arcadia.Engine.Input.KeyboardKeyEvent.getAction

Arcadia.Engine.Input.KeyboardKeyEvent.getAction
  (
  ) : Arcadia.Engine.Input.KeyboardKeyAction
Get the keyboard key action of this keyboard key event.

Return value

The keyboard key action.

[MIL] Arcadia.Engine.Input.KeyboardKeyEvent.getKey

Arcadia.Engine.Input.KeyboardKeyEvent.getKey
  (
  ) : Arcadia.Engine.Input.KeyboardKey
Get the keyboard key of this keyboard key event.

Return value

The keyboard key.

Arcadia.Engine.Input.MouseButtonAction

enumeration Arcadia.Engine.Input.MouseButtonAction An enumeration of actions of a mouse button.

Elements

Pressed = 0
The mouse button was pressed.
Released = 1
The mouse button was released.

[MIL] Arcadia.Engine.Input.MouseButtonEvent

class Arcadia.Engine.Input.MouseButtonEvent extends Arcadia.Engine.Event { ... } A mouse button event.

[MIL] constructor

constructor
  (
    timestamp : Arcadia.Natural64,
    action : Arcadia.Engine.Input.MouseButtonAction,
    button : Arcadia.Natural64Value,
    x : Arcadia.Integer64Value,
    y : Arcadia.Integer64Value
  )
Construct this canvas activation state changed event.

Parameters

timestamp : Arcadia.Natural64
The timestamp of this event.
action : Arcadia.Engine.Input.MouseButtonAction
The mouse button action.
Arcadia.Natural64 button
The zero-based index of the mouse button.
x : Arcadia.Integer32
The position along the x-axis of the mouse pointer..
y : Arcadia.Integer32
The position along the y-axis of the mouse pointer..

[MIL] Arcadia.Engine.Input.MousePointerAction

[MIL] enumeration Arcadia.Engine.Input.MousePointerAction An enumeration of actions of a mouse pointer.

Elements

Entered = 0
The mouse pointer entered an entity.
Exited = 1
The mouse pointer exited an entity.
Moved = 2
The mouse pointer moved.

[MIL] Arcadia.Engine.Input.MouseButtonEvent

class Arcadia.Engine.Input.MouseButtonEvent extends Arcadia.Engine.Event { ... } A mouse button event.

[MIL] constructor

constructor
  (
    timestamp : Arcadia.Natural64 ,
    action : Arcadia.Visuals.MousePointerAction,
    x : Arcadia.Integer32,
    y : Arcadia.Integer32
  )
Construct this mouse button event.

Parameters

timestamp : Arcadia.Natural64
The timestamp of this event.
action : Arcadia.Engine.Input.MousePointerAction
The mouse pointer action.
x : Arcadia.Integer32
The position along the x-axis of the mouse pointer.
y : Arcadia.Integer32
The position along the y-axis of the mouse pointer.

Arcadia_Engine_Visuals_TextureAddressMode

typedef enum Arcadia_Engine_Visuals_TextureAddressMode Arcadia_Engine_Visuals_TextureAddressMode; An enumeration of texture address modes. A texture address mode identifies a technique for resolving uv coordinates that are outside of the boundaries of a texture.

Elements

Arcadia_Engine_Visuals_TextureAddressMode_ClampToEdge
uv coordinates outside of the range of [0,1] are assigned the color of the uv coordinate at 0 or 1, respectively. This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_CLAMP_TO_EDGE in OpenGL and D3D12_TEXTURE_ADDRESS_MODE_CLAMP in Direct3D 12.
Arcadia_Engine_Visuals_TextureAddressMode_ClampToBorder
uv coordinates outside of the range of [0,1] are assigned the border color of the texture. This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_CLAMP_TO_BORDER in OpenGL and D3D12_TEXTURE_ADDRESS_MODE_BORDER in Direct3D 12.
Arcadia_Engine_Visuals_TextureAddressMode_Repeat
Tile the texture at every uv coordinate integer junction. For example, for the u coordinates between 0 and 3, the texture is repeated three times. This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_REPEAT in OpenGL and D3D12_TEXTURE_ADDRESS_MODE_WRAP in Direct3D 12.
Arcadia_Engine_Visuals_TextureAddressMode_MirroredRepeat
Tile and flip the texture at every uv coordinate integer junction. For example, for the u coordinates between 0 and 3, the texture is repeated three times. For the u coordinates between 0 and 1 and 2 and 3 the texture is address normally. For the u coordinates between 1 and 2, the texture flipped. This usually corresponds to GL_TEXTURE_WRAP_S/GL_TEXTURE_WRAP_T with GL_MIRRORED_REPEAT in OpenGL, D3D12_TEXTURE_ADDRESS_MODE_MIRROR in Direct3D 12.

Arcadia_Engine_Visuals_TextureFilter

typedef enum Arcadia_Engine_Visuals_TextureFilter Arcadia_Engine_Visuals_TextureFilter; An enumeration of texture filters. A texture filter identifies a technique to compute the pixel value closed to the specified uv coordinates.

Elements

Arcadia_Engine_Visuals_TextureFilter_Nearest
Filter using the texture element that is nearest (in Manhatten distance) to the specified uv coordinates.
Arcadia_Engine_Visuals_TextureFilter_Linear
Returns the weighted average of the four texture elements that are closest to the specified uv coordinates. These can include items wrapped or repeated from other parts of the texture, depending on the texture address mode.

Arcadia_Engine_Visuals_VertexElementSemantics

typedef enum Arcadia_Engine_Visuals_VertexElementSemantics Arcadia_Engine_Visuals_VertexElementSemantics; An enumeration of pixel formats.

Elements

Arcadia_Engine_Visuals_VertexElementSemantics_PositionXyz
The vertex element denotes a position coordinate. If the vertex syntax is Arcadia_Engine_Visuals_VertexElementSyntax_Real32Real32, then this the position coordinate is in XY space (model, local, or global). If the vertex syntax is Arcadia_Engine_Visuals_VertexElementSyntax_Real32Real32Real32, then this the position coordinate is in XYZ space (model, local, or global).
Arcadia_Engine_Visuals_VertexElementSemantics_AmbientRgba
The vertex element denotes an ambient color coordinate.
  • If the vertex syntax is Arcadia_Engine_Visuals_VertexElementSyntax_Real32Real32Real32, then the color is in [0,1] RGB space. The first Arcadia_Real32Value indicates the intensity of the red component, the second Arcadia_Real32Value indicates the intensity of the green component, the third Arcadia_Real32Value indicates the intensity of the blue component. 0 indicates minimum intensity, 1 indicates maximum intensity.
  • If the vertex syntax is Arcadia_Engine_Visuals_VertexElementSyntax_Real32Real32Real32Real32, then the color is in [0,1] RGBA space. The first Arcadia_Real32Value indicates the intensity of the red component, the second Arcadia_Real32Value indicates the intensity of the green component, the third Arcadia_Real32Value indicates the intensity of the blue component. 0 indicates minimum intensity, 1 indicates maximum intensity. The fourth Arcadia_Real32Value indicates the intensity of the alpha component. 0 indicates fully transparent, 1 indicates fully opaque.
Arcadia_Engine_Visuals_VertexElementSemantics_AmbientUv
The vertex element denotes a texture coordinates for an ambient texture. If the vertex syntax is Arcadia_Engine_Visuals_VertexElementSyntax_Real32Real32, then this the texture coordinate is in UV space.

Arcadia_Engine_Visuals_VertexElementSyntactics

typedef enum Arcadia_Engine_Visuals_VertexElementSyntactics Arcadia_Engine_Visuals_VertexElementSyntactics; An enumeration of pixel formats.

Elements

Arcadia_Engine_Visuals_VertexElementSyntactics_Real32Real32
The vertex element consists of two consecutive Arcadia_Real32Value values.
Arcadia_Engine_Visuals_VertexElementSyntactics_Real32Real32Real32
The vertex element consists of three consecutive Arcadia_Real32Value values.
Arcadia_Engine_Visuals_VertexElementSyntactics_Real32Real32Real32Real32
The vertex element consists of four consecutive Arcadia_Real32Value values.

Arcadia_Engine_Visuals_WindingMode

typedef enum Arcadia_Engine_Visuals_WindingMode Arcadia_Engine_Visuals_WindingMode; An enumeration of winding modes.

Elements

Arcadia_Engine_Visuals_WindingMode_Clockwise
Clockwise winding mode.
Arcadia_Engine_Visuals_WindingMode_CounterClockwise
Counter clockwise winding mode.