# yuiCanvasViewport

A yui canvas viewport record carrying designWidth, designHeight, windowWidth, windowHeight, scale, and related state.

Last updated: 2026-09-09

Package: frontend.yui | Status: source-declared

Tags: cpu, frontend, frontend.yui, method, source-example, thing, yeho, yui

Turn YUI models into a working frontend and its rendering/input adapters.

```yh
external thing yuiCanvasViewport
```

- int designWidth: Stores design width as int.
- int designHeight: Stores design height as int.
- int windowWidth: Stores window width as int.
- int windowHeight: Stores window height as int.
- int scale: Stores scale as int.
- int offsetX: Stores offset x as int.
- int offsetY: Stores offset y as int.
- yuiCanvasViewport(int designWidth, int designHeight, int windowWidth, int windowHeight, int scale, int offsetX, int offsetY): Yui canvas viewport.
- Describe() returns text: Describe.

## Use yuiCanvasViewport

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

Verification: type checked

```yh
using frontend.yui

// Turn YUI models into a working frontend and its rendering/input adapters.
yuiCanvasViewport sample = yuiCanvasViewport(1, 1, 1, 1, 1, 1, 1)
Console.Log(Text.From(sample.designWidth))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.frontend_yui__yuicanvasviewport"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "frontend.yui"
version = "0.2.0"
path = "../../../yeho/packages/frontend/yui"

[[dependencies]]
package = "graphics.canvas"
version = "0.1.0"
path = "../../../yeho/packages/graphics/canvas"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.image.processing"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image/processing"

[[dependencies]]
package = "graphics.text"
version = "0.1.0"
path = "../../../yeho/packages/graphics/text"

[[dependencies]]
package = "host.ui_services"
version = "0.1.0"
path = "../../../yeho/packages/host/ui_services"

[[dependencies]]
package = "input.text"
version = "0.1.0"
path = "../../../yeho/packages/input/text"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/frontend.yui--yuiCanvasViewport/usage --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## yuiCanvasViewport.Describe

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using frontend.yui

// Describe.
yuiCanvasViewport instance = yuiCanvasViewport(1, 1, 1, 1, 1, 1, 1)
text result = instance.Describe()
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.frontend_yui__yuicanvasviewport"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "frontend.yui"
version = "0.2.0"
path = "../../../yeho/packages/frontend/yui"

[[dependencies]]
package = "graphics.canvas"
version = "0.1.0"
path = "../../../yeho/packages/graphics/canvas"

[[dependencies]]
package = "graphics.image"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image"

[[dependencies]]
package = "graphics.image.processing"
version = "0.1.0"
path = "../../../yeho/packages/graphics/image/processing"

[[dependencies]]
package = "graphics.text"
version = "0.1.0"
path = "../../../yeho/packages/graphics/text"

[[dependencies]]
package = "host.ui_services"
version = "0.1.0"
path = "../../../yeho/packages/host/ui_services"

[[dependencies]]
package = "input.text"
version = "0.1.0"
path = "../../../yeho/packages/input/text"

[[dependencies]]
package = "ui"
version = "0.2.0"
path = "../../../yeho/packages/ui"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/frontend.yui--yuiCanvasViewport/method-Describe-8 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

Source: yeho/packages/frontend/yui/geometry.yh

AI training permission: https://demonhunterlabs.com/ai-use
