fpc/rtl/morphos/mui.pas
Károly Balogh 848a56bdb9 + Support unit for MUI widget kit added
git-svn-id: trunk@1830 -
2005-11-27 04:10:09 +00:00

4013 lines
127 KiB
ObjectPascal
Raw Blame History

{
This file is part of the Free Pascal run time library.
Copyright (c) 2005 Karoly Balogh
muimaster.library interface unit for MorphOS/PowerPC
Based on work of Nils Sjoholm member of the Amiga RTL
development team.
MorphOS port was done on a free Pegasos II/G4 machine
provided by Genesi S.a.r.l. <www.genesi.lu>
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
{$mode objfpc}
{$packrecords 2}
{$inline on}
unit mui;
interface
{
MUI - MagicUserInterface
(c) 1993-1997 Stefan Stuntz
Main Header File
Class Tree
rootclass (BOOPSI's base class)
+--Notify (implements notification mechanism)
! +--Family (handles multiple children)
! ! +--Menustrip (describes a complete menu strip)
! ! +--Menu (describes a single menu)
! ! \--Menuitem (describes a single menu item)
! +--Application (main class for all applications)
! +--Window (main class for all windows)
! ! \--Aboutmui (About window of MUI preferences)
! +--Area (base class for all GUI elements)
! +--Rectangle (spacing object)
! +--Balance (balancing separator bar)
! +--Image (image display)
! +--Bitmap (draws bitmaps)
! ! \--Bodychunk (makes bitmap from ILBM body chunk)
! +--Text (text display)
! +--Gadget (base class for intuition gadgets)
! ! +--String (string gadget)
! ! +--Boopsi (interface to BOOPSI gadgets)
! ! \--Prop (proportional gadget)
! +--Gauge (fule gauge)
! +--Scale (percentage scale)
! +--Colorfield (field with changeable color)
! +--List (line-oriented list)
! ! +--Floattext (special list with floating text)
! ! +--Volumelist (special list with volumes)
! ! +--Scrmodelist (special list with screen modes)
! ! \--Dirlist (special list with files)
! +--Numeric (base class for slider gadgets)
! ! +--Knob (turning knob)
! ! +--Levelmeter (level display)
! ! +--Numericbutton (space saving popup slider)
! ! \--Slider (traditional slider)
! +--Framedisplay (private)
! ! \--Popframe (private)
! +--Imagedisplay (private)
! ! \--Popimage (private)
! +--Pendisplay (displays a pen specification)
! ! \--Poppen (popup button to adjust a pen spec)
! +--Group (groups other GUI elements)
! +--Mccprefs (private)
! +--Register (handles page groups with titles)
! ! \--Penadjust (group to adjust a pen)
! +--Settingsgroup (private)
! +--Settings (private)
! +--Frameadjust (private)
! +--Imageadjust (private)
! +--Virtgroup (handles virtual groups)
! +--Scrollgroup (virtual groups with scrollbars)
! +--Scrollbar (traditional scrollbar)
! +--Listview (listview)
! +--Radio (radio button)
! +--Cycle (cycle gadget)
! +--Coloradjust (several gadgets to adjust a color)
! +--Palette (complete palette gadget)
! +--Popstring (base class for popup objects)
! +--Popobject (popup aynthing in a separate window)
! ! +--Poplist (popup a simple listview)
! ! \--Popscreen (popup a list of public screens)
! \--Popasl (popup an asl requester)
+--Semaphore (semaphore equipped objects)
+--Applist (private)
+--Dataspace (handles general purpose data spaces)
\--Configdata (private)
General Header File Information
All macro and structure definitions follow these rules:
Name Meaning
MUIC_<class> Name of a class
MUIM_<class>_<method> Method
MUIP_<class>_<method> Methods parameter structure
MUIV_<class>_<method>_<x> Special method value
MUIA_<class>_<attrib> Attribute
MUIV_<class>_<attrib>_<x> Special attribute value
MUIE_<error> Error return code from MUI_Error()
MUII_<name> Standard MUI image
MUIX_<code> Control codes for text strings
MUIO_<name> Object type for MUI_MakeObject()
MUIA_... attribute definitions are followed by a comment
consisting of the three possible letters I, S and G.
I: it's possible to specify this attribute at object creation time.
S: it's possible to change this attribute with SetAttrs().
G: it's possible to get this attribute with GetAttr().
Items marked with "Custom Class" are for use in custom classes only!
}
uses exec, intuition,utility,graphics{,iffparse};
{$WARNING IffParse required, look for FIX ME!!!}
var
MUIMasterBase : pLibrary;
const
MUIMASTER_NAME : PChar = 'muimaster.library';
MUIMASTER_VMIN = 11;
MUIMASTER_VLATEST = 19;
const
MUI_TRUE = 1;
MUI_FALSE = 0;
{
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Warning, some of the macros in this header file work only with
muimaster.library V11 and above. If you recompile your programs,
be sure to open muimaster.library with MUIMASTER_VMIN as version number.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
}
{
Config items for MUIM_GetConfigItem
}
MUICFG_PublicScreen = 36;
{
Black box specification structures for images, pens, frames
}
type
plongword = ^longword;
tMUI_PenSpec = record
buf : array[0..31] of char;
end;
pMUI_PenSpec = ^tMUI_PenSpec;
{
Public Screen Stuff
}
{
NOTE: This stuff is only included to allow compilation of the supplied
public screen manager for educational purposes. Everything
here is subject to change without notice and I guarantee to
do that just for fun!
More info can be found in the screen manager source file.
}
const
PSD_INITIAL_NAME : PChar = '(unnamed)';
PSD_INITIAL_TITLE : PChar = 'MUI Public Screen';
const
PSD_NAME_FRONTMOST : PChar = '<27>Frontmost<73>';
PSD_FILENAME_SAVE : PChar = 'envarc:mui/PublicScreens.iff';
PSD_FILENAME_USE : PChar = 'env:mui/PublicScreens.iff';
PSD_MAXLEN_NAME = 32;
PSD_MAXLEN_TITLE = 128;
PSD_MAXLEN_FONT = 48;
PSD_MAXLEN_BACKGROUND = 256;
PSD_NUMCOLS = 8;
PSD_MAXSYSPENS = 20;
PSD_NUMSYSPENS = 12;
PSD_MAXMUIPENS = 10;
PSD_NUMMUIPENS = 8;
type
tMUI_RGBcolor = record
red : LongWord;
green : LongWord;
blue : LongWord;
end;
pMUI_RGBColor = ^tMUI_RGBColor;
tMUI_PubScreenDesc = record
Version : LongInt;
Name : array[0..(PSD_MAXLEN_NAME)-1] of char;
Title : array[0..(PSD_MAXLEN_TITLE)-1] of char;
Font : array[0..(PSD_MAXLEN_FONT)-1] of char;
Background : array[0..(PSD_MAXLEN_BACKGROUND)-1] of char;
DisplayID : LongWord;
DisplayWidth : WORD;
DisplayHeight : WORD;
DisplayDepth : BYTE;
OverscanType : BYTE;
AutoScroll : BYTE;
NoDrag : BYTE;
Exclusive : BYTE;
Interleaved : BYTE;
SysDefault : BYTE;
Behind : BYTE;
AutoClose : BYTE;
CloseGadget : BYTE;
DummyWasForeign : BYTE;
SystemPens : array[0..(PSD_MAXSYSPENS)-1] of BYTE;
Reserved : array[0..((1 + (7 * 4)) - PSD_MAXSYSPENS)-1] of BYTE;
Palette : array[0..(PSD_NUMCOLS)-1] of tMUI_RGBcolor;
rsvd : array[0..(PSD_MAXSYSPENS - PSD_NUMCOLS)-1] of tMUI_RGBcolor;
rsvd2 : array[0..(PSD_MAXMUIPENS)-1] of tMUI_PenSpec;
Changed : LongInt;
UserData : Pointer;
end;
pMUI_PubScreenDesc = ^tMUI_PubScreenDesc;
tMUIS_InfoClient = record
node : tMinNode;
task : PTask;
sigbit : LongWord;
end;
pMUIS_InfoClient = ^tMUIS_InfoClient;
{
Object Types for MUI_MakeObject()
}
{ PChar label, LongWord flags }
const
MUIO_Label = 1;
{ PChar label }
MUIO_Button = 2;
{ PChar label }
MUIO_Checkmark = 3;
{ PChar label, PChar entries }
MUIO_Cycle = 4;
{ PChar label, PChar entries }
MUIO_Radio = 5;
{ PChar label, LongInt min, LongInt max }
MUIO_Slider = 6;
{ PChar label, LongInt maxlen }
MUIO_String = 7;
{ PChar imagespec }
MUIO_PopButton = 8;
{ LongInt space }
MUIO_HSpace = 9;
{ LongInt space }
MUIO_VSpace = 10;
{ LongInt space }
MUIO_HBar = 11;
{ LongInt space }
MUIO_VBar = 12;
{ struct NewMenu nm, LongWord flags }
MUIO_MenustripNM = 13;
{ PChar label, PChar shortcut, LongWord flags, LongWord data }
MUIO_Menuitem = 14;
{ PChar label }
MUIO_BarTitle = 15;
{ PChar label, LongInt min, LongInt max, PChar format }
MUIO_NumericButton = 16;
MUIO_Menuitem_CopyStrings = 1 shl 30;
MUIO_Label_SingleFrame = 1 shl 8;
MUIO_Label_DoubleFrame = 1 shl 9;
MUIO_Label_LeftAligned = 1 shl 10;
MUIO_Label_Centered = 1 shl 11;
MUIO_Label_FreeVert = 1 shl 12;
{ check for "localized" menu items such as "O\0Open" }
MUIO_MenustripNM_CommandKeyCheck = 1 shl 0;
{
ARexx Interface
}
type
tMUI_Command = record
mc_Name : Pchar;
mc_Template : Pchar;
mc_Parameters : LongInt;
mc_Hook : PHook;
mc_Reserved : array[0..4] of LongInt;
end;
pMUI_Command = ^tMUI_Command;
const
{ MC_TEMPLATE_ID : PCHar = not(0); }
MC_TEMPLATE_ID = -1;
MUI_RXERR_BADDEFINITION = -(1);
MUI_RXERR_OUTOFMEMORY = -(2);
MUI_RXERR_UNKNOWNCOMMAND = -(3);
MUI_RXERR_BADSYNTAX = -(4);
{
Return values for MUI_Error()
}
MUIE_OK = 0;
MUIE_OutOfMemory = 1;
MUIE_OutOfGfxMemory = 2;
MUIE_InvalidWindowObject = 3;
MUIE_MissingLibrary = 4;
MUIE_NoARexx = 5;
MUIE_SingleTask = 6;
{
Standard MUI Images & Backgrounds
}
{ These images are configured }
MUII_WindowBack = 0;
{ with the preferences program. }
MUII_RequesterBack = 1;
MUII_ButtonBack = 2;
MUII_ListBack = 3;
MUII_TextBack = 4;
MUII_PropBack = 5;
MUII_PopupBack = 6;
MUII_SelectedBack = 7;
MUII_ListCursor = 8;
MUII_ListSelect = 9;
MUII_ListSelCur = 10;
MUII_ArrowUp = 11;
MUII_ArrowDown = 12;
MUII_ArrowLeft = 13;
MUII_ArrowRight = 14;
MUII_CheckMark = 15;
MUII_RadioButton = 16;
MUII_Cycle = 17;
MUII_PopUp = 18;
MUII_PopFile = 19;
MUII_PopDrawer = 20;
MUII_PropKnob = 21;
MUII_Drawer = 22;
MUII_HardDisk = 23;
MUII_Disk = 24;
MUII_Chip = 25;
MUII_Volume = 26;
MUII_RegisterBack = 27;
MUII_Network = 28;
MUII_Assign = 29;
MUII_TapePlay = 30;
MUII_TapePlayBack = 31;
MUII_TapePause = 32;
MUII_TapeStop = 33;
MUII_TapeRecord = 34;
MUII_GroupBack = 35;
MUII_SliderBack = 36;
MUII_SliderKnob = 37;
MUII_TapeUp = 38;
MUII_TapeDown = 39;
MUII_PageBack = 40;
MUII_ReadListBack = 41;
MUII_Count = 42;
{ These are direct color }
MUII_BACKGROUND = 128;
{ combinations and are not }
MUII_SHADOW = 129;
{ affected by users prefs. }
MUII_SHINE = 130;
MUII_FILL = 131;
{ Generally, you should }
MUII_SHADOWBACK = 132;
{ avoid using them. Better }
MUII_SHADOWFILL = 133;
{ use one of the customized }
MUII_SHADOWSHINE = 134;
{ images above. }
MUII_FILLBACK = 135;
MUII_FILLSHINE = 136;
MUII_SHINEBACK = 137;
MUII_FILLBACK2 = 138;
MUII_HSHINEBACK = 139;
MUII_HSHADOWBACK = 140;
MUII_HSHINESHINE = 141;
MUII_HSHADOWSHADOW = 142;
MUII_MARKSHINE = 143;
MUII_MARKHALFSHINE = 144;
MUII_MARKBACKGROUND = 145;
MUII_LASTPAT = 145;
{
Special values for some methods
}
MUIV_TriggerValue = $49893131;
MUIV_NotTriggerValue = $49893133;
MUIV_EveryTime = $49893131;
MUIV_Notify_Self = 1;
MUIV_Notify_Window = 2;
MUIV_Notify_Application = 3;
MUIV_Notify_Parent = 4;
const
MUIV_Application_ReturnID_Quit = -(1);
MUIV_List_Insert_Top = 0;
MUIV_List_Insert_Active = -(1);
MUIV_List_Insert_Sorted = -(2);
MUIV_List_Insert_Bottom = -(3);
MUIV_List_Remove_First = 0;
MUIV_List_Remove_Active = -(1);
MUIV_List_Remove_Last = -(2);
MUIV_List_Remove_Selected = -(3);
MUIV_List_Select_Off = 0;
MUIV_List_Select_On = 1;
MUIV_List_Select_Toggle = 2;
MUIV_List_Select_Ask = 3;
MUIV_List_GetEntry_Active = -(1);
MUIV_List_Select_Active = -(1);
MUIV_List_Select_All = -(2);
MUIV_List_Redraw_Active = -(1);
MUIV_List_Redraw_All = -(2);
MUIV_List_Move_Top = 0;
MUIV_List_Move_Active = -(1);
MUIV_List_Move_Bottom = -(2);
{ only valid for second parameter }
MUIV_List_Move_Next = -(3);
{ only valid for second parameter }
MUIV_List_Move_Previous = -(4);
MUIV_List_Exchange_Top = 0;
MUIV_List_Exchange_Active = -(1);
MUIV_List_Exchange_Bottom = -(2);
{ only valid for second parameter }
MUIV_List_Exchange_Next = -(3);
{ only valid for second parameter }
MUIV_List_Exchange_Previous = -(4);
MUIV_List_Jump_Top = 0;
MUIV_List_Jump_Active = -(1);
MUIV_List_Jump_Bottom = -(2);
MUIV_List_Jump_Up = -(4);
MUIV_List_Jump_Down = -(3);
MUIV_List_NextSelected_Start = -(1);
MUIV_List_NextSelected_End = -(1);
MUIV_DragQuery_Refuse = 0;
MUIV_DragQuery_Accept = 1;
MUIV_DragReport_Abort = 0;
MUIV_DragReport_Continue = 1;
MUIV_DragReport_Lock = 2;
MUIV_DragReport_Refresh = 3;
{
Control codes for text strings
}
{ right justified }
MUIX_R : PChar = '\033r';
{ centered }
MUIX_C : PChar = '\033c';
{ left justified }
MUIX_L : PChar = '\033l';
{ normal }
MUIX_N : PChar = '\033n';
{ bold }
MUIX_B : PChar = '\033b';
{ italic }
MUIX_I : PChar = '\033i';
{ underlined }
MUIX_U : PChar = '\033u';
{ text pen }
MUIX_PT : PChar = '\0332';
{ highlight text pen }
MUIX_PH : PChar = '\0338';
{
Parameter structures for some classes
}
type
tMUI_Palette_Entry = record
mpe_ID : LongInt;
mpe_Red : LongWord;
mpe_Green : LongWord;
mpe_Blue : LongWord;
mpe_Group : LongInt;
end;
pMUI_Palette_Entry = ^tMUI_Palette_Entry;
const
MUIV_Palette_Entry_End = (-1);
{ }
{ Application Input Handler }
{ }
{ see below }
type
tMUI_InputHandlerNode = record
ihn_Node : tMinNode;
ihn_Object : pObject_;
ihn_stuff : record
case longint of
0 : ( ihn_sigs : LongWord );
1 : ( ihn_timer : record
ihn_millis : WORD;
ihn_current : WORD;
end );
end;
ihn_Flags : LongWord;
ihn_Method : LongWord;
end;
pMUI_InputHandlerNode = ^tMUI_InputHandlerNode;
const
{ ihn_Signals = ihn_stuff.ihn_sigs;
ihn_Millis = ihn_stuff.(ihn_timer.ihn_millis);
ihn_Current = ihn_stuff.(ihn_timer.ihn_current); }
{ Flags for ihn_Flags }
{ set ihn_Ticks to number of 1/100 sec ticks you want to be triggered }
MUIIHNF_TIMER = 1 shl 0;
{ }
{ Window Event Handler }
{ }
{ don't touch! }
{ event handlers are inserted according to their priority. }
{ certain flags, see below for definitions. }
{ object which should receive MUIM_HandleEvent. }
{ if !=NULL, MUIM_HandleEvent is invoked on exactly this class with CoerceMethod(). }
{ one or more IDCMP flags this handler should react on. }
type
tMUI_EventHandlerNode = record
ehn_Node : tMinNode;
ehn_Reserved : BYTE;
ehn_Priority : BYTE;
ehn_Flags : WORD;
ehn_Object : pObject_;
ehn_Class : PIClass;
ehn_Events : LongWord;
end;
pMUI_EventHandlerNode = ^tMUI_EventHandlerNode;
{ flags for ehn_Flags }
const
MUI_EHF_ALWAYSKEYS = 1 shl 0;
{ other values reserved for future use }
{ return values for MUIM_HandleEvent (bit-masked, all other bits must be 0) }
{ stop MUI from calling other handlers }
MUI_EventHandlerRC_Eat = 1 shl 0;
{ }
{ List Position Test }
{ }
{ number of entry, -1 if mouse not over valid entry }
{ numer of column, -1 if no valid column }
{ see below }
{ x offset of mouse click relative to column start }
{ y offset of mouse click from center of line
(negative values mean click was above center,
positive values mean click was below center) }
type
tMUI_List_TestPos_Result = record
entry : LongInt;
column : WORD;
flags : WORD;
xoffset : WORD;
yoffset : WORD;
end;
pMUI_List_TestPos_Result = ^tMUI_List_TestPos_Result;
const
MUI_LPR_ABOVE = 1 shl 0;
MUI_LPR_BELOW = 1 shl 1;
MUI_LPR_LEFT = 1 shl 2;
MUI_LPR_RIGHT = 1 shl 3;
{
For Boopsi Image Implementors Only:
If MUI is using a boopsi image object, it will send a special method
immediately after object creation. This method has a parameter structure
where the boopsi can fill in its minimum and maximum size and learn if
its used in a horizontal or vertical context.
The boopsi image must use the method id (MUIM_BoopsiQuery) as return
value. That's how MUI sees that the method is implemented.
Note: MUI does not depend on this method. If the boopsi image doesn't
implement it, minimum size will be 0 and maximum size unlimited.
}
{ this is send to the boopsi and }
const
MUIM_BoopsiQuery = $80427157;
{ must be used as return value }
{ parameter structure }
{ always MUIM_BoopsiQuery }
{ obsolete, use mbq_RenderInfo }
{ read only, see below }
{ write only, fill in min width }
{ write only, fill in min height }
{ write only, fill in max width }
{ write only, fill in max height }
{ write only, fill in def width }
{ write only, fill in def height }
{ read only, display context }
{ may grow in future ... }
type
tMUI_RenderInfo = record
mri_WindowObject : pObject_;
mri_Screen : PScreen;
mri_DrawInfo : PDrawInfo;
mri_Pens : ^WORD;
mri_Window : PWindow;
mri_RastPort : PRastPort;
mri_Flags : LongWord;
end;
pMUI_RenderInfo = ^tMUI_RenderInfo;
type
tMUI_BoopsiQuery = record
mbq_MethodID : LongWord;
mbq_Screen : PScreen;
mbq_Flags : LongWord;
mbq_MinWidth : LongInt;
mbq_MinHeight : LongInt;
mbq_MaxWidth : LongInt;
mbq_MaxHeight : LongInt;
mbq_DefWidth : LongInt;
mbq_DefHeight : LongInt;
mbq_RenderInfo : PMUI_RenderInfo;
end;
pMUI_BoopsiQuery = ^tMUI_BoopsiQuery;
{ old structure name }
MUIP_BoopsiQuery = tMUI_BoopsiQuery;
const
{ object used in a horizontal }
MBQF_HORIZ = 1 shl 0;
{ context (else vertical) }
{ use this for unlimited MaxWidth/Height }
MBQ_MUI_MAXMAX = 10000;
{ }
{ Begin of automatic header file creation }
{ }
{ }
{ Notify }
{ }
const
MUIC_Notify : PChar = 'Notify.mui';
{ Methods }
{ V4 }
const
MUIM_CallHook = $8042b96b;
{ V12 }
MUIM_Export = $80420f1c;
{ V8 }
MUIM_FindUData = $8042c196;
{ V11 }
MUIM_GetConfigItem = $80423edb;
{ V8 }
MUIM_GetUData = $8042ed0c;
{ V12 }
MUIM_Import = $8042d012;
{ V4 }
MUIM_KillNotify = $8042d240;
{ V16 }
MUIM_KillNotifyObj = $8042b145;
{ V7 }
MUIM_MultiSet = $8042d356;
{ V9 }
MUIM_NoNotifySet = $8042216f;
{ V4 }
MUIM_Notify = $8042c9cb;
{ V4 }
MUIM_Set = $8042549a;
{ V4 }
MUIM_SetAsString = $80422590;
{ V8 }
MUIM_SetUData = $8042c920;
{ V11 }
MUIM_SetUDataOnce = $8042ca19;
{ V6 }
MUIM_WriteLong = $80428d86;
{ V6 }
MUIM_WriteString = $80424bf4;
{ ... }
type
tMUIP_CallHook = record
MethodID : LongWord;
Hook : PHook;
param1 : LongWord;
end;
pMUIP_CallHook = ^tMUIP_CallHook;
tMUIP_Export = record
MethodID : LongWord;
dataspace : pObject_;
end;
pMUIP_Export = ^tMUIP_Export;
tMUIP_FindUData = record
MethodID : LongWord;
udata : LongWord;
end;
pMUIP_FindUData = ^tMUIP_FindUData;
tMUIP_GetConfigItem = record
MethodID : LongWord;
id : LongWord;
storage : PLongWord;
end;
pMUIP_GetConfigItem = ^tMUIP_GetConfigItem;
tMUIP_GetUData = record
MethodID : LongWord;
udata : LongWord;
attr : LongWord;
storage : PLongWord;
end;
pMUIP_GetUData = ^tMUIP_GetUData;
tMUIP_Import = record
MethodID : LongWord;
dataspace : pObject_;
end;
pMUIP_Import = ^tMUIP_Import;
tMUIP_KillNotify = record
MethodID : LongWord;
TrigAttr : LongWord;
end;
pMUIP_KillNotify = ^tMUIP_KillNotify;
tMUIP_KillNotifyObj = record
MethodID : LongWord;
TrigAttr : LongWord;
dest : pObject_;
end;
pMUIP_KillNotifyObj = ^tMUIP_KillNotifyObj;
{ ... }
tMUIP_MultiSet = record
MethodID : LongWord;
attr : LongWord;
val : LongWord;
obj : Pointer;
end;
pMUIP_MultiSet = ^tMUIP_MultiSet;
{ ... }
tMUIP_NoNotifySet = record
MethodID : LongWord;
attr : LongWord;
format : Pchar;
val : LongWord;
end;
pMUIP_NoNotifySet = ^tMUIP_NoNotifySet;
{ ... }
tMUIP_Notify = record
MethodID : LongWord;
TrigAttr : LongWord;
TrigVal : LongWord;
DestObj : Pointer;
FollowParams : LongWord;
end;
pMUIP_Notify = ^tMUIP_Notify;
tMUIP_Set = record
MethodID : LongWord;
attr : LongWord;
val : LongWord;
end;
pMUIP_Set = ^tMUIP_Set;
{ ... }
tMUIP_SetAsString = record
MethodID : LongWord;
attr : LongWord;
format : Pchar;
val : LongWord;
end;
pMUIP_SetAsString = ^tMUIP_SetAsString;
tMUIP_SetUData = record
MethodID : LongWord;
udata : LongWord;
attr : LongWord;
val : LongWord;
end;
pMUIP_SetUData = ^tMUIP_SetUData;
tMUIP_SetUDataOnce = record
MethodID : LongWord;
udata : LongWord;
attr : LongWord;
val : LongWord;
end;
pMUIP_SetUDataOnce = ^tMUIP_SetUDataOnce;
tMUIP_WriteLong = record
MethodID : LongWord;
val : LongWord;
memory : PLongWord;
end;
pMUIP_WriteLong = ^tMUIP_WriteLong;
tMUIP_WriteString = record
MethodID : LongWord;
str : Pchar;
memory : Pchar;
end;
pMUIP_WriteString = ^tMUIP_WriteString;
{ Attributes }
{ V4 ..g Object }
const
MUIA_ApplicationObject = $8042d3ee;
{ V5 ..g struct AppMessage }
MUIA_AppMessage = $80421955;
{ V4 isg LongInt }
MUIA_HelpLine = $8042a825;
{ V4 isg PChar }
MUIA_HelpNode = $80420b85;
{ V7 .s. BOOL }
MUIA_NoNotify = $804237f9;
{ V11 isg LongWord }
MUIA_ObjectID = $8042d76e;
{ V11 ..g Object }
MUIA_Parent = $8042e35f;
{ V4 ..g LongInt }
MUIA_Revision = $80427eaa;
{ V4 isg LongWord }
MUIA_UserData = $80420313;
{ V4 ..g LongInt }
MUIA_Version = $80422301;
{ }
{ Family }
{ }
const
MUIC_Family : PChar = 'Family.mui';
{ Methods }
{ V8 }
const
MUIM_Family_AddHead = $8042e200;
{ V8 }
MUIM_Family_AddTail = $8042d752;
{ V8 }
MUIM_Family_Insert = $80424d34;
{ V8 }
MUIM_Family_Remove = $8042f8a9;
{ V8 }
MUIM_Family_Sort = $80421c49;
{ V8 }
MUIM_Family_Transfer = $8042c14a;
type
tMUIP_Family_AddHead = record
MethodID : LongWord;
obj : pObject_;
end;
pMUIP_Family_AddHead = ^tMUIP_Family_AddHead;
tMUIP_Family_AddTail = record
MethodID : LongWord;
obj : pObject_;
end;
pMUIP_Family_AddTail = ^tMUIP_Family_AddTail;
tMUIP_Family_Insert = record
MethodID : LongWord;
obj : pObject_;
pred : pObject_;
end;
pMUIP_Family_Insert = ^tMUIP_Family_Insert;
tMUIP_Family_Remove = record
MethodID : LongWord;
obj : pObject_;
end;
pMUIP_Family_Remove = ^tMUIP_Family_Remove;
tMUIP_Family_Sort = record
MethodID : LongWord;
obj : array[0..0] of pObject_;
end;
pMUIP_Family_Sort = ^tMUIP_Family_Sort;
tMUIP_Family_Transfer = record
MethodID : LongWord;
family : pObject_;
end;
pMUIP_Family_Transfer = ^tMUIP_Family_Transfer;
{ Attributes }
{ V8 i.. Object }
const
MUIA_Family_Child = $8042c696;
{ V8 ..g struct MinList }
MUIA_Family_List = $80424b9e;
{ }
{ Menustrip }
{ }
const
MUIC_Menustrip : PChar = 'Menustrip.mui';
{ Methods }
{ Attributes }
{ V8 isg BOOL }
const
MUIA_Menustrip_Enabled = $8042815b;
{ }
{ Menu }
{ }
const
MUIC_Menu : PChar = 'Menu.mui';
{ Methods }
{ Attributes }
{ V8 isg BOOL }
const
MUIA_Menu_Enabled = $8042ed48;
{ V8 isg PChar }
MUIA_Menu_Title = $8042a0e3;
{ }
{ Menuitem }
{ }
const
MUIC_Menuitem : PChar = 'Menuitem.mui';
{ Methods }
{ Attributes }
{ V8 isg BOOL }
const
MUIA_Menuitem_Checked = $8042562a;
{ V8 isg BOOL }
MUIA_Menuitem_Checkit = $80425ace;
{ V16 isg BOOL }
MUIA_Menuitem_CommandString = $8042b9cc;
{ V8 isg BOOL }
MUIA_Menuitem_Enabled = $8042ae0f;
{ V8 isg LongInt }
MUIA_Menuitem_Exclude = $80420bc6;
{ V8 isg PChar }
MUIA_Menuitem_Shortcut = $80422030;
{ V8 isg PChar }
MUIA_Menuitem_Title = $804218be;
{ V8 isg BOOL }
MUIA_Menuitem_Toggle = $80424d5c;
{ V8 ..g struct MenuItem }
MUIA_Menuitem_Trigger = $80426f32;
MUIV_Menuitem_Shortcut_Check = -(1);
{ }
{ Application }
{ }
const
MUIC_Application : PChar = 'Application.mui';
{ Methods }
{ V14 }
const
MUIM_Application_AboutMUI = $8042d21d;
{ V11 }
MUIM_Application_AddInputHandler = $8042f099;
{ V11 }
MUIM_Application_CheckRefresh = $80424d68;
{ MUI_OBSOLETE }
{ V4 }
const
MUIM_Application_InputBuffered = $80427e59;
{ V4 }
MUIM_Application_Load = $8042f90d;
{ V11 }
MUIM_Application_NewInput = $80423ba6;
{ V11 }
MUIM_Application_OpenConfigWindow = $804299ba;
{ V4 }
MUIM_Application_PushMethod = $80429ef8;
{ V11 }
MUIM_Application_RemInputHandler = $8042e7af;
{ V4 }
MUIM_Application_ReturnID = $804276ef;
{ V4 }
MUIM_Application_Save = $804227ef;
{ V11 }
MUIM_Application_SetConfigItem = $80424a80;
{ V4 }
const
MUIM_Application_ShowHelp = $80426479;
type
tMUIP_Application_AboutMUI = record
MethodID : LongWord;
refwindow : pObject_;
end;
pMUIP_Application_AboutMUI = ^tMUIP_Application_AboutMUI;
tMUIP_Application_AddInputHandler = record
MethodID : LongWord;
ihnode : PMUI_InputHandlerNode;
end;
pMUIP_Application_AddInputHandler = ^tMUIP_Application_AddInputHandler;
tMUIP_Application_CheckRefresh = record
MethodID : LongWord;
end;
pMUIP_Application_CheckRefresh = ^tMUIP_Application_CheckRefresh;
tMUIP_Application_GetMenuCheck = record
MethodID : LongWord;
MenuID : LongWord;
end;
pMUIP_Application_GetMenuCheck = ^tMUIP_Application_GetMenuCheck;
tMUIP_Application_GetMenuState = record
MethodID : LongWord;
MenuID : LongWord;
end;
pMUIP_Application_GetMenuState = ^tMUIP_Application_GetMenuState;
tMUIP_Application_Input = record
MethodID : LongWord;
signal : PLongWord;
end;
pMUIP_Application_Input = ^tMUIP_Application_Input;
tMUIP_Application_InputBuffered = record
MethodID : LongWord;
end;
pMUIP_Application_InputBuffered = ^tMUIP_Application_InputBuffered;
tMUIP_Application_Load = record
MethodID : LongWord;
name : PChar;
end;
tMUIP_Application_NewInput = record
MethodID : LongWord;
signal : PLongWord;
end;
pMUIP_Application_NewInput = ^tMUIP_Application_NewInput;
tMUIP_Application_OpenConfigWindow = record
MethodID : LongWord;
flags : LongWord;
end;
pMUIP_Application_OpenConfigWindow = ^tMUIP_Application_OpenConfigWindow;
{ ... }
tMUIP_Application_PushMethod = record
MethodID : LongWord;
dest : pObject_;
count : LongInt;
end;
pMUIP_Application_PushMethod = ^tMUIP_Application_PushMethod;
tMUIP_Application_RemInputHandler = record
MethodID : LongWord;
ihnode : PMUI_InputHandlerNode;
end;
pMUIP_Application_RemInputHandler = ^tMUIP_Application_RemInputHandler;
tMUIP_Application_ReturnID = record
MethodID : LongWord;
retid : LongWord;
end;
pMUIP_Application_ReturnID = ^tMUIP_Application_ReturnID;
tMUIP_Application_Save = record
MethodID : LongWord;
name : PChar;
end;
tMUIP_Application_SetConfigItem = record
MethodID : LongWord;
item : LongWord;
data : Pointer;
end;
pMUIP_Application_SetConfigItem = ^tMUIP_Application_SetConfigItem;
tMUIP_Application_SetMenuCheck = record
MethodID : LongWord;
MenuID : LongWord;
stat : LongInt;
end;
pMUIP_Application_SetMenuCheck = ^tMUIP_Application_SetMenuCheck;
tMUIP_Application_SetMenuState = record
MethodID : LongWord;
MenuID : LongWord;
stat : LongInt;
end;
pMUIP_Application_SetMenuState = ^tMUIP_Application_SetMenuState;
tMUIP_Application_ShowHelp = record
MethodID : LongWord;
window : pObject_;
name : Pchar;
node : Pchar;
line : LongInt;
end;
pMUIP_Application_ShowHelp = ^tMUIP_Application_ShowHelp;
{ Attributes }
{ V4 isg BOOL }
const
MUIA_Application_Active = $804260ab;
{ V4 i.g PChar }
MUIA_Application_Author = $80424842;
{ V4 i.g PChar }
MUIA_Application_Base = $8042e07a;
{ V4 ..g Broker }
MUIA_Application_Broker = $8042dbce;
{ V4 isg struct Hook }
MUIA_Application_BrokerHook = $80428f4b;
{ V6 ..g struct MsgPort }
MUIA_Application_BrokerPort = $8042e0ad;
{ V6 i.g LongInt }
MUIA_Application_BrokerPri = $8042c8d0;
{ V4 isg struct MUI_Command }
MUIA_Application_Commands = $80428648;
{ V4 i.g PChar }
MUIA_Application_Copyright = $8042ef4d;
{ V4 i.g PChar }
MUIA_Application_Description = $80421fc6;
{ V4 isg struct DiskObject }
MUIA_Application_DiskObject = $804235cb;
{ V4 ..g BOOL }
MUIA_Application_DoubleStart = $80423bc6;
{ V5 is. Object }
MUIA_Application_DropObject = $80421266;
{ V8 ..g BOOL }
MUIA_Application_ForceQuit = $804257df;
{ V8 isg PChar }
MUIA_Application_HelpFile = $804293f4;
{ V4 .sg BOOL }
MUIA_Application_Iconified = $8042a07f;
const
MUIA_Application_MenuAction = $80428961;
{ V4 ..g LongWord }
MUIA_Application_MenuHelp = $8042540b;
{ V8 i.. Object }
MUIA_Application_Menustrip = $804252d9;
{ V7 isg struct Hook }
MUIA_Application_RexxHook = $80427c42;
{ V4 ..g struct RxMsg }
MUIA_Application_RexxMsg = $8042fd88;
{ V4 .s. PChar }
MUIA_Application_RexxString = $8042d711;
{ V4 i.. BOOL }
MUIA_Application_SingleTask = $8042a2c8;
{ V4 .s. BOOL }
MUIA_Application_Sleep = $80425711;
{ V4 i.g PChar }
MUIA_Application_Title = $804281b8;
{ V10 i.. BOOL }
MUIA_Application_UseCommodities = $80425ee5;
{ V10 i.. BOOL }
MUIA_Application_UseRexx = $80422387;
{ V4 i.g PChar }
MUIA_Application_Version = $8042b33f;
{ V4 i.. Object }
MUIA_Application_Window = $8042bfe0;
{ V13 ..g struct List }
MUIA_Application_WindowList = $80429abe;
MUIV_Application_Package_NetConnect = $a3ff7b49;
{ }
{ Window }
{ }
const
MUIC_Window : PChar = 'Window.mui';
{ V16 }
const
MUIM_Window_AddEventHandler = $804203b7;
{ V16 }
const
MUIM_Window_RemEventHandler = $8042679e;
{ V4 }
MUIM_Window_ScreenToBack = $8042913d;
{ V4 }
MUIM_Window_ScreenToFront = $804227a4;
{ V11 }
const
MUIM_Window_Snapshot = $8042945e;
{ V4 }
MUIM_Window_ToBack = $8042152e;
{ V4 }
MUIM_Window_ToFront = $8042554f;
type
tMUIP_Window_AddEventHandler = record
MethodID : LongWord;
ehnode : PMUI_EventHandlerNode;
end;
pMUIP_Window_AddEventHandler = ^tMUIP_Window_AddEventHandler;
tMUIP_Window_GetMenuCheck = record
MethodID : LongWord;
MenuID : LongWord;
end;
pMUIP_Window_GetMenuCheck = ^tMUIP_Window_GetMenuCheck;
tMUIP_Window_GetMenuState = record
MethodID : LongWord;
MenuID : LongWord;
end;
pMUIP_Window_GetMenuState = ^tMUIP_Window_GetMenuState;
tMUIP_Window_RemEventHandler = record
MethodID : LongWord;
ehnode : PMUI_EventHandlerNode;
end;
pMUIP_Window_RemEventHandler = ^tMUIP_Window_RemEventHandler;
tMUIP_Window_ScreenToBack = record
MethodID : LongWord;
end;
pMUIP_Window_ScreenToBack = ^tMUIP_Window_ScreenToBack;
tMUIP_Window_ScreenToFront = record
MethodID : LongWord;
end;
pMUIP_Window_ScreenToFront = ^tMUIP_Window_ScreenToFront;
tMUIP_Window_SetCycleChain = record
MethodID : LongWord;
obj : array[0..0] of pObject_;
end;
pMUIP_Window_SetCycleChain = ^tMUIP_Window_SetCycleChain;
tMUIP_Window_SetMenuCheck = record
MethodID : LongWord;
MenuID : LongWord;
stat : LongInt;
end;
pMUIP_Window_SetMenuCheck = ^tMUIP_Window_SetMenuCheck;
tMUIP_Window_SetMenuState = record
MethodID : LongWord;
MenuID : LongWord;
stat : LongInt;
end;
pMUIP_Window_SetMenuState = ^tMUIP_Window_SetMenuState;
tMUIP_Window_Snapshot = record
MethodID : LongWord;
flags : LongInt;
end;
pMUIP_Window_Snapshot = ^tMUIP_Window_Snapshot;
tMUIP_Window_ToBack = record
MethodID : LongWord;
end;
pMUIP_Window_ToBack = ^tMUIP_Window_ToBack;
tMUIP_Window_ToFront = record
MethodID : LongWord;
end;
pMUIP_Window_ToFront = ^tMUIP_Window_ToFront;
{ Attributes }
{ V4 isg BOOL }
const
MUIA_Window_Activate = $80428d2f;
{ V4 .sg Object }
MUIA_Window_ActiveObject = $80427925;
{ V4 i.g LongInt }
MUIA_Window_AltHeight = $8042cce3;
{ V4 i.g LongInt }
MUIA_Window_AltLeftEdge = $80422d65;
{ V4 i.g LongInt }
MUIA_Window_AltTopEdge = $8042e99b;
{ V4 i.g LongInt }
MUIA_Window_AltWidth = $804260f4;
{ V5 i.. BOOL }
MUIA_Window_AppWindow = $804280cf;
{ V4 i.. BOOL }
MUIA_Window_Backdrop = $8042c0bb;
{ V4 i.. BOOL }
MUIA_Window_Borderless = $80429b79;
{ V4 i.. BOOL }
MUIA_Window_CloseGadget = $8042a110;
{ V4 ..g BOOL }
MUIA_Window_CloseRequest = $8042e86e;
{ V4 isg Object }
MUIA_Window_DefaultObject = $804294d7;
{ V4 i.. BOOL }
MUIA_Window_DepthGadget = $80421923;
{ V4 i.. BOOL }
MUIA_Window_DragBar = $8042045d;
{ V8 isg BOOL }
MUIA_Window_FancyDrawing = $8042bd0e;
{ V4 i.g LongInt }
MUIA_Window_Height = $80425846;
{ V4 isg LongWord }
MUIA_Window_ID = $804201bd;
{ V4 ..g struct InputEvent }
MUIA_Window_InputEvent = $804247d8;
{ V4 isg BOOL }
MUIA_Window_IsSubWindow = $8042b5aa;
{ V4 i.g LongInt }
MUIA_Window_LeftEdge = $80426c65;
{ MUI_OBSOLETE }
{ V8 isg LongWord }
const
MUIA_Window_MenuAction = $80427521;
{ V8 i.g Object }
MUIA_Window_Menustrip = $8042855e;
{ V10 ..g Object }
MUIA_Window_MouseObject = $8042bf9b;
{ V10 i.. BOOL }
MUIA_Window_NeedsMouseObject = $8042372a;
{ V4 is. BOOL }
MUIA_Window_NoMenus = $80429df5;
{ V4 .sg BOOL }
MUIA_Window_Open = $80428aa0;
{ V6 isg PChar }
MUIA_Window_PublicScreen = $804278e4;
{ V4 is. Object }
MUIA_Window_RefWindow = $804201f4;
{ V4 isg Object }
MUIA_Window_RootObject = $8042cba5;
{ V4 isg struct Screen }
MUIA_Window_Screen = $8042df4f;
{ V5 isg PChar }
MUIA_Window_ScreenTitle = $804234b0;
{ V4 i.. BOOL }
MUIA_Window_SizeGadget = $8042e33d;
{ V4 i.. BOOL }
MUIA_Window_SizeRight = $80424780;
{ V4 .sg BOOL }
MUIA_Window_Sleep = $8042e7db;
{ V4 isg PChar }
MUIA_Window_Title = $8042ad3d;
{ V4 i.g LongInt }
MUIA_Window_TopEdge = $80427c66;
{ V13 isg BOOL }
MUIA_Window_UseBottomBorderScroller = $80424e79;
{ V13 isg BOOL }
MUIA_Window_UseLeftBorderScroller = $8042433e;
{ V13 isg BOOL }
MUIA_Window_UseRightBorderScroller = $8042c05e;
{ V4 i.g LongInt }
MUIA_Window_Width = $8042dcae;
{ V4 ..g struct Window }
MUIA_Window_Window = $80426a42;
MUIV_Window_ActiveObject_None = 0;
MUIV_Window_ActiveObject_Next = -(1);
MUIV_Window_ActiveObject_Prev = -(2);
const
MUIV_Window_AltHeight_Scaled = -(1000);
MUIV_Window_AltLeftEdge_Centered = -(1);
MUIV_Window_AltLeftEdge_Moused = -(2);
MUIV_Window_AltLeftEdge_NoChange = -(1000);
MUIV_Window_AltTopEdge_Centered = -(1);
MUIV_Window_AltTopEdge_Moused = -(2);
const
MUIV_Window_AltTopEdge_NoChange = -(1000);
const
MUIV_Window_AltWidth_Scaled = -(1000);
const
MUIV_Window_Height_Scaled = -(1000);
MUIV_Window_Height_Default = -(1001);
MUIV_Window_LeftEdge_Centered = -(1);
MUIV_Window_LeftEdge_Moused = -(2);
const
MUIV_Window_TopEdge_Centered = -(1);
MUIV_Window_TopEdge_Moused = -(2);
const
MUIV_Window_Width_Scaled = -(1000);
MUIV_Window_Width_Default = -(1001);
{ }
{ Aboutmui }
{ }
const
MUIC_Aboutmui : PChar = 'Aboutmui.mui';
{ Methods }
{ Attributes }
{ V11 i.. Object }
const
MUIA_Aboutmui_Application = $80422523;
{ }
{ Area }
{ }
const
MUIC_Area : PChar = 'Area.mui';
{ Methods }
{ Custom Class }
{ V4 }
const
MUIM_AskMinMax = $80423874;
{ Custom Class }
{ V4 }
MUIM_Cleanup = $8042d985;
{ V11 }
MUIM_ContextMenuBuild = $80429d2e;
{ V11 }
MUIM_ContextMenuChoice = $80420f0e;
{ V18 }
MUIM_CreateBubble = $80421c41;
{ V11 }
MUIM_CreateShortHelp = $80428e93;
{ V18 }
MUIM_DeleteBubble = $804211af;
{ V11 }
MUIM_DeleteShortHelp = $8042d35a;
{ V11 }
MUIM_DragBegin = $8042c03a;
{ V11 }
MUIM_DragDrop = $8042c555;
{ V11 }
MUIM_DragFinish = $804251f0;
{ V11 }
MUIM_DragQuery = $80420261;
{ V11 }
MUIM_DragReport = $8042edad;
{ Custom Class }
{ V4 }
MUIM_Draw = $80426f3f;
{ V11 }
MUIM_DrawBackground = $804238ca;
{ Custom Class }
{ V16 }
MUIM_HandleEvent = $80426d66;
{ Custom Class }
{ V4 }
MUIM_HandleInput = $80422a1a;
{ Custom Class }
{ V4 }
MUIM_Hide = $8042f20f;
{ Custom Class }
{ V4 }
MUIM_Setup = $80428354;
{ Custom Class }
{ V4 }
MUIM_Show = $8042cc84;
type
{ MUI_MinMax structure holds information about minimum, maximum
and default dimensions of an object. }
tMUI_MinMax = record
MinWidth : WORD;
MinHeight : WORD;
MaxWidth : WORD;
MaxHeight : WORD;
DefWidth : WORD;
DefHeight : WORD;
end;
pMUI_MinMax = ^tMUI_MinMax;
tMUIP_AskMinMax = record
MethodID : LongWord;
MinMaxInfo : PMUI_MinMax;
end;
pMUIP_AskMinMax = ^tMUIP_AskMinMax;
{ Custom Class }
tMUIP_Cleanup = record
MethodID : LongWord;
end;
pMUIP_Cleanup = ^tMUIP_Cleanup;
{ Custom Class }
tMUIP_ContextMenuBuild = record
MethodID : LongWord;
mx : LongInt;
my : LongInt;
end;
pMUIP_ContextMenuBuild = ^tMUIP_ContextMenuBuild;
tMUIP_ContextMenuChoice = record
MethodID : LongWord;
item : pObject_;
end;
pMUIP_ContextMenuChoice = ^tMUIP_ContextMenuChoice;
tMUIP_CreateBubble = record
MethodID : LongWord;
x : LongInt;
y : LongInt;
txt : Pchar;
flags : LongWord;
end;
pMUIP_CreateBubble = ^tMUIP_CreateBubble;
tMUIP_CreateShortHelp = record
MethodID : LongWord;
mx : LongInt;
my : LongInt;
end;
pMUIP_CreateShortHelp = ^tMUIP_CreateShortHelp;
tMUIP_DeleteBubble = record
MethodID : LongWord;
bubble : Pointer;
end;
pMUIP_DeleteBubble = ^tMUIP_DeleteBubble;
tMUIP_DeleteShortHelp = record
MethodID : LongWord;
help : PChar;
end;
pMUIP_DeleteShortHelp = ^tMUIP_DeleteShortHelp;
tMUIP_DragBegin = record
MethodID : LongWord;
obj : pObject_;
end;
pMUIP_DragBegin = ^tMUIP_DragBegin;
tMUIP_DragDrop = record
MethodID : LongWord;
obj : pObject_;
x : LongInt;
y : LongInt;
end;
pMUIP_DragDrop = ^tMUIP_DragDrop;
tMUIP_DragFinish = record
MethodID : LongWord;
obj : pObject_;
end;
pMUIP_DragFinish = ^tMUIP_DragFinish;
tMUIP_DragQuery = record
MethodID : LongWord;
obj : pObject_;
end;
pMUIP_DragQuery = ^tMUIP_DragQuery;
tMUIP_DragReport = record
MethodID : LongWord;
obj : pObject_;
x : LongInt;
y : LongInt;
update : LongInt;
end;
pMUIP_DragReport = ^tMUIP_DragReport;
tMUIP_Draw = record
MethodID : LongWord;
flags : LongWord;
end;
pMUIP_Draw = ^tMUIP_Draw;
{ Custom Class }
tMUIP_DrawBackground = record
MethodID : LongWord;
left : LongInt;
top : LongInt;
width : LongInt;
height : LongInt;
xoffset : LongInt;
yoffset : LongInt;
flags : LongInt;
end;
pMUIP_DrawBackground = ^tMUIP_DrawBackground;
tMUIP_HandleEvent = record
MethodID : LongWord;
imsg : PIntuiMessage;
muikey : LongInt;
end;
pMUIP_HandleEvent = ^tMUIP_HandleEvent;
{ Custom Class }
tMUIP_HandleInput = record
MethodID : LongWord;
imsg : PIntuiMessage;
muikey : LongInt;
end;
pMUIP_HandleInput = ^tMUIP_HandleInput;
{ Custom Class }
tMUIP_Hide = record
MethodID : LongWord;
end;
pMUIP_Hide = ^tMUIP_Hide;
{ Custom Class }
tMUIP_Setup = record
MethodID : LongWord;
RenderInfo : PMUI_RenderInfo;
end;
pMUIP_Setup = ^tMUIP_Setup;
{ Custom Class }
tMUIP_Show = record
MethodID : LongWord;
end;
pMUIP_Show = ^tMUIP_Show;
{ Custom Class }
{ Attributes }
{ V4 is. LongInt }
const
MUIA_Background = $8042545b;
{ V4 ..g LongInt }
MUIA_BottomEdge = $8042e552;
{ V11 isg Object }
MUIA_ContextMenu = $8042b704;
{ V11 ..g Object }
MUIA_ContextMenuTrigger = $8042a2c1;
{ V4 isg char }
MUIA_ControlChar = $8042120b;
{ V11 isg LongInt }
MUIA_CycleChain = $80421ce7;
{ V4 isg BOOL }
MUIA_Disabled = $80423661;
{ V11 isg BOOL }
MUIA_Draggable = $80420b6e;
{ V11 isg BOOL }
MUIA_Dropable = $8042fbce;
{ V4 is. BOOL }
const
MUIA_FillArea = $804294a3;
{ V4 i.. LongInt }
MUIA_FixHeight = $8042a92b;
{ V4 i.. PChar }
MUIA_FixHeightTxt = $804276f2;
{ V4 i.. LongInt }
MUIA_FixWidth = $8042a3f1;
{ V4 i.. PChar }
MUIA_FixWidthTxt = $8042d044;
{ V4 i.g struct TextFont }
MUIA_Font = $8042be50;
{ V4 i.. LongInt }
MUIA_Frame = $8042ac64;
{ V4 i.. BOOL }
MUIA_FramePhantomHoriz = $8042ed76;
{ V4 i.. PChar }
MUIA_FrameTitle = $8042d1c7;
{ V4 ..g LongInt }
MUIA_Height = $80423237;
{ V11 isg LongInt }
MUIA_HorizDisappear = $80429615;
{ V4 isg WORD }
MUIA_HorizWeight = $80426db9;
{ V4 i.g LongInt }
MUIA_InnerBottom = $8042f2c0;
{ V4 i.g LongInt }
MUIA_InnerLeft = $804228f8;
{ V4 i.g LongInt }
MUIA_InnerRight = $804297ff;
{ V4 i.g LongInt }
MUIA_InnerTop = $80421eb6;
{ V4 i.. LongInt }
MUIA_InputMode = $8042fb04;
{ V4 ..g LongInt }
MUIA_LeftEdge = $8042bec6;
{ V11 i.. LongInt }
MUIA_MaxHeight = $804293e4;
{ V11 i.. LongInt }
MUIA_MaxWidth = $8042f112;
{ V4 ..g BOOL }
MUIA_Pressed = $80423535;
{ V4 ..g LongInt }
MUIA_RightEdge = $8042ba82;
{ V4 isg BOOL }
MUIA_Selected = $8042654b;
{ V11 isg PChar }
MUIA_ShortHelp = $80428fe3;
{ V4 isg BOOL }
MUIA_ShowMe = $80429ba8;
{ V4 i.. BOOL }
MUIA_ShowSelState = $8042caac;
{ V4 ..g LongInt }
MUIA_Timer = $80426435;
{ V4 ..g LongInt }
MUIA_TopEdge = $8042509b;
{ V11 isg LongInt }
MUIA_VertDisappear = $8042d12f;
{ V4 isg WORD }
MUIA_VertWeight = $804298d0;
{ V4 i.. WORD }
MUIA_Weight = $80421d1f;
{ V4 ..g LongInt }
MUIA_Width = $8042b59c;
{ V4 ..g struct Window }
MUIA_Window = $80421591;
{ V4 ..g Object }
MUIA_WindowObject = $8042669e;
MUIV_Font_Inherit = 0;
MUIV_Font_Normal = -(1);
MUIV_Font_List = -(2);
MUIV_Font_Tiny = -(3);
MUIV_Font_Fixed = -(4);
MUIV_Font_Title = -(5);
MUIV_Font_Big = -(6);
MUIV_Font_Button = -(7);
MUIV_Frame_None = 0;
MUIV_Frame_Button = 1;
MUIV_Frame_ImageButton = 2;
MUIV_Frame_Text = 3;
MUIV_Frame_String = 4;
MUIV_Frame_ReadList = 5;
MUIV_Frame_InputList = 6;
MUIV_Frame_Prop = 7;
MUIV_Frame_Gauge = 8;
MUIV_Frame_Group = 9;
MUIV_Frame_PopUp = 10;
MUIV_Frame_Virtual = 11;
MUIV_Frame_Slider = 12;
MUIV_Frame_Count = 13;
MUIV_InputMode_None = 0;
MUIV_InputMode_RelVerify = 1;
MUIV_InputMode_Immediate = 2;
MUIV_InputMode_Toggle = 3;
{ }
{ Rectangle }
{ }
const
MUIC_Rectangle : PChar = 'Rectangle.mui';
{ Attributes }
{ V11 i.g PChar }
const
MUIA_Rectangle_BarTitle = $80426689;
{ V7 i.g BOOL }
MUIA_Rectangle_HBar = $8042c943;
{ V7 i.g BOOL }
MUIA_Rectangle_VBar = $80422204;
{ }
{ Balance }
{ }
const
MUIC_Balance : PChar = 'Balance.mui';
{ }
{ Image }
{ }
const
MUIC_Image : PChar = 'Image.mui';
{ Attributes }
{ V4 i.. BOOL }
const
MUIA_Image_FontMatch = $8042815d;
{ V4 i.. BOOL }
MUIA_Image_FontMatchHeight = $80429f26;
{ V4 i.. BOOL }
MUIA_Image_FontMatchWidth = $804239bf;
{ V4 i.. BOOL }
MUIA_Image_FreeHoriz = $8042da84;
{ V4 i.. BOOL }
MUIA_Image_FreeVert = $8042ea28;
{ V4 i.. struct Image }
MUIA_Image_OldImage = $80424f3d;
{ V4 i.. char }
MUIA_Image_Spec = $804233d5;
{ V4 is. LongInt }
MUIA_Image_State = $8042a3ad;
{ }
{ Bitmap }
{ }
const
MUIC_Bitmap : PChar = 'Bitmap.mui';
{ Attributes }
{ V8 isg struct BitMap }
const
MUIA_Bitmap_Bitmap = $804279bd;
{ V8 isg LongInt }
MUIA_Bitmap_Height = $80421560;
{ V8 isg UBYTE }
MUIA_Bitmap_MappingTable = $8042e23d;
{ V11 isg LongInt }
MUIA_Bitmap_Precision = $80420c74;
{ V11 ..g struct BitMap }
MUIA_Bitmap_RemappedBitmap = $80423a47;
{ V8 isg LongWord }
MUIA_Bitmap_SourceColors = $80425360;
{ V8 isg LongInt }
MUIA_Bitmap_Transparent = $80422805;
{ V11 i.. BOOL }
MUIA_Bitmap_UseFriend = $804239d8;
{ V8 isg LongInt }
MUIA_Bitmap_Width = $8042eb3a;
{ }
{ Bodychunk }
{ }
const
MUIC_Bodychunk : PChar = 'Bodychunk.mui';
{ Attributes }
{ V8 isg UBYTE }
const
MUIA_Bodychunk_Body = $8042ca67;
{ V8 isg UBYTE }
MUIA_Bodychunk_Compression = $8042de5f;
{ V8 isg LongInt }
MUIA_Bodychunk_Depth = $8042c392;
{ V8 isg UBYTE }
MUIA_Bodychunk_Masking = $80423b0e;
{ }
{ Text }
{ }
const
MUIC_Text : PChar = 'Text.mui';
{ Attributes }
{ V4 isg PChar }
const
MUIA_Text_Contents = $8042f8dc;
{ V4 i.. char }
MUIA_Text_HiChar = $804218ff;
{ V4 isg PChar }
MUIA_Text_PreParse = $8042566d;
{ V4 i.. BOOL }
MUIA_Text_SetMax = $80424d0a;
{ V4 i.. BOOL }
MUIA_Text_SetMin = $80424e10;
{ V11 i.. BOOL }
MUIA_Text_SetVMax = $80420d8b;
{ }
{ Gadget }
{ }
const
MUIC_Gadget : PChar = 'Gadget.mui';
{ Attributes }
{ V11 ..g struct Gadget }
const
MUIA_Gadget_Gadget = $8042ec1a;
{ }
{ String }
{ }
const
MUIC_String : PChar = 'String.mui';
{ Methods }
{ Attributes }
{ V4 isg PChar }
const
MUIA_String_Accept = $8042e3e1;
{ V4 ..g PChar }
MUIA_String_Acknowledge = $8042026c;
{ V11 isg BOOL }
MUIA_String_AdvanceOnCR = $804226de;
{ V4 isg Object }
MUIA_String_AttachedList = $80420fd2;
{ V4 .sg LongInt }
MUIA_String_BufferPos = $80428b6c;
{ V4 isg PChar }
MUIA_String_Contents = $80428ffd;
{ V4 .sg LongInt }
MUIA_String_DisplayPos = $8042ccbf;
{ V7 isg struct Hook }
MUIA_String_EditHook = $80424c33;
{ V4 i.g LongInt }
MUIA_String_Format = $80427484;
{ V4 isg LongWord }
MUIA_String_Integer = $80426e8a;
{ V11 isg BOOL }
MUIA_String_LonelyEditHook = $80421569;
{ V4 i.g LongInt }
MUIA_String_MaxLen = $80424984;
{ V4 isg PChar }
MUIA_String_Reject = $8042179c;
{ V4 i.g BOOL }
MUIA_String_Secret = $80428769;
MUIV_String_Format_Left = 0;
MUIV_String_Format_Center = 1;
MUIV_String_Format_Right = 2;
{ }
{ Boopsi }
{ }
const
MUIC_Boopsi : PChar = 'Boopsi.mui';
{ Attributes }
{ V4 isg struct IClass }
const
MUIA_Boopsi_Class = $80426999;
{ V4 isg char }
MUIA_Boopsi_ClassID = $8042bfa3;
{ V4 isg LongWord }
MUIA_Boopsi_MaxHeight = $8042757f;
{ V4 isg LongWord }
MUIA_Boopsi_MaxWidth = $8042bcb1;
{ V4 isg LongWord }
MUIA_Boopsi_MinHeight = $80422c93;
{ V4 isg LongWord }
MUIA_Boopsi_MinWidth = $80428fb2;
{ V4 ..g Object }
MUIA_Boopsi_Object = $80420178;
{ V4 i.. LongWord }
MUIA_Boopsi_Remember = $8042f4bd;
{ V9 i.. BOOL }
MUIA_Boopsi_Smart = $8042b8d7;
{ V4 isg LongWord }
MUIA_Boopsi_TagDrawInfo = $8042bae7;
{ V4 isg LongWord }
MUIA_Boopsi_TagScreen = $8042bc71;
{ V4 isg LongWord }
MUIA_Boopsi_TagWindow = $8042e11d;
{ }
{ Prop }
{ }
const
MUIC_Prop : PChar = 'Prop.mui';
{ Methods }
{ V16 }
const
MUIM_Prop_Decrease = $80420dd1;
{ V16 }
MUIM_Prop_Increase = $8042cac0;
type
tMUIP_Prop_Decrease = record
MethodID : LongWord;
amount : LongInt;
end;
pMUIP_Prop_Decrease = ^tMUIP_Prop_Decrease;
tMUIP_Prop_Increase = record
MethodID : LongWord;
amount : LongInt;
end;
pMUIP_Prop_Increase = ^tMUIP_Prop_Increase;
{ Attributes }
{ V4 isg LongInt }
const
MUIA_Prop_Entries = $8042fbdb;
{ V4 isg LongInt }
MUIA_Prop_First = $8042d4b2;
{ V4 i.g BOOL }
MUIA_Prop_Horiz = $8042f4f3;
{ V4 isg BOOL }
MUIA_Prop_Slider = $80429c3a;
{ V13 i.. LongInt }
MUIA_Prop_UseWinBorder = $8042deee;
{ V4 isg LongInt }
MUIA_Prop_Visible = $8042fea6;
MUIV_Prop_UseWinBorder_None = 0;
MUIV_Prop_UseWinBorder_Left = 1;
MUIV_Prop_UseWinBorder_Right = 2;
MUIV_Prop_UseWinBorder_Bottom = 3;
{ }
{ Gauge }
{ }
const
MUIC_Gauge : PChar = 'Gauge.mui';
{ Attributes }
{ V4 isg LongInt }
const
MUIA_Gauge_Current = $8042f0dd;
{ V4 isg BOOL }
MUIA_Gauge_Divide = $8042d8df;
{ V4 i.. BOOL }
MUIA_Gauge_Horiz = $804232dd;
{ V7 isg PChar }
MUIA_Gauge_InfoText = $8042bf15;
{ V4 isg LongInt }
MUIA_Gauge_Max = $8042bcdb;
{ }
{ Scale }
{ }
const
MUIC_Scale : PChar = 'Scale.mui';
{ Attributes }
{ V4 isg BOOL }
const
MUIA_Scale_Horiz = $8042919a;
{ }
{ Colorfield }
{ }
const
MUIC_Colorfield : PChar = 'Colorfield.mui';
{ Attributes }
{ V4 isg LongWord }
const
MUIA_Colorfield_Blue = $8042d3b0;
{ V4 isg LongWord }
MUIA_Colorfield_Green = $80424466;
{ V4 ..g LongWord }
MUIA_Colorfield_Pen = $8042713a;
{ V4 isg LongWord }
MUIA_Colorfield_Red = $804279f6;
{ V4 isg LongWord }
MUIA_Colorfield_RGB = $8042677a;
{ }
{ List }
{ }
const
MUIC_List : PChar = 'List.mui';
{ Methods }
{ V4 }
const
MUIM_List_Clear = $8042ad89;
{ V11 }
MUIM_List_CreateImage = $80429804;
{ V11 }
MUIM_List_DeleteImage = $80420f58;
{ V4 }
MUIM_List_Exchange = $8042468c;
{ V4 }
MUIM_List_GetEntry = $804280ec;
{ V4 }
MUIM_List_Insert = $80426c87;
{ V7 }
MUIM_List_InsertSingle = $804254d5;
{ V4 }
MUIM_List_Jump = $8042baab;
{ V9 }
MUIM_List_Move = $804253c2;
{ V6 }
MUIM_List_NextSelected = $80425f17;
{ V4 }
MUIM_List_Redraw = $80427993;
{ V4 }
MUIM_List_Remove = $8042647e;
{ V4 }
MUIM_List_Select = $804252d8;
{ V4 }
MUIM_List_Sort = $80422275;
{ V11 }
MUIM_List_TestPos = $80425f48;
type
tMUIP_List_Clear = record
MethodID : LongWord;
end;
pMUIP_List_Clear = ^tMUIP_List_Clear;
tMUIP_List_CreateImage = record
MethodID : LongWord;
obj : pObject_;
flags : LongWord;
end;
pMUIP_List_CreateImage = ^tMUIP_List_CreateImage;
tMUIP_List_DeleteImage = record
MethodID : LongWord;
listimg : Pointer;
end;
pMUIP_List_DeleteImage = ^tMUIP_List_DeleteImage;
tMUIP_List_Exchange = record
MethodID : LongWord;
pos1 : LongInt;
pos2 : LongInt;
end;
pMUIP_List_Exchange = ^tMUIP_List_Exchange;
tMUIP_List_GetEntry = record
MethodID : LongWord;
pos : LongInt;
entry : PPointer;
end;
pMUIP_List_GetEntry = ^tMUIP_List_GetEntry;
tMUIP_List_Insert = record
MethodID : LongWord;
entries : PPointer;
count : LongInt;
pos : LongInt;
end;
pMUIP_List_Insert = ^tMUIP_List_Insert;
tMUIP_List_InsertSingle = record
MethodID : LongWord;
entry : Pointer;
pos : LongInt;
end;
pMUIP_List_InsertSingle = ^tMUIP_List_InsertSingle;
tMUIP_List_Jump = record
MethodID : LongWord;
pos : LongInt;
end;
pMUIP_List_Jump = ^tMUIP_List_Jump;
tMUIP_List_Move = record
MethodID : LongWord;
from : LongInt;
too : LongInt;
end;
pMUIP_List_Move = ^tMUIP_List_Move;
tMUIP_List_NextSelected = record
MethodID : LongWord;
pos : PLongInt;
end;
pMUIP_List_NextSelected = ^tMUIP_List_NextSelected;
tMUIP_List_Redraw = record
MethodID : LongWord;
pos : LongInt;
end;
pMUIP_List_Redraw = ^tMUIP_List_Redraw;
tMUIP_List_Remove = record
MethodID : LongWord;
pos : LongInt;
end;
pMUIP_List_Remove = ^tMUIP_List_Remove;
tMUIP_List_Select = record
MethodID : LongWord;
pos : LongInt;
seltype : LongInt;
state : PLongInt;
end;
pMUIP_List_Select = ^tMUIP_List_Select;
tMUIP_List_Sort = record
MethodID : LongWord;
end;
pMUIP_List_Sort = ^tMUIP_List_Sort;
tMUIP_List_TestPos = record
MethodID : LongWord;
x : LongInt;
y : LongInt;
res : PMUI_List_TestPos_Result;
end;
pMUIP_List_TestPos = ^tMUIP_List_TestPos;
{ Attributes }
{ V4 isg LongInt }
const
MUIA_List_Active = $8042391c;
{ V4 i.. BOOL }
MUIA_List_AdjustHeight = $8042850d;
{ V4 i.. BOOL }
MUIA_List_AdjustWidth = $8042354a;
{ V11 isg BOOL }
MUIA_List_AutoVisible = $8042a445;
{ V4 is. struct Hook }
MUIA_List_CompareHook = $80425c14;
{ V4 is. struct Hook }
MUIA_List_ConstructHook = $8042894f;
{ V4 is. struct Hook }
MUIA_List_DestructHook = $804297ce;
{ V4 is. struct Hook }
MUIA_List_DisplayHook = $8042b4d5;
{ V11 isg BOOL }
MUIA_List_DragSortable = $80426099;
{ V11 ..g LongInt }
MUIA_List_DropMark = $8042aba6;
{ V4 ..g LongInt }
MUIA_List_Entries = $80421654;
{ V4 ..g LongInt }
MUIA_List_First = $804238d4;
{ V4 isg PChar }
MUIA_List_Format = $80423c0a;
{ V9 ..g LongInt }
MUIA_List_InsertPosition = $8042d0cd;
{ V4 i.. LongInt }
MUIA_List_MinLineHeight = $8042d1c3;
{ V4 is. struct Hook }
MUIA_List_MultiTestHook = $8042c2c6;
{ V13 i.. Pointer }
MUIA_List_Pool = $80423431;
{ V13 i.. LongWord }
MUIA_List_PoolPuddleSize = $8042a4eb;
{ V13 i.. LongWord }
MUIA_List_PoolThreshSize = $8042c48c;
{ V4 .s. BOOL }
MUIA_List_Quiet = $8042d8c7;
{ V11 isg BOOL }
MUIA_List_ShowDropMarks = $8042c6f3;
{ V4 i.. Pointer }
MUIA_List_SourceArray = $8042c0a0;
{ V6 isg char }
MUIA_List_Title = $80423e66;
{ V4 ..g LongInt }
MUIA_List_Visible = $8042191f;
MUIV_List_Active_Off = -(1);
MUIV_List_Active_Top = -(2);
MUIV_List_Active_Bottom = -(3);
MUIV_List_Active_Up = -(4);
MUIV_List_Active_Down = -(5);
MUIV_List_Active_PageUp = -(6);
MUIV_List_Active_PageDown = -(7);
MUIV_List_ConstructHook_String = -(1);
MUIV_List_CopyHook_String = -(1);
MUIV_List_CursorType_None = 0;
MUIV_List_CursorType_Bar = 1;
MUIV_List_CursorType_Rect = 2;
MUIV_List_DestructHook_String = -(1);
{ }
{ Floattext }
{ }
const
MUIC_Floattext : PChar = 'Floattext.mui';
{ Attributes }
{ V4 isg BOOL }
const
MUIA_Floattext_Justify = $8042dc03;
{ V4 is. PChar }
MUIA_Floattext_SkipChars = $80425c7d;
{ V4 is. LongInt }
MUIA_Floattext_TabSize = $80427d17;
{ V4 isg PChar }
MUIA_Floattext_Text = $8042d16a;
{ }
{ Volumelist }
{ }
const
MUIC_Volumelist : PChar = 'Volumelist.mui';
{ }
{ Scrmodelist }
{ }
const
MUIC_Scrmodelist : PChar = 'Scrmodelist.mui';
{ Attributes }
{ }
{ Dirlist }
{ }
const
MUIC_Dirlist : PChar = 'Dirlist.mui';
{ Methods }
{ V4 }
const
MUIM_Dirlist_ReRead = $80422d71;
type
MUIP_Dirlist_ReRead = record
MethodID : LongWord;
end;
{ Attributes }
{ V4 is. PChar }
const
MUIA_Dirlist_AcceptPattern = $8042760a;
{ V4 isg PChar }
MUIA_Dirlist_Directory = $8042ea41;
{ V4 is. BOOL }
MUIA_Dirlist_DrawersOnly = $8042b379;
{ V4 is. BOOL }
MUIA_Dirlist_FilesOnly = $8042896a;
{ V4 is. BOOL }
MUIA_Dirlist_FilterDrawers = $80424ad2;
{ V4 is. struct Hook }
MUIA_Dirlist_FilterHook = $8042ae19;
{ V6 is. BOOL }
MUIA_Dirlist_MultiSelDirs = $80428653;
{ V4 ..g LongInt }
MUIA_Dirlist_NumBytes = $80429e26;
{ V4 ..g LongInt }
MUIA_Dirlist_NumDrawers = $80429cb8;
{ V4 ..g LongInt }
MUIA_Dirlist_NumFiles = $8042a6f0;
{ V4 ..g PChar }
MUIA_Dirlist_Path = $80426176;
{ V4 is. BOOL }
MUIA_Dirlist_RejectIcons = $80424808;
{ V4 is. PChar }
MUIA_Dirlist_RejectPattern = $804259c7;
{ V4 is. LongInt }
MUIA_Dirlist_SortDirs = $8042bbb9;
{ V4 is. BOOL }
MUIA_Dirlist_SortHighLow = $80421896;
{ V4 is. LongInt }
MUIA_Dirlist_SortType = $804228bc;
{ V4 ..g LongInt }
MUIA_Dirlist_Status = $804240de;
MUIV_Dirlist_SortDirs_First = 0;
MUIV_Dirlist_SortDirs_Last = 1;
MUIV_Dirlist_SortDirs_Mix = 2;
MUIV_Dirlist_SortType_Name = 0;
MUIV_Dirlist_SortType_Date = 1;
MUIV_Dirlist_SortType_Size = 2;
MUIV_Dirlist_Status_Invalid = 0;
MUIV_Dirlist_Status_Reading = 1;
MUIV_Dirlist_Status_Valid = 2;
{ }
{ Numeric }
{ }
const
MUIC_Numeric : PChar = 'Numeric.mui';
{ Methods }
{ V11 }
const
MUIM_Numeric_Decrease = $804243a7;
{ V11 }
MUIM_Numeric_Increase = $80426ecd;
{ V11 }
MUIM_Numeric_ScaleToValue = $8042032c;
{ V11 }
MUIM_Numeric_SetDefault = $8042ab0a;
{ V11 }
MUIM_Numeric_Stringify = $80424891;
{ V11 }
MUIM_Numeric_ValueToScale = $80423e4f;
type
tMUIP_Numeric_Decrease = record
MethodID : LongWord;
amount : LongInt;
end;
pMUIP_Numeric_Decrease = ^tMUIP_Numeric_Decrease;
tMUIP_Numeric_Increase = record
MethodID : LongWord;
amount : LongInt;
end;
pMUIP_Numeric_Increase = ^tMUIP_Numeric_Increase;
tMUIP_Numeric_ScaleToValue = record
MethodID : LongWord;
scalemin : LongInt;
scalemax : LongInt;
scale : LongInt;
end;
pMUIP_Numeric_ScaleToValue = ^tMUIP_Numeric_ScaleToValue;
tMUIP_Numeric_SetDefault = record
MethodID : LongWord;
end;
pMUIP_Numeric_SetDefault = ^tMUIP_Numeric_SetDefault;
tMUIP_Numeric_Stringify = record
MethodID : LongWord;
value : LongInt;
end;
pMUIP_Numeric_Stringify = ^tMUIP_Numeric_Stringify;
tMUIP_Numeric_ValueToScale = record
MethodID : LongWord;
scalemin : LongInt;
scalemax : LongInt;
end;
pMUIP_Numeric_ValueToScale = ^tMUIP_Numeric_ValueToScale;
{ Attributes }
{ V11 isg BOOL }
const
MUIA_Numeric_CheckAllSizes = $80421594;
{ V11 isg LongInt }
MUIA_Numeric_Default = $804263e8;
{ V11 isg PChar }
MUIA_Numeric_Format = $804263e9;
{ V11 isg LongInt }
MUIA_Numeric_Max = $8042d78a;
{ V11 isg LongInt }
MUIA_Numeric_Min = $8042e404;
{ V11 isg BOOL }
MUIA_Numeric_Reverse = $8042f2a0;
{ V11 isg BOOL }
MUIA_Numeric_RevLeftRight = $804294a7;
{ V11 isg BOOL }
MUIA_Numeric_RevUpDown = $804252dd;
{ V11 isg LongInt }
MUIA_Numeric_Value = $8042ae3a;
{ }
{ Knob }
{ }
const
MUIC_Knob : PChar = 'Knob.mui';
{ }
{ Levelmeter }
{ }
const
MUIC_Levelmeter : PChar = 'Levelmeter.mui';
{ Attributes }
{ V11 isg PChar }
const
MUIA_Levelmeter_Label = $80420dd5;
{ }
{ Numericbutton }
{ }
const
MUIC_Numericbutton : PChar = 'Numericbutton.mui';
{ }
{ Slider }
{ }
const
MUIC_Slider : PChar = 'Slider.mui';
{ Attributes }
{ V11 isg BOOL }
const
MUIA_Slider_Horiz = $8042fad1;
{ V6 i.. BOOL }
const
MUIA_Slider_Quiet = $80420b26;
{ }
{ Framedisplay }
{ }
const
MUIC_Framedisplay : PChar = 'Framedisplay.mui';
{ Attributes }
{ }
{ Popframe }
{ }
const
MUIC_Popframe : PChar = 'Popframe.mui';
{ }
{ Imagedisplay }
{ }
const
MUIC_Imagedisplay : PChar = 'Imagedisplay.mui';
{ Attributes }
{ }
{ Popimage }
{ }
const
MUIC_Popimage : PChar = 'Popimage.mui';
{ }
{ Pendisplay }
{ }
const
MUIC_Pendisplay : PChar = 'Pendisplay.mui';
{ Methods }
{ V13 }
const
MUIM_Pendisplay_SetColormap = $80426c80;
{ V13 }
MUIM_Pendisplay_SetMUIPen = $8042039d;
{ V13 }
MUIM_Pendisplay_SetRGB = $8042c131;
type
MUIP_Pendisplay_SetColormap = record
MethodID : LongWord;
colormap : LongInt;
end;
MUIP_Pendisplay_SetMUIPen = record
MethodID : LongWord;
muipen : LongInt;
end;
MUIP_Pendisplay_SetRGB = record
MethodID : LongWord;
red : LongWord;
green : LongWord;
blue : LongWord;
end;
{ Attributes }
{ V13 ..g Object }
const
MUIA_Pendisplay_Pen = $8042a748;
{ V13 isg Object }
MUIA_Pendisplay_Reference = $8042dc24;
{ V11 isg struct MUI_RGBcolor }
MUIA_Pendisplay_RGBcolor = $8042a1a9;
{ V11 isg struct MUI_PenSpec }
MUIA_Pendisplay_Spec = $8042a204;
{ }
{ Poppen }
{ }
const
MUIC_Poppen : PChar = 'Poppen.mui';
{ }
{ Group }
{ }
const
MUIC_Group : PChar = 'Group.mui';
{ Methods }
{ V11 }
const
MUIM_Group_ExitChange = $8042d1cc;
{ V11 }
MUIM_Group_InitChange = $80420887;
{ V4 }
MUIM_Group_Sort = $80427417;
type
tMUIP_Group_ExitChange = record
MethodID : LongWord;
end;
pMUIP_Group_ExitChange = ^tMUIP_Group_ExitChange;
tMUIP_Group_InitChange = record
MethodID : LongWord;
end;
pMUIP_Group_InitChange = ^tMUIP_Group_InitChange;
tMUIP_Group_Sort = record
MethodID : LongWord;
obj : array[0..0] of pObject_;
end;
pMUIP_Group_Sort = ^tMUIP_Group_Sort;
{ Attributes }
{ V5 isg LongInt }
const
MUIA_Group_ActivePage = $80424199;
{ V4 i.. Object }
MUIA_Group_Child = $804226e6;
{ V4 ..g struct List }
MUIA_Group_ChildList = $80424748;
{ V4 is. LongInt }
MUIA_Group_Columns = $8042f416;
{ V4 i.. BOOL }
MUIA_Group_Horiz = $8042536b;
{ V4 isg LongInt }
MUIA_Group_HorizSpacing = $8042c651;
{ V11 i.. struct Hook }
MUIA_Group_LayoutHook = $8042c3b2;
{ V5 i.. BOOL }
MUIA_Group_PageMode = $80421a5f;
{ V4 is. LongInt }
MUIA_Group_Rows = $8042b68f;
{ V4 i.. BOOL }
MUIA_Group_SameHeight = $8042037e;
{ V4 i.. BOOL }
MUIA_Group_SameSize = $80420860;
{ V4 i.. BOOL }
MUIA_Group_SameWidth = $8042b3ec;
{ V4 is. LongInt }
MUIA_Group_Spacing = $8042866d;
{ V4 isg LongInt }
MUIA_Group_VertSpacing = $8042e1bf;
MUIV_Group_ActivePage_First = 0;
MUIV_Group_ActivePage_Last = -(1);
MUIV_Group_ActivePage_Prev = -(2);
MUIV_Group_ActivePage_Next = -(3);
MUIV_Group_ActivePage_Advance = -(4);
{ }
{ Mccprefs }
{ }
const
MUIC_Mccprefs : PChar = 'Mccprefs.mui';
{ }
{ Register }
{ }
const
MUIC_Register : PChar = 'Register.mui';
{ Attributes }
{ V7 i.g BOOL }
const
MUIA_Register_Frame = $8042349b;
{ V7 i.g PChar }
MUIA_Register_Titles = $804297ec;
{ }
{ Penadjust }
{ }
const
MUIC_Penadjust : PChar= 'Penadjust.mui';
{ Methods }
{ Attributes }
{ V11 i.. BOOL }
const
MUIA_Penadjust_PSIMode = $80421cbb;
{ }
{ Settingsgroup }
{ }
const
MUIC_Settingsgroup : PChar = 'Settingsgroup.mui';
{ Methods }
{ V11 }
const
MUIM_Settingsgroup_ConfigToGadgets = $80427043;
{ V11 }
MUIM_Settingsgroup_GadgetsToConfig = $80425242;
type
tMUIP_Settingsgroup_ConfigToGadgets = record
MethodID : LongWord;
configdata : pObject_;
end;
pMUIP_Settingsgroup_ConfigToGadgets = ^tMUIP_Settingsgroup_ConfigToGadgets;
tMUIP_Settingsgroup_GadgetsToConfig = record
MethodID : LongWord;
configdata : pObject_;
end;
pMUIP_Settingsgroup_GadgetsToConfig = ^tMUIP_Settingsgroup_GadgetsToConfig;
{ Attributes }
{ }
{ Settings }
{ }
const
MUIC_Settings : PChar = 'Settings.mui';
{ Methods }
{ Attributes }
{ }
{ Frameadjust }
{ }
const
MUIC_Frameadjust : PChar = 'Frameadjust.mui';
{ Methods }
{ Attributes }
{ }
{ Imageadjust }
{ }
const
MUIC_Imageadjust : PChar = 'Imageadjust.mui';
{ Methods }
{ Attributes }
const
MUIV_Imageadjust_Type_All = 0;
MUIV_Imageadjust_Type_Image = 1;
MUIV_Imageadjust_Type_Background = 2;
MUIV_Imageadjust_Type_Pen = 3;
{ }
{ Virtgroup }
{ }
const
MUIC_Virtgroup : PChar = 'Virtgroup.mui';
{ Methods }
{ Attributes }
{ V6 ..g LongInt }
const
MUIA_Virtgroup_Height = $80423038;
{ V11 i.. BOOL }
MUIA_Virtgroup_Input = $80427f7e;
{ V6 isg LongInt }
MUIA_Virtgroup_Left = $80429371;
{ V6 isg LongInt }
MUIA_Virtgroup_Top = $80425200;
{ V6 ..g LongInt }
MUIA_Virtgroup_Width = $80427c49;
{ }
{ Scrollgroup }
{ }
const
MUIC_Scrollgroup : PChar = 'Scrollgroup.mui';
{ Methods }
{ Attributes }
{ V4 i.g Object }
const
MUIA_Scrollgroup_Contents = $80421261;
{ V9 i.. BOOL }
MUIA_Scrollgroup_FreeHoriz = $804292f3;
{ V9 i.. BOOL }
MUIA_Scrollgroup_FreeVert = $804224f2;
{ V16 ..g Object }
MUIA_Scrollgroup_HorizBar = $8042b63d;
{ V13 i.. BOOL }
MUIA_Scrollgroup_UseWinBorder = $804284c1;
{ V16 ..g Object }
MUIA_Scrollgroup_VertBar = $8042cdc0;
{ }
{ Scrollbar }
{ }
const
MUIC_Scrollbar : PChar = 'Scrollbar.mui';
{ Attributes }
{ V11 i.. LongInt }
const
MUIA_Scrollbar_Type = $8042fb6b;
MUIV_Scrollbar_Type_Default = 0;
MUIV_Scrollbar_Type_Bottom = 1;
MUIV_Scrollbar_Type_Top = 2;
MUIV_Scrollbar_Type_Sym = 3;
{ }
{ Listview }
{ }
const
MUIC_Listview : PChar = 'Listview.mui';
{ Attributes }
{ V7 ..g LongInt }
const
MUIA_Listview_ClickColumn = $8042d1b3;
{ V7 isg LongInt }
MUIA_Listview_DefClickColumn = $8042b296;
{ V4 i.g BOOL }
MUIA_Listview_DoubleClick = $80424635;
{ V11 isg LongInt }
MUIA_Listview_DragType = $80425cd3;
{ V4 i.. BOOL }
MUIA_Listview_Input = $8042682d;
{ V4 i.g Object }
MUIA_Listview_List = $8042bcce;
{ V7 i.. LongInt }
MUIA_Listview_MultiSelect = $80427e08;
{ V10 i.. BOOL }
MUIA_Listview_ScrollerPos = $8042b1b4;
{ V4 ..g BOOL }
MUIA_Listview_SelectChange = $8042178f;
MUIV_Listview_DragType_None = 0;
MUIV_Listview_DragType_Immediate = 1;
MUIV_Listview_MultiSelect_None = 0;
MUIV_Listview_MultiSelect_Default = 1;
MUIV_Listview_MultiSelect_Shifted = 2;
MUIV_Listview_MultiSelect_Always = 3;
MUIV_Listview_ScrollerPos_Default = 0;
MUIV_Listview_ScrollerPos_Left = 1;
MUIV_Listview_ScrollerPos_Right = 2;
MUIV_Listview_ScrollerPos_None = 3;
{ }
{ Radio }
{ }
const
MUIC_Radio : PChar = 'Radio.mui';
{ Attributes }
{ V4 isg LongInt }
const
MUIA_Radio_Active = $80429b41;
{ V4 i.. PChar }
MUIA_Radio_Entries = $8042b6a1;
{ }
{ Cycle }
{ }
const
MUIC_Cycle : PChar = 'Cycle.mui';
{ Attributes }
{ V4 isg LongInt }
const
MUIA_Cycle_Active = $80421788;
{ V4 i.. PChar }
MUIA_Cycle_Entries = $80420629;
MUIV_Cycle_Active_Next = -(1);
MUIV_Cycle_Active_Prev = -(2);
{ }
{ Coloradjust }
{ }
const
MUIC_Coloradjust : PChar = 'Coloradjust.mui';
{ Methods }
{ Attributes }
{ V4 isg LongWord }
const
MUIA_Coloradjust_Blue = $8042b8a3;
{ V4 isg LongWord }
MUIA_Coloradjust_Green = $804285ab;
{ V4 isg LongWord }
MUIA_Coloradjust_ModeID = $8042ec59;
{ V4 isg LongWord }
MUIA_Coloradjust_Red = $80420eaa;
{ V4 isg LongWord }
MUIA_Coloradjust_RGB = $8042f899;
{ }
{ Palette }
{ }
const
MUIC_Palette : PChar = 'Palette.mui';
{ Attributes }
{ V6 i.g struct MUI_Palette_Entry }
const
MUIA_Palette_Entries = $8042a3d8;
{ V6 isg BOOL }
MUIA_Palette_Groupable = $80423e67;
{ V6 isg char }
MUIA_Palette_Names = $8042c3a2;
{ }
{ Popstring }
{ }
const
MUIC_Popstring : PChar = 'Popstring.mui';
{ Methods }
{ V7 }
const
MUIM_Popstring_Close = $8042dc52;
{ V7 }
MUIM_Popstring_Open = $804258ba;
type
tMUIP_Popstring_Close = record
MethodID : LongWord;
result : LongInt;
end;
pMUIP_Popstring_Close = ^tMUIP_Popstring_Close;
tMUIP_Popstring_Open = record
MethodID : LongWord;
end;
pMUIP_Popstring_Open = ^tMUIP_Popstring_Open;
{ Attributes }
{ V7 i.g Object }
const
MUIA_Popstring_Button = $8042d0b9;
{ V7 isg struct Hook }
MUIA_Popstring_CloseHook = $804256bf;
{ V7 isg struct Hook }
MUIA_Popstring_OpenHook = $80429d00;
{ V7 i.g Object }
MUIA_Popstring_String = $804239ea;
{ V7 isg BOOL }
MUIA_Popstring_Toggle = $80422b7a;
{ }
{ Popobject }
{ }
const
MUIC_Popobject : PChar = 'Popobject.mui';
{ Attributes }
{ V7 isg BOOL }
const
MUIA_Popobject_Follow = $80424cb5;
{ V7 isg BOOL }
MUIA_Popobject_Light = $8042a5a3;
{ V7 i.g Object }
MUIA_Popobject_Object = $804293e3;
{ V7 isg struct Hook }
MUIA_Popobject_ObjStrHook = $8042db44;
{ V7 isg struct Hook }
MUIA_Popobject_StrObjHook = $8042fbe1;
{ V7 isg BOOL }
MUIA_Popobject_Volatile = $804252ec;
{ V9 isg struct Hook }
MUIA_Popobject_WindowHook = $8042f194;
{ }
{ Poplist }
{ }
const
MUIC_Poplist : PChar = 'Poplist.mui';
{ Attributes }
{ V8 i.. char }
const
MUIA_Poplist_Array = $8042084c;
{ }
{ Popscreen }
{ }
const
MUIC_Popscreen : PChar = 'Popscreen.mui';
{ Attributes }
{ }
{ Popasl }
{ }
const
MUIC_Popasl : PChar = 'Popasl.mui';
{ Attributes }
{ V7 ..g BOOL }
const
MUIA_Popasl_Active = $80421b37;
{ V7 isg struct Hook }
MUIA_Popasl_StartHook = $8042b703;
{ V7 isg struct Hook }
MUIA_Popasl_StopHook = $8042d8d2;
{ V7 i.g LongWord }
MUIA_Popasl_Type = $8042df3d;
{ }
{ Semaphore }
{ }
const
MUIC_Semaphore : PChar = 'Semaphore.mui';
{ Methods }
{ V11 }
const
MUIM_Semaphore_Attempt = $80426ce2;
{ V11 }
MUIM_Semaphore_AttemptShared = $80422551;
{ V11 }
MUIM_Semaphore_Obtain = $804276f0;
{ V11 }
MUIM_Semaphore_ObtainShared = $8042ea02;
{ V11 }
MUIM_Semaphore_Release = $80421f2d;
type
tMUIP_Semaphore_Attempt = record
MethodID : LongWord;
end;
pMUIP_Semaphore_Attempt = ^tMUIP_Semaphore_Attempt;
tMUIP_Semaphore_AttemptShared = record
MethodID : LongWord;
end;
pMUIP_Semaphore_AttemptShared = ^tMUIP_Semaphore_AttemptShared;
tMUIP_Semaphore_Obtain = record
MethodID : LongWord;
end;
pMUIP_Semaphore_Obtain = ^tMUIP_Semaphore_Obtain;
tMUIP_Semaphore_ObtainShared = record
MethodID : LongWord;
end;
pMUIP_Semaphore_ObtainShared = ^tMUIP_Semaphore_ObtainShared;
tMUIP_Semaphore_Release = record
MethodID : LongWord;
end;
pMUIP_Semaphore_Release = ^tMUIP_Semaphore_Release;
{ }
{ Applist }
{ }
const
MUIC_Applist : PChar = 'Applist.mui';
{ Methods }
{ }
{ Cclist }
{ }
const
MUIC_Cclist : PChar = 'Cclist.mui';
{ Methods }
{ }
{ Dataspace }
{ }
const
MUIC_Dataspace : PChar = 'Dataspace.mui';
{ Methods }
{ V11 }
const
MUIM_Dataspace_Add = $80423366;
{ V11 }
MUIM_Dataspace_Clear = $8042b6c9;
{ V11 }
MUIM_Dataspace_Find = $8042832c;
{ V11 }
MUIM_Dataspace_Merge = $80423e2b;
{ V11 }
MUIM_Dataspace_ReadIFF = $80420dfb;
{ V11 }
MUIM_Dataspace_Remove = $8042dce1;
{ V11 }
MUIM_Dataspace_WriteIFF = $80425e8e;
type
tMUIP_Dataspace_Add = record
MethodID : LongWord;
data : Pointer;
len : LongInt;
id : LongWord;
end;
pMUIP_Dataspace_Add = ^tMUIP_Dataspace_Add;
tMUIP_Dataspace_Clear = record
MethodID : LongWord;
end;
pMUIP_Dataspace_Clear = ^tMUIP_Dataspace_Clear;
tMUIP_Dataspace_Find = record
MethodID : LongWord;
id : LongWord;
end;
pMUIP_Dataspace_Find = ^tMUIP_Dataspace_Find;
tMUIP_Dataspace_Merge = record
MethodID : LongWord;
dataspace : pObject_;
end;
pMUIP_Dataspace_Merge = ^tMUIP_Dataspace_Merge;
tMUIP_Dataspace_ReadIFF = record
MethodID : LongWord;
handle : Pointer; // PIFFHandle; FIX ME!!
end;
pMUIP_Dataspace_ReadIFF = ^tMUIP_Dataspace_ReadIFF;
tMUIP_Dataspace_Remove = record
MethodID : LongWord;
id : LongWord;
end;
pMUIP_Dataspace_Remove = ^tMUIP_Dataspace_Remove;
tMUIP_Dataspace_WriteIFF = record
MethodID : LongWord;
handle : Pointer; // PIFFHandle; FIX ME!!!
type_ : LongWord;
id : LongWord;
end;
pMUIP_Dataspace_WriteIFF = ^tMUIP_Dataspace_WriteIFF;
{ Attributes }
{ V11 i.. Pointer }
const
MUIA_Dataspace_Pool = $80424cf9;
{ }
{ Configdata }
{ }
const
MUIC_Configdata : PChar = 'Configdata.mui';
{ Methods }
{ Attributes }
{ }
{ Dtpic }
{ }
const
MUIC_Dtpic : PChar = 'Dtpic.mui';
{ Attributes }
{ }
{ End of automatic header file creation }
{ }
{
Structures and Macros for creating custom classes.
}
{
GENERAL NOTES:
- Everything described in this header file is only valid within
MUI classes. You may never use any of these things out of
a class, e.g. in a traditional MUI application.
- Except when otherwise stated, all structures are strictly read only.
}
{ Global information for every object }
{ ... private data follows ... }
type
tMUI_GlobalInfo = record
priv0 : LongWord;
mgi_ApplicationObject : pObject_;
end;
pMUI_GlobalInfo = ^tMUI_GlobalInfo;
{ Instance data of notify class }
tMUI_NotifyData = record
mnd_GlobalInfo : PMUI_GlobalInfo;
mnd_UserData : LongWord;
mnd_ObjectID : LongWord;
priv1 : LongWord;
priv2 : LongWord;
priv3 : LongWord;
priv4 : LongWord;
end;
pMUI_NotifyData = ^tMUI_NotifyData;
{ use this if a dimension is not limited. }
const
MUI_MAXMAX = 10000;
{ Hook message for custom layout }
{ type of message (see defines below) }
{ list of this groups children, traverse with NextObject() }
{ results for MUILM_MINMAX }
{ size (and result) for MUILM_LAYOUT }
type
tMUI_LayoutMsg = record
lm_Type : LongWord;
lm_Children : PMinList;
lm_MinMax : tMUI_MinMax;
lm_Layout : record
Width : LongInt;
Height : LongInt;
priv5 : LongWord;
priv6 : LongWord;
end;
end;
pMUI_LayoutMsg = ^tMUI_LayoutMsg;
{ MUI wants you to calc your min & max sizes }
const
MUILM_MINMAX = 1;
{ MUI wants you to layout your children }
MUILM_LAYOUT = 2;
{ return this if your hook doesn't implement lm_Type }
MUILM_UNKNOWN = -(1);
{ (partial) instance data of area class }
{ RenderInfo for this object }
{ Font }
{ min/max/default sizes }
{ position and dimension }
{ frame & innerspacing left offset }
{ frame & innerspacing top offset }
{ frame & innerspacing add. width }
{ frame & innerspacing add. height }
{ see definitions below }
{ ... private data follows ... }
type
tMUI_AreaData = record
mad_RenderInfo : PMUI_RenderInfo;
priv7 : LongWord;
mad_Font : PTextFont;
mad_MinMax : tMUI_MinMax;
mad_Box : tIBox;
mad_addleft : BYTE;
mad_addtop : BYTE;
mad_subwidth : BYTE;
mad_subheight : BYTE;
mad_Flags : LongWord;
end;
pMUI_AreaData = ^tMUI_AreaData;
{ Definitions for mad_Flags, other flags are private }
{ completely redraw yourself }
const
MADF_DRAWOBJECT = 1 shl 0;
{ only update yourself }
MADF_DRAWUPDATE = 1 shl 1;
{ MUI's draw pens }
MPEN_SHINE = 0;
MPEN_HALFSHINE = 1;
MPEN_BACKGROUND = 2;
MPEN_HALFSHADOW = 3;
MPEN_SHADOW = 4;
MPEN_TEXT = 5;
MPEN_FILL = 6;
MPEN_MARK = 7;
MPEN_COUNT = 8;
{ Mask for pens from MUI_ObtainPen() }
MUIPEN_MASK = $0000ffff;
{ Information on display environment }
{ valid between MUIM_Setup/MUIM_Cleanup }
{ valid between MUIM_Setup/MUIM_Cleanup }
{ valid between MUIM_Setup/MUIM_Cleanup }
{ valid between MUIM_Setup/MUIM_Cleanup }
{ valid between MUIM_Show/MUIM_Hide }
{ valid between MUIM_Show/MUIM_Hide }
{ valid between MUIM_Setup/MUIM_Cleanup }
{ ... private data follows ... }
{
If mri_Flags & MUIMRI_RECTFILL, RectFill() is quicker
than Move()/Draw() for horizontal or vertical lines.
on the current display.
}
const
MUIMRI_RECTFILL = 1 shl 0;
{
If mri_Flags & MUIMRI_TRUECOLOR, display environment is a
cybergraphics emulated hicolor or true color display.
}
MUIMRI_TRUECOLOR = 1 shl 1;
{
If mri_Flags & MUIMRI_THINFRAMES, MUI uses thin frames
(1:1) apsect ratio instead of standard 2:1 frames.
}
MUIMRI_THINFRAMES = 1 shl 2;
{
If mri_Flags & MUIMRI_REFRESHMODE, MUI is currently
refreshing a WFLG_SIMPLEREFRESH window and is between
a BeginRefresh()/EndRefresh() pair.
}
MUIMRI_REFRESHMODE = 1 shl 3;
{ the following macros can be used to get pointers to an objects
GlobalInfo and RenderInfo structures. }
type
t__dummyXFC2__ = record
mnd : tMUI_NotifyData;
mad : tMUI_AreaData;
end;
p__dummyXFC2__ = ^t__dummyXFC2__;
const
MUIKEY_RELEASE = -2;
MUIKEY_NONE = -1;
MUIKEY_PRESS = 0;
MUIKEY_TOGGLE = 1;
MUIKEY_UP = 2;
MUIKEY_DOWN = 3;
MUIKEY_PAGEUP = 4;
MUIKEY_PAGEDOWN = 5;
MUIKEY_TOP = 6;
MUIKEY_BOTTOM = 7;
MUIKEY_LEFT = 8;
MUIKEY_RIGHT = 9;
MUIKEY_WORDLEFT = 10;
MUIKEY_WORDRIGHT = 11;
MUIKEY_LINESTART = 12;
MUIKEY_LINEEND = 13;
MUIKEY_GADGET_NEXT = 14;
MUIKEY_GADGET_PREV = 15;
MUIKEY_GADGET_OFF = 16;
MUIKEY_WINDOW_CLOSE = 17;
MUIKEY_WINDOW_NEXT = 18;
MUIKEY_WINDOW_PREV = 19;
MUIKEY_HELP = 20;
MUIKEY_POPUP = 21;
MUIKEY_COUNT = 22;
MUIKEYF_PRESS = 1 shl MUIKEY_PRESS;
MUIKEYF_TOGGLE = 1 shl MUIKEY_TOGGLE;
MUIKEYF_UP = 1 shl MUIKEY_UP;
MUIKEYF_DOWN = 1 shl MUIKEY_DOWN;
MUIKEYF_PAGEUP = 1 shl MUIKEY_PAGEUP;
MUIKEYF_PAGEDOWN = 1 shl MUIKEY_PAGEDOWN;
MUIKEYF_TOP = 1 shl MUIKEY_TOP;
MUIKEYF_BOTTOM = 1 shl MUIKEY_BOTTOM;
MUIKEYF_LEFT = 1 shl MUIKEY_LEFT;
MUIKEYF_RIGHT = 1 shl MUIKEY_RIGHT;
MUIKEYF_WORDLEFT = 1 shl MUIKEY_WORDLEFT;
MUIKEYF_WORDRIGHT = 1 shl MUIKEY_WORDRIGHT;
MUIKEYF_LINESTART = 1 shl MUIKEY_LINESTART;
MUIKEYF_LINEEND = 1 shl MUIKEY_LINEEND;
MUIKEYF_GADGET_NEXT = 1 shl MUIKEY_GADGET_NEXT;
MUIKEYF_GADGET_PREV = 1 shl MUIKEY_GADGET_PREV;
MUIKEYF_GADGET_OFF = 1 shl MUIKEY_GADGET_OFF;
MUIKEYF_WINDOW_CLOSE = 1 shl MUIKEY_WINDOW_CLOSE;
MUIKEYF_WINDOW_NEXT = 1 shl MUIKEY_WINDOW_NEXT;
MUIKEYF_WINDOW_PREV = 1 shl MUIKEY_WINDOW_PREV;
MUIKEYF_HELP = 1 shl MUIKEY_HELP;
MUIKEYF_POPUP = 1 shl MUIKEY_POPUP;
{ MUI_CustomClass returned by MUI_CreateCustomClass() }
{ use for whatever you want }
{ MUI has opened these libraries }
{ for you automatically. You can }
{ use them or decide to open }
{ your libraries yourself. }
{ pointer to super class }
{ pointer to the new class }
{ ... private data follows ... }
type
tMUI_CustomClass = record
mcc_UserData : Pointer;
mcc_UtilityBase : PLibrary;
mcc_DOSBase : PLibrary;
mcc_GfxBase : PLibrary;
mcc_IntuitionBase : PLibrary;
mcc_Super : PIClass;
mcc_Class : PIClass;
end;
pMUI_CustomClass = ^tMUI_CustomClass;
function MUI_NewObjectA(class_ : pChar location 'a0'; tags : pTagItem location 'a1') : pObject_;
syscall legacy MUIMasterBase 30;
procedure MUI_DisposeObject(obj : pObject_ location 'a0');
syscall legacy MUIMasterBase 36;
function MUI_RequestA(app : POINTER location 'd0';
win : POINTER location 'd1';
flags : LongWord location 'd2';
title : pChar location 'a0';
gadgets : pChar location 'a1';
format : pChar location 'a2';
params : POINTER location 'a3') : longint;
syscall legacy MUIMasterBase 42;
function MUI_AllocAslRequest(typ : LongWord location 'd0'; tags : pTagItem location 'a0') : POINTER;
syscall legacy MUIMasterBase 48;
function MUI_AslRequest(req : POINTER location 'a0'; tags : pTagItem location 'a1') : BOOLEAN;
syscall legacy MUIMasterBase 54;
procedure MUI_FreeAslRequest(req : POINTER location 'a0');
syscall legacy MUIMasterBase 60;
function MUI_Error : LONGINT;
syscall legacy MUIMasterBase 66;
function MUI_SetError(errnum : LONGINT location 'd0') : LONGINT;
syscall legacy MUIMasterBase 72;
function MUI_GetClass(name : pChar location 'a0') : pIClass;
syscall legacy MUIMasterBase 78;
procedure MUI_FreeClass(cl : pIClass location 'a0');
syscall legacy MUIMasterBase 84;
procedure MUI_RequestIDCMP(obj : pObject_ location 'a0'; flags : LongWord location 'd0');
syscall legacy MUIMasterBase 90;
procedure MUI_RejectIDCMP(obj : pObject_ location 'a0'; flags : LongWord location 'd0');
syscall legacy MUIMasterBase 96;
procedure MUI_Redraw(obj : pObject_ location 'a0'; flags : LongWord location 'd0');
syscall legacy MUIMasterBase 102;
function MUI_CreateCustomClass(base : pLibrary location 'a0';
supername : pChar location 'a1';
supermcc : pMUI_CustomClass location 'a2';
datasize : LONGINT location 'd0';
dispatcher : POINTER location 'a3') : pMUI_CustomClass;
syscall legacy MUIMasterBase 108;
function MUI_DeleteCustomClass(mcc : pMUI_CustomClass location 'a0') : BOOLEAN;
syscall legacy MUIMasterBase 114;
function MUI_MakeObjectA(typ: LONGINT location 'd0'; params : pLongWord location 'a0') : pLongWord;
syscall legacy MUIMasterBase 120;
function MUI_Layout(obj : pObject_ location 'a0';
l : LONGINT location 'd0';
t : LONGINT location 'd1';
w : LONGINT location 'd2';
h : LONGINT location 'd3';
flags : LongWord location 'd4') : BOOLEAN;
syscall legacy MUIMasterBase 126;
function MUI_ObtainPen(mri : pMUI_RenderInfo location 'a0';
spec : pMUI_PenSpec location 'a1';
flags : LongWord location 'd0') : LONGINT;
syscall legacy MUIMasterBase 156;
procedure MUI_ReleasePen(mri : pMUI_RenderInfo location 'a0';
pen : LONGINT location 'd0');
syscall legacy MUIMasterBase 162;
function MUI_AddClipping(mri : pMUI_RenderInfo location 'a0';
l : smallint location 'd0';
t : smallint location 'd1';
w : smallint location 'd2';
h : smallint location 'd3') : POINTER;
syscall legacy MUIMasterBase 168;
procedure MUI_RemoveClipping(mri : pMUI_RenderInfo location 'a0';
h : POINTER location 'a1');
syscall legacy MUIMasterBase 174;
function MUI_AddClipRegion(mri : pMUI_RenderInfo location 'a0'; region : pRegion location 'a1') : POINTER;
syscall legacy MUIMasterBase 180;
procedure MUI_RemoveClipRegion(mri : pMUI_RenderInfo location 'a0'; region : POINTER location 'a1');
syscall legacy MUIMasterBase 186;
function MUI_BeginRefresh(mri : pMUI_RenderInfo location 'a0'; flags : LongWord location 'd0') : BOOLEAN;
syscall legacy MUIMasterBase 192;
procedure MUI_EndRefresh(mri : pMUI_RenderInfo location 'a0'; flags : LongWord location 'd0');
syscall legacy MUIMasterBase 198;
(*
** some procedures to get some information about our object
*)
function MUINotifyData(obj : Pointer) : pMUI_NotifyData;
function MUIAreaData(obj : Pointer) : pMUI_AreaData;
function MUIGlobalInfo(obj : Pointer) : pMUI_GlobalInfo;
function MUIUserData(obj : Pointer) : Pointer ;
function MUIRenderInfo(obj : Pointer) : pMUI_RenderInfo;
function MUIPen(pen : longint): longint;
(*
** some more specialized functions to retain information about special
** object-data like rastport, window, etc.
**
** NOTE: These macros may only be used in custom classes and are
** only valid if your class is inbetween the specified methods!
*)
function OBJ_App(obj : Pointer) : pObject_; (* valid between MUIM_Setup/Cleanup *)
function OBJ_Win(obj : Pointer) : pObject_; (* valid between MUIM_Setup/Cleanup *)
function OBJ_Dri(obj : Pointer) : pDrawInfo; (* valid between MUIM_Setup/Cleanup *)
function OBJ_Screen(obj : Pointer) : pScreen; (* valid between MUIM_Setup/Cleanup *)
function OBJ_Pens(obj : Pointer) : pWord; (* valid between MUIM_Setup/Cleanup *)
function OBJ_Window(obj : Pointer) : pWindow; (* valid between MUIM_Show/Hide *)
function OBJ_Rp(obj : Pointer) : pRastPort; (* valid between MUIM_Show/Hide *)
function OBJ_Left(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_Top(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_Width(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_Height(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_Right(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_Bottom(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_AddLeft(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_AddTop(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_SubWidth(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_SubHeight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_MLeft(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_MTop(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_MWidth(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_MHeight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_MRight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_MBottom(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
function OBJ_Font(obj : Pointer) : pTextFont; (* valid between MUIM_Setup/Cleanup *)
function OBJ_MinWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
function OBJ_MinHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
function OBJ_MaxWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
function OBJ_MaxHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
function OBJ_DefWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
function OBJ_DefHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
function OBJ_Flags(obj : Pointer) : LongWord;
function OBJ_Between(a,x,b : smallint): boolean;
function OBJ_IsInObject(x,y : smallint; obj : pObject_): boolean;
function MUIV_Window_AltHeight_MinMax(p : longint) : longint;
function MUIV_Window_AltHeight_Visible(p : longint) : longint;
function MUIV_Window_AltHeight_Screen(p : longint) : longint;
function MUIV_Window_AltTopEdge_Delta(p : longint) : longint;
function MUIV_Window_AltWidth_MinMax(p : longint) : longint;
function MUIV_Window_AltWidth_Visible(p : longint) : longint;
function MUIV_Window_AltWidth_Screen(p : longint) : longint;
function MUIV_Window_Height_MinMax(p : longint) : longint;
function MUIV_Window_Height_Visible(p : longint) : longint;
function MUIV_Window_Height_Screen(p : longint) : longint;
function MUIV_Window_TopEdge_Delta(p : longint) : longint;
function MUIV_Window_Width_MinMax(p : longint) : longint;
function MUIV_Window_Width_Visible(p : longint) : longint;
function MUIV_Window_Width_Screen(p : longint) : longint;
function MAKE_ID(a,b,c,d : char): longword;
function MUIget(obj: pObject_; attr: longword; store: longword): longword;
function MUIset(obj: pObject_; attr: longword; value: longword): longword;
{
Functions and procedures with array of longword go here
}
function MUI_AllocAslRequestTags(_type : longword; tags : array Of LongWord) : POINTER;
function MUI_AslRequestTags(req : POINTER; tags : array Of LongWord) : BOOLEAN;
function MUI_MakeObject(_type : LONGINT; params : array of LongWord) : pLongWord; inline;
function MUI_NewObject(a0arg : pCHAR; tags : array of LongWord) : pLongWord; inline;
function MUI_Request(app : POINTER; win : POINTER; flags : longword; title : pCHAR; gadgets : pCHAR; format : pCHAR; params : array of LongWord) : LONGINT;
function InitMUIMasterLibrary : boolean;
implementation
function MUINotifyData(obj : Pointer) : pMUI_NotifyData;
begin
MUINotifyData := pMUI_NotifyData(@p__dummyXFC2__(obj)^.mnd);
end;
function MUIAreaData(obj : Pointer) : pMUI_AreaData;
begin
MUIAreaData := pMUI_AreaData(@p__dummyXFC2__(obj)^.mad);
end;
function MUIGlobalInfo(obj : Pointer) : pMUI_GlobalInfo;
begin
MUIGlobalInfo := pMUI_GlobalInfo(p__dummyXFC2__(obj)^.mnd.mnd_GlobalInfo);
end;
function MUIUserData(obj : Pointer) : Pointer ;
begin
MUIUserData := Pointer(p__dummyXFC2__(obj)^.mnd.mnd_GlobalInfo);
end;
function MUIRenderInfo(obj : Pointer) : pMUI_RenderInfo;
begin
MUIRenderInfo := pMUI_RenderInfo(p__dummyXFC2__(obj)^.mad.mad_RenderInfo);
end;
function MUIPen(pen : longint): longint;
begin
MUIPen := longint(pen*MUIPEN_Mask);
end;
function OBJ_App(obj : Pointer) : pObject_; (* valid between MUIM_Setup/Cleanup *)
begin
OBJ_App := pMUI_GlobalInfo(obj)^.mgi_ApplicationObject;
end;
function OBJ_Win(obj : Pointer) : pObject_; (* valid between MUIM_Setup/Cleanup *)
begin
OBJ_Win := pMUI_RenderInfo(obj)^.mri_WindowObject;
end;
function OBJ_Dri(obj : Pointer) : pDrawInfo; (* valid between MUIM_Setup/Cleanup *)
begin
OBJ_Dri := pMUI_RenderInfo(obj)^.mri_DrawInfo;
end;
function OBJ_Screen(obj : Pointer) : pScreen; (* valid between MUIM_Setup/Cleanup *)
begin
OBJ_Screen := pMUI_RenderInfo(obj)^.mri_Screen;
end;
function OBJ_Pens(obj : Pointer) : pWord; (* valid between MUIM_Setup/Cleanup *)
begin
OBJ_Pens := pMUI_RenderInfo(obj)^.mri_Pens;
end;
function OBJ_Window(obj : Pointer) : pWindow; (* valid between MUIM_Show/Hide *)
begin
OBJ_Window := PMUI_RenderInfo(obj)^.mri_Window;
end;
function OBJ_Rp(obj : Pointer) : pRastPort; (* valid between MUIM_Show/Hide *)
begin
OBJ_Rp := pMUI_RenderInfo(obj)^.mri_RastPort;
end;
function OBJ_Left(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_Left := pMUI_AreaData(obj)^.mad_Box.Left;
end;
function OBJ_Top(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_Top := pMUI_AreaData(obj)^.mad_Box.Top;
end;
function OBJ_Width(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_Width := pMUI_AreaData(obj)^.mad_Box.Width;
end;
function OBJ_Height(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_Height := pMUI_AreaData(obj)^.mad_Box.Height;
end;
function OBJ_Right(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_Right := OBJ_Left(obj) + OBJ_Width(obj) -1;
end;
function OBJ_Bottom(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_Bottom := OBJ_Top(obj) + OBJ_Height(obj) -1;
end;
function OBJ_AddLeft(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_AddLeft := pMUI_AreaData(obj)^.mad_AddLeft;
end;
function OBJ_AddTop(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_AddTop := pMUI_AreaData(obj)^.mad_AddTop;
end;
function OBJ_SubWidth(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_SubWidth := pMUI_AreaData(obj)^.mad_SubWidth;
end;
function OBJ_SubHeight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_SubHeight := pMUI_AreaData(obj)^.mad_SubHeight;
end;
function OBJ_MLeft(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_MLeft := OBJ_Left(obj) + OBJ_AddLeft(obj);
end;
function OBJ_MTop(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_MTop := OBJ_Top(obj) + OBJ_AddTop(obj);
end;
function OBJ_MWidth(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_MWidth := OBJ_Width(obj) -OBJ_SubWidth(obj);
end;
function OBJ_MHeight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_MHeight := OBJ_Height(obj) - OBJ_SubHeight(obj);
end;
function OBJ_MRight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_MRight := OBJ_MLeft(obj) + OBJ_MWidth(obj) -1;
end;
function OBJ_MBottom(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
begin
OBJ_MBottom := OBJ_MTop(obj) + OBJ_MHeight(obj) -1;
end;
function OBJ_Font(obj : Pointer) : pTextFont; (* valid between MUIM_Setup/Cleanup *)
begin
OBJ_Font := pMUI_AreaData(obj)^.mad_Font;
end;
function OBJ_MinWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
begin
OBJ_MinWidth := pMUI_AreaData(obj)^.mad_MinMax.MinWidth;
end;
function OBJ_MinHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
begin
OBJ_MinHeight := pMUI_AreaData(obj)^.mad_MinMax.MinHeight;
end;
function OBJ_MaxWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
begin
OBJ_maxWidth := pMUI_AreaData(obj)^.mad_MinMax.MaxWidth;
end;
function OBJ_MaxHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
begin
OBJ_maxHeight := pMUI_AreaData(obj)^.mad_MinMax.MaxHeight;
end;
function OBJ_DefWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
begin
OBJ_DefWidth := pMUI_AreaData(obj)^.mad_MinMax.DefWidth;
end;
function OBJ_DefHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
begin
OBJ_DefHeight := pMUI_AreaData(obj)^.mad_MinMax.DefHeight;
end;
function OBJ_Flags(obj : Pointer) : LongWord;
begin
OBJ_Flags := pMUI_AreaData(obj)^.mad_Flags;
end;
(*
** 2 useful procedures for testing if some coordinates are inside your object
** (converted from the ones in class3.c. So look there how to use... )
*)
function OBJ_Between(a,x,b : smallint): boolean;
begin
OBJ_Between := ((x>=a) and (x<=b));
end;
function OBJ_IsInObject(x,y : smallint; obj : pObject_): boolean;
begin
OBJ_IsInObject := (OBJ_Between(OBJ_MLeft(obj),x,OBJ_MRight(obj))
and OBJ_Between(OBJ_MTop(obj),y,OBJ_MBottom(obj)));
end;
function MUIV_Window_AltHeight_MinMax(p : longint) : longint;
begin
MUIV_Window_AltHeight_MinMax := (0 - p);
end;
function MUIV_Window_AltHeight_Visible(p : longint) : longint;
begin
MUIV_Window_AltHeight_Visible := (-100 - (p));
end;
function MUIV_Window_AltHeight_Screen(p : longint) : longint;
begin
MUIV_Window_AltHeight_Screen := (-200 - (p));
end;
function MUIV_Window_AltTopEdge_Delta(p : longint) : longint;
begin
MUIV_Window_AltTopEdge_Delta := (-3 - (p));
end;
function MUIV_Window_AltWidth_MinMax(p : longint) : longint;
begin
MUIV_Window_AltWidth_MinMax := 0 - p;
end;
function MUIV_Window_AltWidth_Visible(p : longint) : longint;
begin
MUIV_Window_AltWidth_Visible := (-100 - (p));
end;
function MUIV_Window_AltWidth_Screen(p : longint) : longint;
begin
MUIV_Window_AltWidth_Screen := (-200 - (p));
end;
function MUIV_Window_Height_MinMax(p : longint) : longint;
begin
MUIV_Window_Height_MinMax := 0 - p;
end;
function MUIV_Window_Height_Visible(p : longint) : longint;
begin
MUIV_Window_Height_Visible := (-100 - (p));
end;
function MUIV_Window_Height_Screen(p : longint) : longint;
begin
MUIV_Window_Height_Screen := (-200 - (p));
end;
function MUIV_Window_TopEdge_Delta(p : longint) : longint;
begin
MUIV_Window_TopEdge_Delta := (-3 - (p));
end;
function MUIV_Window_Width_MinMax(p : longint) : longint;
begin
MUIV_Window_Width_MinMax := 0 - p;
end;
function MUIV_Window_Width_Visible(p : longint) : longint;
begin
MUIV_Window_Width_Visible := (-100 - (p));
end;
function MUIV_Window_Width_Screen(p : longint) : longint;
begin
MUIV_Window_Width_Screen := (-200 - (p));
end;
{
Functions and procedures with array of longword go here
}
function MUI_AllocAslRequestTags(_type : longword; tags : array of LongWord) : POINTER;
begin
MUI_AllocAslRequestTags := MUI_AllocAslRequest(_type , @tags);
end;
function MUI_AslRequestTags(req : POINTER; tags : array of LongWord) : BOOLEAN;
begin
MUI_AslRequestTags := MUI_AslRequest(req , @tags);
end;
function MUI_MakeObject(_type : LONGINT; params : array of LongWord) : pLongWord; inline;
begin
MUI_MakeObject := MUI_MakeObjectA(_type , @params);
end;
function MUI_NewObject(a0arg : PChar; tags : array of LongWord) : pLongWord; inline;
begin
MUI_NewObject := MUI_NewObjectA(a0arg, @tags);
end;
function MUI_Request(app : POINTER; win : POINTER; flags : longword; title : pCHAR; gadgets : pCHAR; format : pCHAR; params : array of LongWord) : LONGINT;
begin
MUI_Request := MUI_RequestA(app , win , flags , title , gadgets , format , @params);
end;
function MAKE_ID(a,b,c,d : char): longword;
begin
MAKE_ID:=(byte(a) shl 24)+(byte(b) shl 16)+(byte(c) shl 8)+byte(d);
end;
//#define get(obj,attr,store) GetAttr(attr,obj,(ULONG *)store)
function MUIget(obj: pObject_; attr: longword; store: longword): longword;
begin
MUIget:=GetAttr(attr,obj,store);
end;
//#define set(obj,attr,value) SetAttrs(obj,attr,value,TAG_DONE)
function MUIset(obj: pObject_; attr: longword; value: longword): longword;
var args: array[0..2] of longword;
begin
args[0]:=attr;
args[1]:=value;
args[2]:=TAG_DONE;
MUIset:=SetAttrsA(obj,@args);
end;
const
{ Change VERSION and LIBVERSION to proper values }
VERSION : string[2] = '19';
LIBVERSION : longword = 19;
var
muimaster_exit : Pointer;
procedure CloseMUIMasterLibrary;
begin
ExitProc := muimaster_exit;
if MUIMasterBase <> nil then begin
CloseLibrary(MUIMasterBase);
MUIMasterBase := nil;
end;
end;
function InitMUIMasterLibrary : boolean;
begin
MUIMasterBase := nil;
MUIMasterBase := OpenLibrary(MUIMASTER_NAME,LIBVERSION);
if MUIMasterBase <> nil then begin
muimaster_exit := ExitProc;
ExitProc := @CloseMUIMasterLibrary;
InitMUIMasterLibrary:=True;
end else begin
InitMUIMasterLibrary:=False;
end;
end;
end.