acron.touch

On-screen thumbsticks and button columns, driven by the pointer.

Acron has no touch API on any platform this engine ships to, so there is no coarse-pointer signal and nothing here can be driven by a finger today. What it IS driven by is the pointer — a press, a drag and a release — which is what a touchscreen delivers as mouse events on every desktop platform that has one, and what a tester can use to prove the layer works. The trade a game must make: a pointer holding a stick cannot also be aiming a camera, so the overlay belongs behind an opt-in flag.

Two sticks and two button columns on acron.hud.PixelFrame / Raster cards. The left stick is a POSITION stick; the right one is a LOOK stick feeding a rate (square it at the consumer so small corrections stay small). A press takes hold of whatever is under it and keeps it until release — a touch identifier’s semantics: a thumb that slides off the ring keeps steering, and a finger that starts outside a button never presses it.

Games supply policy: the two column tables (action, caption[, wide]), the look gains, the palette, and the sizes they pin. The defaults are a proven desktop-geometry tuning.

Button(action, caption[, wide])

One of the button column's buttons: a rect, a caption, and an action.

Stick(size, cx, cy)

One thumbstick: where it is, and where the thumb has pulled it.

TouchControls([base, scale, ...])

The overlay, its geometry, and the state an input layer reads.