Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • IMGUI

Implements

  • IClear
  • IToHiccup

Index

Constructors

constructor

Properties

activeID

activeID: string

attribs

attribs: any

buttons

buttons: number

Protected currIDs

currIDs: Set<string>

cursor

cursor: string

Protected disabledStack

disabledStack: boolean[]

draw

draw: boolean

focusID

focusID: string

hotID

hotID: string

key

key: string

lastID

lastID: string

layers

layers: any[]

modifiers

modifiers: number

mouse

mouse: Vec

prevButtons

prevButtons: number

Protected prevIDs

prevIDs: Set<string>

prevKey

prevKey: string

prevModifiers

prevModifiers: number

prevMouse

prevMouse: Vec

Protected resources

resources: Map<string, Map<number, any>>

Protected sizes

sizes: Map<string, any>

Protected states

states: Map<string, any>

t0

t0: number

Protected themeStack

themeStack: GUITheme[]

time

time: number

Accessors

disabled

  • get disabled(): boolean

theme

Methods

add

  • add(...els: any[]): void
  • Parameters

    • Rest ...els: any[]

    Returns void

addOverlay

  • addOverlay(...els: any[]): void
  • Parameters

    • Rest ...els: any[]

    Returns void

begin

  • begin(draw?: boolean): void
  • Prepares IMGUI for next frame:

    • Resets hotID, cursor
    • Resets theme & disabled stacks
    • Clears all draw layers
    • Updates elapsed time.

    By default all components will emit draw shapes, however this can be disabled by passing false as argument. This is useful for use cases where the GUI is not updated at high frame rates and so would require two invocations per update cycle for immediate visual feedback:

    gui.begin(false); // update state only, no draw
    updateMyGUI();
    gui.end();
    gui.begin(true); // run once more, with draw enabled (default)
    updateMyGUI();
    gui.end();
    

    Parameters

    • draw: boolean = true

      -

    Returns void

beginDisabled

  • beginDisabled(disabled?: boolean): void
  • Pushes given disabled component state flag on stack (default: true, i.e. disabled). Pass false to temporarily enable components.

    Parameters

    • disabled: boolean = true

      -

    Returns void

beginTheme

  • beginTheme(theme: Partial<GUITheme>): void
  • Merges given theme settings with current theme and pushes result on theme stack.

    IMPORTANT: Currently IMGUI only supports one font and ignores any font changes pushed on the theme stack.

    Parameters

    Returns void

bgColor

  • bgColor(hover: boolean): Color

clear

  • clear(): void
  • Clears all shape layers and resets theme / disabled stacks.

    Returns void

end

  • end(): void
  • Performs end-of-frame handling & component cache cleanup. Also removes cached state and resources of all unused components.

    Returns void

endDisabled

  • endDisabled(): void
  • Removes current disabled flag from stack (unless only one theme left).

    Returns void

endTheme

  • endTheme(): void
  • Removes current theme from stack (unless only one theme left).

    Returns void

fgColor

  • fgColor(hover: boolean): Color

focusColor

  • focusColor(id: string): undefined | Color

gc

  • gc(): void
  • Garbage collect unused component state / resources.

    Returns void

isAltDown

  • isAltDown(): boolean

isControlDown

  • isControlDown(): boolean

isMetaDown

  • isMetaDown(): boolean

isMouseDown

  • isMouseDown(): boolean
  • Returns true if left mouse button is pressed.

    Returns boolean

isPrevAltDown

  • isPrevAltDown(): boolean

isPrevControlDown

  • isPrevControlDown(): boolean

isPrevMetaDown

  • isPrevMetaDown(): boolean

isPrevMouseDown

  • isPrevMouseDown(): boolean

isPrevShiftDown

  • isPrevShiftDown(): boolean

isShiftDown

  • isShiftDown(): boolean

registerID

  • registerID(id: string, hash: number): void
  • Marks given component ID as used and checks hash to determine if the component's resource cache should be cleared. This hash value should be based on any values (e.g. layout info) which might invalidate cached resources.

    Parameters

    • id: string

      -

    • hash: number

      -

    Returns void

requestFocus

  • requestFocus(id: string): boolean
  • Sets focusID to given id if the component can receive focus. Returns true if component is focused.

    Parameters

    • id: string

      -

    Returns boolean

resource

  • resource<T>(id: string, hash: number, ctor: Fn0<T>): any
  • Attempts to retrieve cached resource for given component id and resource hash. If unsuccessful, calls resource ctor function to create it, caches result and returns it.

    IMGUI.registerID

    Type parameters

    • T

    Parameters

    • id: string

      -

    • hash: number

      -

    • ctor: Fn0<T>

      -

    Returns any

setCursor

  • setCursor(id: string): void
  • Sets cursor property to given id. This setting is cleared at the beginning of each frame (default value: "default").

    Parameters

    • id: string

      -

    Returns void

setKey

  • setKey(e: KeyboardEvent): IMGUI
  • Sets internal key state from given key event details.

    Parameters

    • e: KeyboardEvent

      -

    Returns IMGUI

setMouse

  • setMouse(p: Vec, buttons: number): IMGUI
  • Sets mouse position and current mouse button flags (i.e. MouseEvent.buttons).

    Parameters

    • p: Vec

      -

    • buttons: number

      -

    Returns IMGUI

setState

  • setState(id: string, state: any): void
  • Stores / overrides given local state value for component id in cache.

    Parameters

    • id: string

      -

    • state: any

      -

    Returns void

setTheme

  • setTheme(theme: Partial<GUITheme>): void

state

  • state<T>(id: string, ctor: Fn0<T>): T
  • Attempts to retrieve cached component state for given id. If unsuccessful, calls state ctor function, caches result and returns it.

    Type parameters

    • T

    Parameters

    • id: string

      -

    • ctor: Fn0<T>

      -

    Returns T

switchFocus

  • switchFocus(): void
  • Attempts to switch focus to next, or if Shift is pressed, to previous component. This is meant be called ONLY from component key handlers.

    Returns void

textColor

  • textColor(hover: boolean): Color

textWidth

  • textWidth(txt: string): number
  • Returns pixel width of given string based on current theme's font settings.

    IMPORTANT: Currently only monospace fonts are supported.

    Parameters

    • txt: string

      -

    Returns number

toHiccup

  • toHiccup(): any[]
  • Returns hiccup representation of all shapes/text primitives created by components in the current frame.

    Returns any[]

withDisabled

  • withDisabled<T>(disabled: boolean, comp: Fn0<T>): T
  • Applies component function with given disabled flag, then restores previous disabled state and returns component result.

    Type parameters

    • T

    Parameters

    • disabled: boolean

      -

    • comp: Fn0<T>

      -

    Returns T

withTheme

  • withTheme<T>(theme: Partial<GUITheme>, comp: Fn0<T>): T
  • Applies component function with given theme, then restores previous theme and returns component result.

    Type parameters

    • T

    Parameters

    Returns T

Generated using TypeDoc