HomeWeb Components API Reference - v0.23.0
    Preparing search index...

    Class ScreenComponentElement

    The ScreenComponentElement interface provides properties and methods for manipulating <pc-screen> elements. The ScreenComponentElement interface also inherits the properties and methods of the HTMLElement interface.

    Engine component: ScreenComponent (screen).

    Hierarchy (View Summary)

    Index
    • get closestApp(): AppElement | null

      The nearest ancestor <pc-app> element, or null if this element has no <pc-app> ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns AppElement | null

      The closest app element, or null.

    • get closestEntity(): EntityBaseElement | null

      The nearest ancestor element that fronts an entity — <pc-entity>, <pc-model> or <pc-node> — or null if this element has no such ancestor. The search starts at the parent, so an element never resolves to itself.

      Returns EntityBaseElement | null

      The closest entity-fronting element, or null.

    • get enabled(): boolean

      Gets the enabled state of the component.

      Returns boolean

      The enabled state of the component.

    • set enabled(value: boolean): void

      Sets the enabled state of the component.

      Parameters

      • value: boolean

        The enabled state of the component.

      Returns void

    • get priority(): number

      Gets the order in which the screen is drawn relative to other screens in the same layer, from 0 to 255, with higher values drawn on top.

      Returns number

      The priority.

    • set priority(value: number): void

      Sets the order in which the screen is drawn relative to other screens in the same layer, from 0 to 255, with higher values drawn on top. Defaults to 0.

      Parameters

      • value: number

        The priority.

      Returns void

    • get referenceResolution(): Vec2

      Gets the resolution the screen's layout was designed for, as a width and height in pixels.

      Returns Vec2

      The reference resolution.

    • set referenceResolution(value: Vec2): void

      Sets the resolution the screen's layout was designed for, as a width and height in pixels. Used only when screenSpace is set and scaleMode is blend, when the contents scale from this resolution to the actual canvas size, weighted by scaleBlend. Defaults to 640 by 320.

      Parameters

      • value: Vec2

        The reference resolution.

      Returns void

    • get resolution(): Vec2

      Gets the width and height of the screen in pixels, which a screen-space screen overrides with the canvas size.

      Returns Vec2

      The resolution.

    • set resolution(value: Vec2): void

      Sets the width and height of the screen in pixels. A screen-space screen ignores this and always matches the canvas; a world-space screen uses it to size its contents. Defaults to 640 by 320.

      Parameters

      • value: Vec2

        The resolution.

      Returns void

    • get scaleBlend(): number

      Gets how the screen's resolutions are weighted against each other.

      Returns number

      The scale blend factor.

    • set scaleBlend(value: number): void

      Sets how the screen's resolution and referenceResolution are weighted against each other when scaleMode is blend, from 0 (follow the resolution) to 1 (follow the reference resolution). Ignored while scaleMode is none.

      Parameters

      • value: number

        The scale blend factor.

      Returns void

    • get scaleMode(): "none" | "blend"

      Gets how the screen scales its contents.

      Returns "none" | "blend"

      The scale mode.

    • set scaleMode(value: "none" | "blend"): void

      Sets how the screen scales its contents. none renders at resolution and ignores referenceResolution; blend scales between the two, weighted by scaleBlend, which is what keeps a UI laid out at one resolution usable at another. Requires screenSpace - the engine forces none on a world-space screen, which does not support scaling.

      Parameters

      • value: "none" | "blend"

        The scale mode ('none' or 'blend').

      Returns void

    • get screenSpace(): boolean

      Gets whether the screen renders its <pc-element> descendants in screen space rather than in the world.

      Returns boolean

      Whether the screen is in screen space.

    • set screenSpace(value: boolean): void

      Sets whether the screen renders its <pc-element> descendants in screen space, as a 2D overlay on the canvas, rather than in the world. Defaults to false.

      Parameters

      • value: boolean

        Whether the screen is in screen space.

      Returns void

    • Called when the element is fully initialized and ready. Subclasses should call this when they're ready. Resolves the ready promise and dispatches a bubbling, composed ready event. Signals at most once per readiness cycle: a repeat call before _resetReady has re-armed the promise does nothing.

      Returns void

    • Returns the ready promise to its pending state. Subclasses should call this when the resource their readiness announced is torn down (typically from disconnectedCallback), so that a later re-initialization can signal readiness again. Does nothing while the promise is still pending — an in-flight waiter carries over to the next readiness cycle rather than being stranded on a promise nothing will ever resolve.

      Returns void

    • Returns the data the component is created with. Overridden by subclasses to supply the initial values of their cached properties.

      Returns {
          priority: number;
          referenceResolution: Vec2;
          resolution: Vec2;
          scaleBlend: number;
          scaleMode: string;
          screenSpace: boolean;
      }

      The initial component data.

    • Returns a promise that resolves with this element when it's ready. This is the low-level primitive underlying whenReady, which is the recommended way to wait for elements.

      Readiness tracks the element's current lifecycle: once a ready element is torn down (for example by removing it from the document), this returns a fresh promise that resolves when the element is next ready. A promise obtained earlier stays resolved — call this again after re-inserting an element rather than reusing a promise from before its removal.

      Returns Promise<ScreenComponentElement>

      A promise that resolves with this element when it's ready.