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

Imageadjust.mui

MUIA_Imageadjust_Originator

Function

Supply the Popimage receiver for external-list double-click acceptance.

Inputs

Initialize only, borrowed Object pointer; default NULL. No local setter
or getter.

Notes

For All/Image configurations, a non-NULL originator receives a queued
private MUIM_Popimage_CloseWindow(TRUE) through the application when the
external list emits DoubleClick. It must be a compatible live Popimage
with an existing editor window and remain alive until queued execution
completes. No lifetime reference, compatibility check or queue
cancellation is provided. Other page choices do not use this pointer for
automatic acceptance.

MUIA_Imageadjust_Spec

Function

Load editor controls or generate the specification for the active page.

Inputs

Initialize, set and get in this AROS implementation, despite the header
get-only annotation. Input is a readable specification string; NULL is
treated as 0:128. No input string ownership is transferred.

Notes

The last constructor Spec tag is used; Set processes each Spec in tag
order. Input is applied to controls rather than retained verbatim. With
no input, 0:128 is applied; on Pen configuration the existing Penadjust
default remains m5 and Get yields 2:m5. Unsupported prefix/configuration
combinations are not validated; follow the class input restrictions.
Get frees the previous generated string before allocating a new one and
reports TRUE even if allocation fails or no valid selection exists, then
returning literal 0:128 as fallback. Every returned pointer is borrowed:
do not free or modify it, and copy it before another Get or disposal.
Set does not itself free the last getter buffer, but synchronous
notifications can cause another Get.
Pattern output is 0:index+128; vector output is 1:index; color is 2:
plus Penadjust output; external is 3:relative-directory/filename; bitmap
is 5: plus string contents; gradient is the current generated 7:/8:
string. Get is not a lossless serialization of the original input. User
control changes do not automatically emit Imageadjust_Spec
notifications; explicit Set forwards its original tags through Register.

MUIA_Imageadjust_Type

Function

Choose the set and order of editor pages.

Inputs

Initialize only, LONG. Default MUIV_Imageadjust_Type_All (0). Other
declared values are Image (1), Background (2) and Pen (3). No local
setter or getter.

Notes

All: Pattern, Vector, Color, External, Bitmap, Gradient. Image: Pattern,
Vector, Color, External. Background: Pattern, Color, Bitmap, Gradient.
Pen: Color. Supply one of these values; there is no default construction
branch for unknown values and already-created components have no
complete failure cleanup on that path. Keep active-page selection within
the constructed page range: Spec Get indexes its fixed mapping without
an independent bounds check.

MUIC_Imageadjust

Superclass

Register.mui

Description

Edit an image specification through register pages selected at
construction. All provides Pattern, Vector, Color, External, Bitmap and
Gradient. Image provides Pattern, Vector, Color and External. Background
provides Pattern, Color, Bitmap and Gradient. Pen provides only Color.
These are editor configurations, not a promise that every input
specification can be converted in each configuration.
The class owns Group/Register children, external-entry copies and a
generated getter string. Dispose frees that string, delegates child
disposal and returns zero. Hooks and child callbacks rely on the
instance remaining alive. Originator is borrowed. Normal child lifecycle
and deferred requester/popup callbacks must complete before disposal.

Methods

There are eighteen patterns and twenty-four vector choices. Selecting
one deselects the previous tracked choice. With no tracked choice, Get
falls back to 0:128. The color page delegates to Penadjust; the external
page enumerates files below IMAGES:Zune/ when page three is selected,
clearing the old list first. Enumeration is synchronous and recursive,
with no input pumping, depth/cycle bound or complete error status.
Bitmap acknowledgement or Popasl Active FALSE refreshes its preview only
for a nonempty filename. The preview uses a 255-byte buffer including
the 5: prefix and can truncate long paths. Get instead builds from the
string contents and can differ from that preview. A Workbench AppMessage
uses only its first argument and assumes one exists; successful
NameFromLock/AddPart updates preview and string without selecting the
Bitmap page.
Gradient controls select scaled 7: or tiled 8:, angle zero through 179
and two color endpoints. The buttons labelled Vertical and Horizontal
set zero and ninety respectively. Loading a gradient reduces endpoint
channels to eight-bit values and expands each byte back to 32 bits; it
is not a lossless 32-bit roundtrip. Swap exchanges endpoint colors and
refreshes the preview.

Notes

Spec input must be a valid string with the prefix and content
appropriate for the available controls. The setter switches on the first
byte and reads from byte two without generally validating the colon or
length. Unknown prefixes leave controls unchanged; 6: parses a number
but implements no selection. Numeric conversions for
pattern/vector/config are unchecked. Passing a prefix for an absent page
is not a supported conversion: several branches use fixed page indices
or missing controls.
For a 2: color input, Penadjust copies a complete 32-byte MUI_PenSpec
starting at input+2. Provide that much readable storage, not merely a
short terminated string. For 3:/4: external input, matching uses a
relative directory/filename; an input with no path separator can
underflow the directory comparison length. Use a valid relative path
with a separator. Output for external selections always uses 3:,
including an input originally using 4:.
External entries copy directory and filename into the List pool, but
allocation failure for either string is not rolled back. Enumeration
ignores many errors and insertion failures and can leave a partial list.
Names ending exactly .mf1 or .mb1 are excluded; other files are not
validated as images. Display labels strip recognized lowercase .mf0,
.mb0, .mbr and .image suffixes. Directory recursion follows the ExAll
type classification without resolving soft-link targets or detecting
cycles.