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

Framedisplay.mui

MUIA_Framedisplay_Spec

Function

Parse or retrieve the preview frame specification.

Inputs

Initialize, set and get. Supply a valid NUL-terminated
frame-specification string; Get returns STRPTR to embedded storage
despite the header structure-pointer annotation.

Notes

Input is parsed synchronously, not retained or copied as a complete
structure. The class contract defines field order and validation limits.
Parser failure is ignored and can partially update fields. Set requests
full redraw, not relayout. Get normalizes to six or eight characters and
reports success; its borrowed pointer lasts until disposal but its
contents are regenerated by Get.

MUIC_Framedisplay

Superclass

Area.mui

Description

Preview an AROS frame specification. The class stores parsed frame
fields and an embedded serialization buffer; it does not retain the
input pointer. With no Spec tag, zero-initialized fields serialize as
000000. Construction returns NULL only on superclass failure; parser
failure is not propagated.

Methods

Spec Set parses into existing state, requests full redraw for every Spec
tag and returns the superclass setter result. Get serializes current
fields into the embedded buffer and reports TRUE. Size negotiation adds
eight to both minima and sixteen to both defaults, sets maxima
MUI_MAXMAX and returns one, independent of chosen frame.
Draw calls Area and requires MADF_DRAWOBJECT. It resolves the frame
renderer, draws across outer bounds and draws shadow-pen diagonal lines
inside the frame/margin region under clipping. It returns zero on flag
rejection or unavailable renderer, otherwise one. Clipping failure is
not separately checked.
DragQuery refuses self and accepts a successful Framedisplay_Spec getter
without validating its data. DragDrop fetches and sets Spec without
checking getter status or repeating the self check, then returns zero.

Notes

A specification is a NUL-terminated string of six to eight characters:
frame type, state, left, right, top, bottom margins, optional radius and
optional width. Type uses digits then letters and must be below
FST_COUNT; state is zero or one. Margins and optional fields are
hexadecimal 0..f. The parser also accepts uppercase letters. Omitted
optional fields become zero after the first six fields parse.
Parsing is not transactional: invalid later characters can leave earlier
fields changed. NULL or invalid length returns before field updates.
This class ignores that status, so use valid input. Serialization uses
six characters when both optional values are zero, otherwise eight. Get
returns borrowed mutable storage valid until disposal and overwritten by
another Get; the resulting string may be passed to Set.