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

Scrollgroup.mui

MUIA_Scrollgroup_AutoBars

Function

Declared attribute without a local implementation in AROS Scrollgroup.

Inputs

BOOL; header declares initialize, set and get.

Notes

No constructor, setter, getter or layout branch consumes this attribute.
In-content bar visibility is automatically selected by the private
layout hook regardless of this value. Group fallback to child getters
does not establish local support. No working default or state should be
inferred from the declaration.

MUIA_Scrollgroup_Contents

Function

Supply the virtual content tree to be adopted by the internal Group.

Inputs

Object pointer; initialize and get. Required non-NULL, unowned
Virtgroup-compatible object.

Notes

The getter returns the same borrowed object. Do not dispose or detach it
independently while Scrollgroup uses it. There is no local setter or
replacement mechanism. A NULL child makes nested Group construction
fail, but nested allocations and ownership on failure are not
comprehensively unwound. Use actual virtual Group semantics, including
private content-minimum getters.

MUIA_Scrollgroup_FreeHoriz

Function

Declared attribute without a local implementation in AROS Scrollgroup.

Inputs

BOOL; header declares initialize only.

Notes

No constructor, setter, getter or layout branch consumes this attribute.
This value does not constrain the content axis; layout uses actual
content min/max information. Group fallback to child getters does not
establish local support. No working default or state should be inferred
from the declaration.

MUIA_Scrollgroup_FreeVert

Function

Declared attribute without a local implementation in AROS Scrollgroup.

Inputs

BOOL; header declares initialize only.

Notes

No constructor, setter, getter or layout branch consumes this attribute.
This value does not constrain the content axis; layout uses actual
content min/max information. Group fallback to child getters does not
establish local support. No working default or state should be inferred
from the declaration.

MUIA_Scrollgroup_HorizBar

Function

Return the internally created horizontal Scrollbar object.

Inputs

Object pointer; get only.

Notes

The returned object is borrowed and owned through the internal Group.
Use its Prop attributes for range/position; synchronization
notifications are already installed. Do not dispose or remove it
independently. This is a Scrollbar object, not the raw Intuition
proportional gadget. No local setter exists.

MUIA_Scrollgroup_NoHorizBar

Function

Declared attribute without a local implementation in AROS Scrollgroup.

Inputs

BOOL; header declares initialize, set and get.

Notes

No constructor, setter, getter or layout branch consumes this attribute.
In-content bar visibility is automatically selected by the private
layout hook regardless of this value. Group fallback to child getters
does not establish local support. No working default or state should be
inferred from the declaration.

MUIA_Scrollgroup_NoVertBar

Function

Declared attribute without a local implementation in AROS Scrollgroup.

Inputs

BOOL; header declares initialize, set and get.

Notes

No constructor, setter, getter or layout branch consumes this attribute.
In-content bar visibility is automatically selected by the private
layout hook regardless of this value. Group fallback to child getters
does not establish local support. No working default or state should be
inferred from the declaration.

MUIA_Scrollgroup_UseWinBorder

Function

Choose bottom and right window-border scrolling when nonzero.

Inputs

BOOL; initialize only. Default FALSE.

Notes

The constructor passes Prop_UseWinBorder_Bottom/Right to its bars. In
this mode the layout uses the full available content rectangle and does
not perform automatic in-content bar placement. Configure the enclosing
window with Window_UseBottomBorderScroller and
Window_UseRightBorderScroller to provide the matching gadgets. There is
no local getter or runtime switch; the corner button is still
constructed but is not explicitly laid out by this branch.

MUIA_Scrollgroup_VertBar

Function

Return the internally created vertical Scrollbar object.

Inputs

Object pointer; get only.

Notes

The returned object is borrowed and owned through the internal Group.
Use its Prop attributes for range/position; synchronization
notifications are already installed. Do not dispose or remove it
independently. This is a Scrollbar object, not the raw Intuition
proportional gadget. No local setter exists.

MUIC_Scrollgroup

Superclass

Group.mui

Description

Wrap virtual contents with horizontal and vertical Scrollbar objects and
a corner Scrollbutton. Supply a live, unowned Virtgroup-compatible
Contents object. The constructor creates an internal Group with a
private layout hook and adopts contents and controls into it; the outer
Scrollgroup owns that Group. Returned Contents/HorizBar/VertBar pointers
are borrowed.
The layout hook is allocated separately and owned by Scrollgroup.
Dispose frees it before Group disposes children. End active Show/Setup
resources before disposal. Construction returns NULL on hook or
superclass construction failure. Nested constructor failures do not
provide a comprehensive ownership-unwind guarantee; do not assume every
unattached temporary is freed.

Methods

The private layout hook computes constraints and allocates viewport
space, showing only the required in-content bars. A corner button is
shown when both bars are needed. No notification wiring from that button
to the scroll offsets is installed here, so its presence does not
establish working two-axis drag scrolling.
Show reads content Left/Top/Width/Height, writes each bar's
Prop_First/Entries/Visible from offsets, content extents and inner
viewport dimensions, then returns Group Show's result. Getter/setter
results during synchronization are ignored. Range synchronization is
performed by this Show override, not by the private layout hook itself.
Notifications connect bar Prop_First changes to content offsets, and
content offset changes back to the bars. The callback uses NoNotify on
destination updates to prevent feedback. Bar-to-content writes also
disable Group child forwarding. Registration results are ignored.

Notes

UseWinBorder selects existing bottom/right window proportional gadgets
instead of laying bars beside the content. Those gadgets must be
supplied by the enclosing window; this class does not request window
border scrollers itself.
AutoBars, FreeHoriz, FreeVert, NoHorizBar and NoVertBar are declared but
not implemented. Adding unrelated children or replacing the internal
layout hook does not extend the fixed-child layout algorithm. Retain the
constructed tree and internal callback targets throughout its lifetime.

Bugs

When adding a vertical bar, the second horizontal extent clamp uses
virt_maxheight rather than virt_maxwidth. Bar selection can therefore be
wrong for differing width/height limits. Min/max calculations reserve
both bar minima even when a bar will be hidden. Arithmetic includes
unchecked WORD intermediates. The layout hook ignores child layout
results; Group ignores the hook return value.
Content reads use the get macro with LONG destinations. Its GNU C
implementation uses a temporary union; the non-GNU fallback casts the
destination to an IPTR pointer. Do not assume identical width handling
on all compiler/ABI combinations. Contents must implement the expected
virtual getters and lifecycle; unsupported content types are not
validated.