<--- Cannot embed stylesheet: [Errno 2] No such file or directory: '../../../../aros.css' --->

Virtgroup.mui

MUIA_Virtgroup_Height

Function

Return the computed virtual content height, excluding this Group's outer
Area contribution.

Inputs

LONG; get only. Supply writable IPTR getter storage.

Notes

Group stores this extent during layout. Read after valid setup, min/max
calculation and layout; the initial zero is not a measured content size.
The viewport is the inner visible box, not this value. Built-in virtual
layout and custom LayoutHook paths calculate extents differently; a
custom hook writes Width/Height back in its layout message. No local
setter is implemented.

MUIA_Virtgroup_Input

Function

Declared initialization flag without an implementation in the AROS
Virtgroup/Group classes.

Inputs

BOOL initialization declaration in the header; no local consumer, setter
or getter.

Notes

Setting FALSE does not disable Group virtual mouse/tick autoscroll.
Setting TRUE does not enable an additional input mode. Unrecognized
getters may fall through to children through Group; that does not
establish local support. No default behavior should be inferred from
this unused declaration.

MUIA_Virtgroup_Left

Function

Set or query the horizontal offset into virtual content. Zero selects
the leading edge.

Inputs

LONG; implemented set/get, with int setter temporaries and WORD
layout-clamping temporaries. Initialization tags are not consumed by
Group.

Notes

A changed setter stores the converted value and relayouts children. When
drawable, it hides/shows children and requests a scroll redraw. Layout
clamps offsets to zero through content extent minus viewport extent
(with zero as the minimum), then uses Group_Forward FALSE for
corrections. This does not suppress notifications. The getter returns
the stored value. Use setup and valid child min/max state before
setting; avoid setting virtual offsets on nonvirtual groups.

Bugs

Layout copies the stored LONG offset into a WORD before clamping;
out-of-range input can wrap instead of saturating. Layout can reenter
the setter while correcting offsets. A setter return is not a
child-layout success report. Initialization support advertised by the
header is absent in this implementation.

MUIA_Virtgroup_Top

Function

Set or query the vertical offset into virtual content. Zero selects the
leading edge.

Inputs

LONG; implemented set/get, with int setter temporaries and WORD
layout-clamping temporaries. Initialization tags are not consumed by
Group.

Notes

A changed setter stores the converted value and relayouts children. When
drawable, it hides/shows children and requests a scroll redraw. Layout
clamps offsets to zero through content extent minus viewport extent
(with zero as the minimum), then uses Group_Forward FALSE for
corrections. This does not suppress notifications. The getter returns
the stored value. Use setup and valid child min/max state before
setting; avoid setting virtual offsets on nonvirtual groups.

Bugs

Layout copies the stored LONG offset into a WORD before clamping;
out-of-range input can wrap instead of saturating. Layout can reenter
the setter while correcting offsets. A setter return is not a
child-layout success report. Initialization support advertised by the
header is absent in this implementation.

MUIA_Virtgroup_Width

Function

Return the computed virtual content width, excluding this Group's outer
Area contribution.

Inputs

LONG; get only. Supply writable IPTR getter storage.

Notes

Group stores this extent during layout. Read after valid setup, min/max
calculation and layout; the initial zero is not a measured content size.
The viewport is the inner visible box, not this value. Built-in virtual
layout and custom LayoutHook paths calculate extents differently; a
custom hook writes Width/Height back in its layout message. No local
setter is implemented.

MUIC_Virtgroup

Superclass

Group.mui

Description

Create a Group with virtual-content layout enabled. The only local
override is construction: prepend Group_Virtual TRUE and then process
caller tags. A later Group_Virtual FALSE can override that default.
Virtgroup has no additional instance storage, local disposal or local
scrolling implementation.
All child ownership, setup/cleanup, clipping, layout hooks, offset
storage and mouse-driven edge scrolling belong to Group. Scrollbars are
not created automatically. Group saves content minima while exposing a
small viewport minimum; width/height getters report computed virtual
content extents, not the viewport size.

Methods

Construction returns the Group constructor result, including NULL on
failure. All other methods delegate unchanged to Group. Use a valid
connected/setup object and completed min/max calculation before changing
offsets: Group's setter can call Layout even when the object is not
drawable.
In virtual mode Group tracks mouse buttons and ticks for edge
autoscroll. Virtgroup_Input does not control that behavior in this
implementation.

Notes

Left/Top are implemented by Group's setter and getter but not its
initialization-tag parser, despite the header marking them
initialize/set/get. Initial offsets remain the zero-initialized values.
Width/Height become meaningful after layout. Private MinWidth/MinHeight
expose saved content minima; they are internal interfaces, not public
scrolling controls.