mui.pas 128 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2005 Karoly Balogh
  4. muimaster.library interface unit for MorphOS/PowerPC
  5. Based on work of Nils Sjoholm member of the Amiga RTL
  6. development team.
  7. MorphOS port was done on a free Pegasos II/G4 machine
  8. provided by Genesi S.a.r.l. <www.genesi.lu>
  9. See the file COPYING.FPC, included in this distribution,
  10. for details about the copyright.
  11. This program is distributed in the hope that it will be useful,
  12. but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  14. **********************************************************************}
  15. {$mode objfpc}
  16. {$packrecords 2}
  17. {$inline on}
  18. {$IFNDEF FPC_DOTTEDUNITS}
  19. unit mui;
  20. {$ENDIF FPC_DOTTEDUNITS}
  21. interface
  22. {
  23. MUI - MagicUserInterface
  24. (c) 1993-1997 Stefan Stuntz
  25. Main Header File
  26. Class Tree
  27. rootclass (BOOPSI's base class)
  28. +--Notify (implements notification mechanism)
  29. ! +--Family (handles multiple children)
  30. ! ! +--Menustrip (describes a complete menu strip)
  31. ! ! +--Menu (describes a single menu)
  32. ! ! \--Menuitem (describes a single menu item)
  33. ! +--Application (main class for all applications)
  34. ! +--Window (main class for all windows)
  35. ! ! \--Aboutmui (About window of MUI preferences)
  36. ! +--Area (base class for all GUI elements)
  37. ! +--Rectangle (spacing object)
  38. ! +--Balance (balancing separator bar)
  39. ! +--Image (image display)
  40. ! +--Bitmap (draws bitmaps)
  41. ! ! \--Bodychunk (makes bitmap from ILBM body chunk)
  42. ! +--Text (text display)
  43. ! +--Gadget (base class for intuition gadgets)
  44. ! ! +--String (string gadget)
  45. ! ! +--Boopsi (interface to BOOPSI gadgets)
  46. ! ! \--Prop (proportional gadget)
  47. ! +--Gauge (fule gauge)
  48. ! +--Scale (percentage scale)
  49. ! +--Colorfield (field with changeable color)
  50. ! +--List (line-oriented list)
  51. ! ! +--Floattext (special list with floating text)
  52. ! ! +--Volumelist (special list with volumes)
  53. ! ! +--Scrmodelist (special list with screen modes)
  54. ! ! \--Dirlist (special list with files)
  55. ! +--Numeric (base class for slider gadgets)
  56. ! ! +--Knob (turning knob)
  57. ! ! +--Levelmeter (level display)
  58. ! ! +--Numericbutton (space saving popup slider)
  59. ! ! \--Slider (traditional slider)
  60. ! +--Framedisplay (private)
  61. ! ! \--Popframe (private)
  62. ! +--Imagedisplay (private)
  63. ! ! \--Popimage (private)
  64. ! +--Pendisplay (displays a pen specification)
  65. ! ! \--Poppen (popup button to adjust a pen spec)
  66. ! +--Group (groups other GUI elements)
  67. ! +--Mccprefs (private)
  68. ! +--Register (handles page groups with titles)
  69. ! ! \--Penadjust (group to adjust a pen)
  70. ! +--Settingsgroup (private)
  71. ! +--Settings (private)
  72. ! +--Frameadjust (private)
  73. ! +--Imageadjust (private)
  74. ! +--Virtgroup (handles virtual groups)
  75. ! +--Scrollgroup (virtual groups with scrollbars)
  76. ! +--Scrollbar (traditional scrollbar)
  77. ! +--Listview (listview)
  78. ! +--Radio (radio button)
  79. ! +--Cycle (cycle gadget)
  80. ! +--Coloradjust (several gadgets to adjust a color)
  81. ! +--Palette (complete palette gadget)
  82. ! +--Popstring (base class for popup objects)
  83. ! +--Popobject (popup aynthing in a separate window)
  84. ! ! +--Poplist (popup a simple listview)
  85. ! ! \--Popscreen (popup a list of public screens)
  86. ! \--Popasl (popup an asl requester)
  87. +--Semaphore (semaphore equipped objects)
  88. +--Applist (private)
  89. +--Dataspace (handles general purpose data spaces)
  90. \--Configdata (private)
  91. General Header File Information
  92. All macro and structure definitions follow these rules:
  93. Name Meaning
  94. MUIC_<class> Name of a class
  95. MUIM_<class>_<method> Method
  96. MUIP_<class>_<method> Methods parameter structure
  97. MUIV_<class>_<method>_<x> Special method value
  98. MUIA_<class>_<attrib> Attribute
  99. MUIV_<class>_<attrib>_<x> Special attribute value
  100. MUIE_<error> Error return code from MUI_Error()
  101. MUII_<name> Standard MUI image
  102. MUIX_<code> Control codes for text strings
  103. MUIO_<name> Object type for MUI_MakeObject()
  104. MUIA_... attribute definitions are followed by a comment
  105. consisting of the three possible letters I, S and G.
  106. I: it's possible to specify this attribute at object creation time.
  107. S: it's possible to change this attribute with SetAttrs().
  108. G: it's possible to get this attribute with GetAttr().
  109. Items marked with "Custom Class" are for use in custom classes only!
  110. }
  111. {$IFDEF FPC_DOTTEDUNITS}
  112. uses Amiga.Core.Exec, Amiga.Core.Intuition,Amiga.Core.Utility,Amiga.Core.Agraphics{,Amiga.Core.Iffparse};
  113. {$ELSE FPC_DOTTEDUNITS}
  114. uses exec, intuition,utility,agraphics{,iffparse};
  115. {$ENDIF FPC_DOTTEDUNITS}
  116. {$WARNING IffParse required, look for FIX ME!!!}
  117. var
  118. MUIMasterBase : pLibrary = nil;
  119. const
  120. MUIMASTER_NAME : PAnsiChar = 'muimaster.library';
  121. MUIMASTER_VMIN = 11;
  122. MUIMASTER_VLATEST = 19;
  123. const
  124. MUI_TRUE = 1;
  125. MUI_FALSE = 0;
  126. const
  127. MUI_END = TAG_DONE; // this can be used instead of C End
  128. {
  129. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  130. Warning, some of the macros in this header file work only with
  131. muimaster.library V11 and above. If you recompile your programs,
  132. be sure to open muimaster.library with MUIMASTER_VMIN as version number.
  133. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  134. }
  135. {
  136. Config items for MUIM_GetConfigItem
  137. }
  138. MUICFG_PublicScreen = 36;
  139. {
  140. Black box specification structures for images, pens, frames
  141. }
  142. type
  143. plongword = ^longword;
  144. tMUI_PenSpec = record
  145. buf : array[0..31] of AnsiChar;
  146. end;
  147. pMUI_PenSpec = ^tMUI_PenSpec;
  148. {
  149. Public Screen Stuff
  150. }
  151. {
  152. NOTE: This stuff is only included to allow compilation of the supplied
  153. public screen manager for educational purposes. Everything
  154. here is subject to change without notice and I guarantee to
  155. do that just for fun!
  156. More info can be found in the screen manager source file.
  157. }
  158. const
  159. PSD_INITIAL_NAME : PAnsiChar = '(unnamed)';
  160. PSD_INITIAL_TITLE : PAnsiChar = 'MUI Public Screen';
  161. const
  162. PSD_NAME_FRONTMOST : PAnsiChar = '«Frontmost»';
  163. PSD_FILENAME_SAVE : PAnsiChar = 'envarc:mui/PublicScreens.iff';
  164. PSD_FILENAME_USE : PAnsiChar = 'env:mui/PublicScreens.iff';
  165. PSD_MAXLEN_NAME = 32;
  166. PSD_MAXLEN_TITLE = 128;
  167. PSD_MAXLEN_FONT = 48;
  168. PSD_MAXLEN_BACKGROUND = 256;
  169. PSD_NUMCOLS = 8;
  170. PSD_MAXSYSPENS = 20;
  171. PSD_NUMSYSPENS = 12;
  172. PSD_MAXMUIPENS = 10;
  173. PSD_NUMMUIPENS = 8;
  174. type
  175. tMUI_RGBcolor = record
  176. red : LongWord;
  177. green : LongWord;
  178. blue : LongWord;
  179. end;
  180. pMUI_RGBColor = ^tMUI_RGBColor;
  181. tMUI_PubScreenDesc = record
  182. Version : LongInt;
  183. Name : array[0..(PSD_MAXLEN_NAME)-1] of AnsiChar;
  184. Title : array[0..(PSD_MAXLEN_TITLE)-1] of AnsiChar;
  185. Font : array[0..(PSD_MAXLEN_FONT)-1] of AnsiChar;
  186. Background : array[0..(PSD_MAXLEN_BACKGROUND)-1] of AnsiChar;
  187. DisplayID : LongWord;
  188. DisplayWidth : WORD;
  189. DisplayHeight : WORD;
  190. DisplayDepth : BYTE;
  191. OverscanType : BYTE;
  192. AutoScroll : BYTE;
  193. NoDrag : BYTE;
  194. Exclusive : BYTE;
  195. Interleaved : BYTE;
  196. SysDefault : BYTE;
  197. Behind : BYTE;
  198. AutoClose : BYTE;
  199. CloseGadget : BYTE;
  200. DummyWasForeign : BYTE;
  201. SystemPens : array[0..(PSD_MAXSYSPENS)-1] of BYTE;
  202. Reserved : array[0..((1 + (7 * 4)) - PSD_MAXSYSPENS)-1] of BYTE;
  203. Palette : array[0..(PSD_NUMCOLS)-1] of tMUI_RGBcolor;
  204. rsvd : array[0..(PSD_MAXSYSPENS - PSD_NUMCOLS)-1] of tMUI_RGBcolor;
  205. rsvd2 : array[0..(PSD_MAXMUIPENS)-1] of tMUI_PenSpec;
  206. Changed : LongInt;
  207. UserData : Pointer;
  208. end;
  209. pMUI_PubScreenDesc = ^tMUI_PubScreenDesc;
  210. tMUIS_InfoClient = record
  211. node : tMinNode;
  212. task : PTask;
  213. sigbit : LongWord;
  214. end;
  215. pMUIS_InfoClient = ^tMUIS_InfoClient;
  216. { ** Object Types for MUI_MakeObject() }
  217. { ************************************************************************* }
  218. const
  219. MUIO_Label = 1; { PAnsiChar label, LongWord flags }
  220. MUIO_Button = 2; { PAnsiChar label }
  221. MUIO_Checkmark = 3; { PAnsiChar label }
  222. MUIO_Cycle = 4; { PAnsiChar label, PAnsiChar entries }
  223. MUIO_Radio = 5; { PAnsiChar label, PAnsiChar entries }
  224. MUIO_Slider = 6; { PAnsiChar label, LongInt min, LongInt max }
  225. MUIO_String = 7; { PAnsiChar label, LongInt maxlen }
  226. MUIO_PopButton = 8; { PAnsiChar imagespec }
  227. MUIO_HSpace = 9; { LongInt space }
  228. MUIO_VSpace = 10; { LongInt space }
  229. MUIO_HBar = 11; { LongInt space }
  230. MUIO_VBar = 12; { LongInt space }
  231. MUIO_MenustripNM = 13; { struct NewMenu nm, LongWord flags }
  232. MUIO_Menuitem = 14; { PAnsiChar label, PAnsiChar shortcut, LongWord flags, LongWord data }
  233. MUIO_BarTitle = 15; { PAnsiChar label }
  234. MUIO_NumericButton = 16; { PAnsiChar label, LongInt min, LongInt max, PAnsiChar format }
  235. MUIO_Menuitem_CopyStrings = 1 shl 30;
  236. MUIO_Label_SingleFrame = 1 shl 8;
  237. MUIO_Label_DoubleFrame = 1 shl 9;
  238. MUIO_Label_LeftAligned = 1 shl 10;
  239. MUIO_Label_Centered = 1 shl 11;
  240. MUIO_Label_FreeVert = 1 shl 12;
  241. MUIO_MenustripNM_CommandKeyCheck = 1 shl 0; { check for "localized" menu items such as "O\0Open" }
  242. { ** ARexx Interface }
  243. { ************************************************************************* }
  244. type
  245. tMUI_Command = record
  246. mc_Name : PAnsiChar;
  247. mc_Template : PAnsiChar;
  248. mc_Parameters : LongInt;
  249. mc_Hook : PHook;
  250. mc_Reserved : array[0..4] of LongInt;
  251. end;
  252. pMUI_Command = ^tMUI_Command;
  253. const
  254. MC_TEMPLATE_ID = -1; { MC_TEMPLATE_ID : PAnsiChar = not(0); }
  255. MUI_RXERR_BADDEFINITION = -1;
  256. MUI_RXERR_OUTOFMEMORY = -2;
  257. MUI_RXERR_UNKNOWNCOMMAND = -3;
  258. MUI_RXERR_BADSYNTAX = -4;
  259. { ** Return values for MUI_Error() }
  260. { ************************************************************************* }
  261. const
  262. MUIE_OK = 0;
  263. MUIE_OutOfMemory = 1;
  264. MUIE_OutOfGfxMemory = 2;
  265. MUIE_InvalidWindowObject = 3;
  266. MUIE_MissingLibrary = 4;
  267. MUIE_NoARexx = 5;
  268. MUIE_SingleTask = 6;
  269. { ** Standard MUI Images & Backgrounds }
  270. { ************************************************************************* }
  271. const
  272. MUII_WindowBack = 0; { These images are configured }
  273. MUII_RequesterBack = 1; { with the preferences program. }
  274. MUII_ButtonBack = 2;
  275. MUII_ListBack = 3;
  276. MUII_TextBack = 4;
  277. MUII_PropBack = 5;
  278. MUII_PopupBack = 6;
  279. MUII_SelectedBack = 7;
  280. MUII_ListCursor = 8;
  281. MUII_ListSelect = 9;
  282. MUII_ListSelCur = 10;
  283. MUII_ArrowUp = 11;
  284. MUII_ArrowDown = 12;
  285. MUII_ArrowLeft = 13;
  286. MUII_ArrowRight = 14;
  287. MUII_CheckMark = 15;
  288. MUII_RadioButton = 16;
  289. MUII_Cycle = 17;
  290. MUII_PopUp = 18;
  291. MUII_PopFile = 19;
  292. MUII_PopDrawer = 20;
  293. MUII_PropKnob = 21;
  294. MUII_Drawer = 22;
  295. MUII_HardDisk = 23;
  296. MUII_Disk = 24;
  297. MUII_Chip = 25;
  298. MUII_Volume = 26;
  299. MUII_RegisterBack = 27;
  300. MUII_Network = 28;
  301. MUII_Assign = 29;
  302. MUII_TapePlay = 30;
  303. MUII_TapePlayBack = 31;
  304. MUII_TapePause = 32;
  305. MUII_TapeStop = 33;
  306. MUII_TapeRecord = 34;
  307. MUII_GroupBack = 35;
  308. MUII_SliderBack = 36;
  309. MUII_SliderKnob = 37;
  310. MUII_TapeUp = 38;
  311. MUII_TapeDown = 39;
  312. MUII_PageBack = 40;
  313. MUII_ReadListBack = 41;
  314. MUII_PopFont = 42;
  315. MUII_ImageButtonBack = 43;
  316. MUII_ImageSelectedBack = 44;
  317. MUII_GaugeFull = 45;
  318. MUII_GaugeEmpty = 46;
  319. MUII_Menudisplay = 47;
  320. MUII_PullOpen = 48;
  321. MUII_StringBack = 49;
  322. MUII_StringActiveBack = 50;
  323. MUII_Count = 51;
  324. MUII_BACKGROUND = 128; { These are direct color }
  325. MUII_SHADOW = 129; { combinations and are not }
  326. MUII_SHINE = 130; { affected by users prefs. }
  327. MUII_FILL = 131;
  328. MUII_SHADOWBACK = 132; { Generally, you should }
  329. MUII_SHADOWFILL = 133; { avoid using them. Better }
  330. MUII_SHADOWSHINE = 134; { use one of the customized }
  331. MUII_FILLBACK = 135; { images above. }
  332. MUII_FILLSHINE = 136;
  333. MUII_SHINEBACK = 137;
  334. MUII_FILLBACK2 = 138;
  335. MUII_HSHINEBACK = 139;
  336. MUII_HSHADOWBACK = 140;
  337. MUII_HSHINESHINE = 141;
  338. MUII_HSHADOWSHADOW = 142;
  339. MUII_MARKSHINE = 143;
  340. MUII_MARKHALFSHINE = 144;
  341. MUII_MARKBACKGROUND = 145;
  342. MUII_BARBLOCK = 146;
  343. MUII_BARDETAIL = 147;
  344. MUII_LASTPAT = 147;
  345. { ** Special values for some methods }
  346. { ************************************************************************* }
  347. const
  348. MUIV_TriggerValue = $49893131;
  349. MUIV_NotTriggerValue = $49893133;
  350. MUIV_EveryTime = $49893131;
  351. MUIV_Notify_Self = 1;
  352. MUIV_Notify_Window = 2;
  353. MUIV_Notify_Application = 3;
  354. MUIV_Notify_Parent = 4;
  355. MUIV_Notify_ParentParent = 5;
  356. MUIV_Notify_ParentParentParent = 6;
  357. const
  358. MUIV_Application_ReturnID_Quit = -1;
  359. MUIV_List_Insert_Top = 0;
  360. MUIV_List_Insert_Active = -1;
  361. MUIV_List_Insert_Sorted = -2;
  362. MUIV_List_Insert_Bottom = -3;
  363. MUIV_List_Remove_First = 0;
  364. MUIV_List_Remove_Active = -1;
  365. MUIV_List_Remove_Last = -2;
  366. MUIV_List_Remove_Selected = -3;
  367. MUIV_List_Select_Off = 0;
  368. MUIV_List_Select_On = 1;
  369. MUIV_List_Select_Toggle = 2;
  370. MUIV_List_Select_Ask = 3;
  371. MUIV_List_GetEntry_Active = -1;
  372. MUIV_List_EditEntry_Active = -1;
  373. MUIV_List_Select_Active = -1;
  374. MUIV_List_Select_All = -2;
  375. MUIV_List_Redraw_Active = -1;
  376. MUIV_List_Redraw_All = -2;
  377. MUIV_List_Move_Top = 0;
  378. MUIV_List_Move_Active = -1;
  379. MUIV_List_Move_Bottom = -2;
  380. MUIV_List_Move_Next = -3; { only valid for second parameter }
  381. MUIV_List_Move_Previous = -4; { only valid for second parameter }
  382. MUIV_List_Exchange_Top = 0;
  383. MUIV_List_Exchange_Active = -1;
  384. MUIV_List_Exchange_Bottom = -2;
  385. MUIV_List_Exchange_Next = -3; { only valid for second parameter }
  386. MUIV_List_Exchange_Previous = -4; { only valid for second parameter }
  387. MUIV_List_Jump_Top = 0;
  388. MUIV_List_Jump_Active = -1;
  389. MUIV_List_Jump_Bottom = -2;
  390. MUIV_List_Jump_Up = -4;
  391. MUIV_List_Jump_Down = -3;
  392. MUIV_List_NextSelected_Start = -1;
  393. MUIV_List_NextSelected_End = -1;
  394. MUIV_DragQuery_Refuse = 0;
  395. MUIV_DragQuery_Accept = 1;
  396. MUIV_DragReport_Abort = 0;
  397. MUIV_DragReport_Continue = 1;
  398. MUIV_DragReport_Lock = 2;
  399. MUIV_DragReport_Refresh = 3;
  400. MUIV_CreateBubble_DontHidePointer = (1<<0);
  401. MUIV_Application_OCW_ScreenPage = (1<<1); { show just the screen page of the config window }
  402. MUIV_ContextMenuBuild_Default = $ffffffff;
  403. { FIX ME!!! #define MUIV_PushMethod_Delay(millis) MIN(0x0ffffff0,(((ULONG)millis)<<8)) }
  404. MUIV_Family_GetChild_First = 0;
  405. MUIV_Family_GetChild_Last = -1;
  406. MUIV_Family_GetChild_Next = -2;
  407. MUIV_Family_GetChild_Previous = -3;
  408. MUIV_Family_GetChild_Iterate = -4;
  409. MUIV_Group_GetChild_First = MUIV_Family_GetChild_First;
  410. MUIV_Group_GetChild_Last = MUIV_Family_GetChild_Last;
  411. MUIV_Group_GetChild_Next = MUIV_Family_GetChild_Next;
  412. MUIV_Group_GetChild_Previous = MUIV_Family_GetChild_Previous;
  413. MUIV_Group_GetChild_Iterate = MUIV_Family_GetChild_Iterate;
  414. { ** Control codes for text strings }
  415. { ************************************************************************* }
  416. const
  417. MUIX_R = #27+'r'; { right justified }
  418. MUIX_C = #27+'c'; { centered }
  419. MUIX_L = #27+'l'; { left justified }
  420. MUIX_N = #27+'n'; { normal }
  421. MUIX_B = #27+'b'; { bold }
  422. MUIX_I = #27+'i'; { italic }
  423. MUIX_U = #27+'u'; { underlined }
  424. MUIX_PT = #27+'2'; { text pen }
  425. MUIX_PH = #27+'8'; { highlight text pen }
  426. { ** Parameter structures for some classes }
  427. { ************************************************************************* }
  428. {$WARNING Clean this mess... }
  429. type
  430. tMUI_Palette_Entry = record
  431. mpe_ID : LongInt;
  432. mpe_Red : LongWord;
  433. mpe_Green : LongWord;
  434. mpe_Blue : LongWord;
  435. mpe_Group : LongInt;
  436. end;
  437. pMUI_Palette_Entry = ^tMUI_Palette_Entry;
  438. const
  439. MUIV_Palette_Entry_End = (-1);
  440. { }
  441. { Application Input Handler }
  442. { }
  443. { see below }
  444. type
  445. tMUI_InputHandlerNode = record
  446. ihn_Node : tMinNode;
  447. ihn_Object : pObject_;
  448. ihn_stuff : record
  449. case longint of
  450. 0 : ( ihn_sigs : LongWord );
  451. 1 : ( ihn_timer : record
  452. ihn_millis : WORD;
  453. ihn_current : WORD;
  454. end );
  455. end;
  456. ihn_Flags : LongWord;
  457. ihn_Method : LongWord;
  458. end;
  459. pMUI_InputHandlerNode = ^tMUI_InputHandlerNode;
  460. const
  461. { ihn_Signals = ihn_stuff.ihn_sigs;
  462. ihn_Millis = ihn_stuff.(ihn_timer.ihn_millis);
  463. ihn_Current = ihn_stuff.(ihn_timer.ihn_current); }
  464. { Flags for ihn_Flags }
  465. { set ihn_Ticks to number of 1/100 sec ticks you want to be triggered }
  466. MUIIHNF_TIMER = 1 shl 0;
  467. { }
  468. { Window Event Handler }
  469. { }
  470. { don't touch! }
  471. { event handlers are inserted according to their priority. }
  472. { certain flags, see below for definitions. }
  473. { object which should receive MUIM_HandleEvent. }
  474. { if !=NULL, MUIM_HandleEvent is invoked on exactly this class with CoerceMethod(). }
  475. { one or more IDCMP flags this handler should react on. }
  476. type
  477. tMUI_EventHandlerNode = record
  478. ehn_Node : tMinNode;
  479. ehn_Reserved : BYTE;
  480. ehn_Priority : BYTE;
  481. ehn_Flags : WORD;
  482. ehn_Object : pObject_;
  483. ehn_Class : PIClass;
  484. ehn_Events : LongWord;
  485. end;
  486. pMUI_EventHandlerNode = ^tMUI_EventHandlerNode;
  487. { flags for ehn_Flags }
  488. const
  489. MUI_EHF_ALWAYSKEYS = 1 shl 0;
  490. { other values reserved for future use }
  491. { return values for MUIM_HandleEvent (bit-masked, all other bits must be 0) }
  492. { stop MUI from calling other handlers }
  493. MUI_EventHandlerRC_Eat = 1 shl 0;
  494. { }
  495. { List Position Test }
  496. { }
  497. { number of entry, -1 if mouse not over valid entry }
  498. { numer of column, -1 if no valid column }
  499. { see below }
  500. { x offset of mouse click relative to column start }
  501. { y offset of mouse click from center of line
  502. (negative values mean click was above center,
  503. positive values mean click was below center) }
  504. type
  505. tMUI_List_TestPos_Result = record
  506. entry : LongInt;
  507. column : WORD;
  508. flags : WORD;
  509. xoffset : WORD;
  510. yoffset : WORD;
  511. end;
  512. pMUI_List_TestPos_Result = ^tMUI_List_TestPos_Result;
  513. const
  514. MUI_LPR_ABOVE = 1 shl 0;
  515. MUI_LPR_BELOW = 1 shl 1;
  516. MUI_LPR_LEFT = 1 shl 2;
  517. MUI_LPR_RIGHT = 1 shl 3;
  518. {
  519. For Boopsi Image Implementors Only:
  520. If MUI is using a boopsi image object, it will send a special method
  521. immediately after object creation. This method has a parameter structure
  522. where the boopsi can fill in its minimum and maximum size and learn if
  523. its used in a horizontal or vertical context.
  524. The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  525. value. That's how MUI sees that the method is implemented.
  526. Note: MUI does not depend on this method. If the boopsi image doesn't
  527. implement it, minimum size will be 0 and maximum size unlimited.
  528. }
  529. { this is send to the boopsi and }
  530. const
  531. MUIM_BoopsiQuery = $80427157;
  532. { must be used as return value }
  533. { parameter structure }
  534. { always MUIM_BoopsiQuery }
  535. { obsolete, use mbq_RenderInfo }
  536. { read only, see below }
  537. { write only, fill in min width }
  538. { write only, fill in min height }
  539. { write only, fill in max width }
  540. { write only, fill in max height }
  541. { write only, fill in def width }
  542. { write only, fill in def height }
  543. { read only, display context }
  544. { may grow in future ... }
  545. type
  546. tMUI_RenderInfo = record
  547. mri_WindowObject : pObject_;
  548. mri_Screen : PScreen;
  549. mri_DrawInfo : PDrawInfo;
  550. mri_Pens : ^WORD;
  551. mri_Window : PWindow;
  552. mri_RastPort : PRastPort;
  553. mri_Flags : LongWord;
  554. mri_DummyWasTinyFont: PTextFont;
  555. end;
  556. pMUI_RenderInfo = ^tMUI_RenderInfo;
  557. type
  558. tMUI_BoopsiQuery = record
  559. mbq_MethodID : LongWord;
  560. mbq_Screen : PScreen;
  561. mbq_Flags : LongWord;
  562. mbq_MinWidth : LongInt;
  563. mbq_MinHeight : LongInt;
  564. mbq_MaxWidth : LongInt;
  565. mbq_MaxHeight : LongInt;
  566. mbq_DefWidth : LongInt;
  567. mbq_DefHeight : LongInt;
  568. mbq_RenderInfo : PMUI_RenderInfo;
  569. end;
  570. pMUI_BoopsiQuery = ^tMUI_BoopsiQuery;
  571. { old structure name }
  572. MUIP_BoopsiQuery = tMUI_BoopsiQuery;
  573. const
  574. { object used in a horizontal }
  575. MBQF_HORIZ = 1 shl 0;
  576. { context (else vertical) }
  577. { use this for unlimited MaxWidth/Height }
  578. MBQ_MUI_MAXMAX = 10000;
  579. { ** Notify }
  580. { ************************************************************************* }
  581. const
  582. MUIC_Notify : PAnsiChar = 'Notify.mui';
  583. { ** Methods ** }
  584. const
  585. MUIM_CallHook = $8042b96b; { V4 }
  586. MUIM_Export = $80420f1c; { V12 }
  587. MUIM_FindUData = $8042c196; { V8 }
  588. MUIM_GetConfigItem = $80423edb; { V11 }
  589. MUIM_GetUData = $8042ed0c; { V8 }
  590. MUIM_Import = $8042d012; { V12 }
  591. MUIM_KillNotify = $8042d240; { V4 }
  592. MUIM_KillNotifyObj = $8042b145; { V16 }
  593. MUIM_MultiSet = $8042d356; { V7 }
  594. MUIM_NoNotifySet = $8042216f; { V9 }
  595. MUIM_Notify = $8042c9cb; { V4 }
  596. MUIM_Set = $8042549a; { V4 }
  597. MUIM_SetAsString = $80422590; { V4 }
  598. MUIM_SetUData = $8042c920; { V8 }
  599. MUIM_SetUDataOnce = $8042ca19; { V11 }
  600. MUIM_WriteLong = $80428d86; { V6 }
  601. MUIM_WriteString = $80424bf4; { V6 }
  602. type
  603. tMUIP_CallHook = record { ... }
  604. MethodID : LongWord;
  605. Hook : PHook;
  606. param1 : LongWord;
  607. end;
  608. pMUIP_CallHook = ^tMUIP_CallHook;
  609. tMUIP_Export = record
  610. MethodID : LongWord;
  611. dataspace : pObject_;
  612. end;
  613. pMUIP_Export = ^tMUIP_Export;
  614. tMUIP_FindUData = record
  615. MethodID : LongWord;
  616. udata : LongWord;
  617. end;
  618. pMUIP_FindUData = ^tMUIP_FindUData;
  619. tMUIP_GetConfigItem = record
  620. MethodID : LongWord;
  621. id : LongWord;
  622. storage : PLongWord;
  623. end;
  624. pMUIP_GetConfigItem = ^tMUIP_GetConfigItem;
  625. tMUIP_GetUData = record
  626. MethodID : LongWord;
  627. udata : LongWord;
  628. attr : LongWord;
  629. storage : PLongWord;
  630. end;
  631. pMUIP_GetUData = ^tMUIP_GetUData;
  632. tMUIP_Import = record
  633. MethodID : LongWord;
  634. dataspace : pObject_;
  635. end;
  636. pMUIP_Import = ^tMUIP_Import;
  637. tMUIP_KillNotify = record
  638. MethodID : LongWord;
  639. TrigAttr : LongWord;
  640. end;
  641. pMUIP_KillNotify = ^tMUIP_KillNotify;
  642. tMUIP_KillNotifyObj = record
  643. MethodID : LongWord;
  644. TrigAttr : LongWord;
  645. dest : pObject_;
  646. end;
  647. pMUIP_KillNotifyObj = ^tMUIP_KillNotifyObj;
  648. tMUIP_MultiSet = record { ... }
  649. MethodID : LongWord;
  650. attr : LongWord;
  651. val : LongWord;
  652. obj : Pointer;
  653. end;
  654. pMUIP_MultiSet = ^tMUIP_MultiSet;
  655. tMUIP_NoNotifySet = record { ... }
  656. MethodID : LongWord;
  657. attr : LongWord;
  658. format : PAnsiChar;
  659. val : LongWord;
  660. end;
  661. pMUIP_NoNotifySet = ^tMUIP_NoNotifySet;
  662. tMUIP_Notify = record { ... }
  663. MethodID : LongWord;
  664. TrigAttr : LongWord;
  665. TrigVal : LongWord;
  666. DestObj : Pointer;
  667. FollowParams : LongWord;
  668. end;
  669. pMUIP_Notify = ^tMUIP_Notify;
  670. tMUIP_Set = record
  671. MethodID : LongWord;
  672. attr : LongWord;
  673. val : LongWord;
  674. end;
  675. pMUIP_Set = ^tMUIP_Set;
  676. tMUIP_SetAsString = record { ... }
  677. MethodID : LongWord;
  678. attr : LongWord;
  679. format : PAnsiChar;
  680. val : LongWord;
  681. end;
  682. pMUIP_SetAsString = ^tMUIP_SetAsString;
  683. tMUIP_SetUData = record
  684. MethodID : LongWord;
  685. udata : LongWord;
  686. attr : LongWord;
  687. val : LongWord;
  688. end;
  689. pMUIP_SetUData = ^tMUIP_SetUData;
  690. tMUIP_SetUDataOnce = record
  691. MethodID : LongWord;
  692. udata : LongWord;
  693. attr : LongWord;
  694. val : LongWord;
  695. end;
  696. pMUIP_SetUDataOnce = ^tMUIP_SetUDataOnce;
  697. tMUIP_WriteLong = record
  698. MethodID : LongWord;
  699. val : LongWord;
  700. memory : PLongWord;
  701. end;
  702. pMUIP_WriteLong = ^tMUIP_WriteLong;
  703. tMUIP_WriteString = record
  704. MethodID : LongWord;
  705. str : PAnsiChar;
  706. memory : PAnsiChar;
  707. end;
  708. pMUIP_WriteString = ^tMUIP_WriteString;
  709. { ** Attributes ** }
  710. const
  711. MUIA_ApplicationObject = $8042d3ee; { V4 ..g Object }
  712. MUIA_AppMessage = $80421955; { V5 ..g struct AppMessage }
  713. MUIA_HelpLine = $8042a825; { V4 isg LongInt }
  714. MUIA_HelpNode = $80420b85; { V4 isg PAnsiChar }
  715. MUIA_NoNotify = $804237f9; { V7 .s. BOOL }
  716. MUIA_NoNotifyMethod = $80420a74; { V20 .s. LongWord }
  717. MUIA_ObjectID = $8042d76e; { V11 isg LongWord }
  718. MUIA_Parent = $8042e35f; { V11 ..g Object }
  719. MUIA_Revision = $80427eaa; { V4 ..g LongInt }
  720. MUIA_UserData = $80420313; { V4 isg LongWord }
  721. MUIA_Version = $80422301; { V4 ..g LongInt }
  722. { ** Family }
  723. { ************************************************************************* }
  724. const
  725. MUIC_Family : PAnsiChar = 'Family.mui';
  726. { ** Methods ** }
  727. const
  728. MUIM_Family_AddHead = $8042e200; { V8 }
  729. MUIM_Family_AddTail = $8042d752; { V8 }
  730. MUIM_Family_Insert = $80424d34; { V8 }
  731. MUIM_Family_Remove = $8042f8a9; { V8 }
  732. MUIM_Family_Sort = $80421c49; { V8 }
  733. MUIM_Family_Transfer = $8042c14a; { V8 }
  734. type
  735. tMUIP_Family_AddHead = record
  736. MethodID : LongWord;
  737. obj : pObject_;
  738. end;
  739. pMUIP_Family_AddHead = ^tMUIP_Family_AddHead;
  740. tMUIP_Family_AddTail = record
  741. MethodID : LongWord;
  742. obj : pObject_;
  743. end;
  744. pMUIP_Family_AddTail = ^tMUIP_Family_AddTail;
  745. tMUIP_Family_Insert = record
  746. MethodID : LongWord;
  747. obj : pObject_;
  748. pred : pObject_;
  749. end;
  750. pMUIP_Family_Insert = ^tMUIP_Family_Insert;
  751. tMUIP_Family_Remove = record
  752. MethodID : LongWord;
  753. obj : pObject_;
  754. end;
  755. pMUIP_Family_Remove = ^tMUIP_Family_Remove;
  756. tMUIP_Family_Sort = record
  757. MethodID : LongWord;
  758. obj : array[0..0] of pObject_;
  759. end;
  760. pMUIP_Family_Sort = ^tMUIP_Family_Sort;
  761. tMUIP_Family_Transfer = record
  762. MethodID : LongWord;
  763. family : pObject_;
  764. end;
  765. pMUIP_Family_Transfer = ^tMUIP_Family_Transfer;
  766. { ** Attributes ** }
  767. const
  768. MUIA_Family_Child = $8042c696; { V8 i.. Object }
  769. MUIA_Family_List = $80424b9e; { V8 ..g struct MinList }
  770. { ** Menustrip }
  771. { ************************************************************************* }
  772. const
  773. MUIC_Menustrip : PAnsiChar = 'Menustrip.mui';
  774. { ** Methods ** }
  775. const
  776. MUIM_Menustrip_ExitChange = $8042ce4d; { V20 }
  777. MUIM_Menustrip_InitChange = $8042dcd9; { V20 }
  778. type
  779. tMUIP_Menustrip_ExitChange = record
  780. MethodID : LongWord;
  781. end;
  782. pMUIP_Menustrip_ExitChange = ^tMUIP_Menustrip_ExitChange;
  783. tMUIP_Menustrip_InitChange = record
  784. MethodID : LongWord;
  785. end;
  786. pMUIP_Menustrip_InitChange = ^tMUIP_Menustrip_InitChange;
  787. { ** Attributes ** }
  788. const
  789. MUIA_Menustrip_Enabled = $8042815b; { V8 isg BOOL }
  790. { ** Menu }
  791. { ************************************************************************* }
  792. const
  793. MUIC_Menu : PAnsiChar = 'Menu.mui';
  794. { ** Attributes ** }
  795. const
  796. MUIA_Menu_Enabled = $8042ed48; { V8 isg BOOL }
  797. MUIA_Menu_Title = $8042a0e3; { V8 isg PAnsiChar }
  798. { ** Menuitem }
  799. { ************************************************************************* }
  800. const
  801. MUIC_Menuitem : PAnsiChar = 'Menuitem.mui';
  802. { ** Methods ** }
  803. { ** Attributes ** }
  804. const
  805. MUIA_Menuitem_Checked = $8042562a; { V8 isg BOOL }
  806. MUIA_Menuitem_Checkit = $80425ace; { V8 isg BOOL }
  807. MUIA_Menuitem_CommandString = $8042b9cc; { V16 isg BOOL }
  808. MUIA_Menuitem_Enabled = $8042ae0f; { V8 isg BOOL }
  809. MUIA_Menuitem_Exclude = $80420bc6; { V8 isg LongInt }
  810. MUIA_Menuitem_Shortcut = $80422030; { V8 isg PAnsiChar }
  811. MUIA_Menuitem_Title = $804218be; { V8 isg PAnsiChar }
  812. MUIA_Menuitem_Toggle = $80424d5c; { V8 isg BOOL }
  813. MUIA_Menuitem_Trigger = $80426f32; { V8 ..g struct MenuItem }
  814. const
  815. MUIV_Menuitem_Shortcut_Check = -(1);
  816. { ** Application }
  817. { ************************************************************************* }
  818. const
  819. MUIC_Application : PAnsiChar = 'Application.mui';
  820. { ** Methods ** }
  821. const
  822. MUIM_Application_AboutMUI = $8042d21d; { V14 }
  823. MUIM_Application_AddInputHandler = $8042f099; { V11 }
  824. MUIM_Application_BuildSettingsPanel = $8042b58f; { V20 }
  825. MUIM_Application_CheckRefresh = $80424d68; { V11 }
  826. MUIM_Application_DefaultConfigItem = $8042d934; { V20 }
  827. MUIM_Application_InputBuffered = $80427e59; { V4 }
  828. MUIM_Application_Load = $8042f90d; { V4 }
  829. MUIM_Application_NewInput = $80423ba6; { V11 }
  830. MUIM_Application_OpenConfigWindow = $804299ba; { V11 }
  831. MUIM_Application_PushMethod = $80429ef8; { V4 }
  832. MUIM_Application_RemInputHandler = $8042e7af; { V11 }
  833. MUIM_Application_ReturnID = $804276ef; { V4 }
  834. MUIM_Application_Save = $804227ef; { V4 }
  835. MUIM_Application_SetConfigItem = $80424a80; { V11 }
  836. MUIM_Application_ShowHelp = $80426479; { V4 }
  837. type
  838. tMUIP_Application_AboutMUI = record
  839. MethodID : LongWord;
  840. refwindow : pObject_;
  841. end;
  842. pMUIP_Application_AboutMUI = ^tMUIP_Application_AboutMUI;
  843. tMUIP_Application_AddInputHandler = record
  844. MethodID : LongWord;
  845. ihnode : PMUI_InputHandlerNode;
  846. end;
  847. pMUIP_Application_AddInputHandler = ^tMUIP_Application_AddInputHandler;
  848. tMUIP_Application_BuildSettingsPanel = record
  849. MethodID : LongWord;
  850. number: LongWord;
  851. end;
  852. pMUIP_Application_BuildSettingsPanel = ^tMUIP_Application_BuildSettingsPanel;
  853. tMUIP_Application_CheckRefresh = record
  854. MethodID : LongWord;
  855. end;
  856. pMUIP_Application_CheckRefresh = ^tMUIP_Application_CheckRefresh;
  857. tMUIP_Application_DefaultConfigItem = record
  858. MethodID : LongWord;
  859. cfgid : LongWord;
  860. end;
  861. pMUIP_Application_DefaultConfigItem = ^tMUIP_Application_DefaultConfigItem;
  862. tMUIP_Application_GetMenuCheck = record
  863. MethodID : LongWord;
  864. MenuID : LongWord;
  865. end;
  866. pMUIP_Application_GetMenuCheck = ^tMUIP_Application_GetMenuCheck;
  867. tMUIP_Application_GetMenuState = record
  868. MethodID : LongWord;
  869. MenuID : LongWord;
  870. end;
  871. pMUIP_Application_GetMenuState = ^tMUIP_Application_GetMenuState;
  872. tMUIP_Application_Input = record
  873. MethodID : LongWord;
  874. signal : PLongWord;
  875. end;
  876. pMUIP_Application_Input = ^tMUIP_Application_Input;
  877. tMUIP_Application_InputBuffered = record
  878. MethodID : LongWord;
  879. end;
  880. pMUIP_Application_InputBuffered = ^tMUIP_Application_InputBuffered;
  881. tMUIP_Application_Load = record
  882. MethodID : LongWord;
  883. name : PAnsiChar;
  884. end;
  885. tMUIP_Application_NewInput = record
  886. MethodID : LongWord;
  887. signal : PLongWord;
  888. end;
  889. pMUIP_Application_NewInput = ^tMUIP_Application_NewInput;
  890. tMUIP_Application_OpenConfigWindow = record
  891. MethodID : LongWord;
  892. flags : LongWord;
  893. end;
  894. pMUIP_Application_OpenConfigWindow = ^tMUIP_Application_OpenConfigWindow;
  895. tMUIP_Application_PushMethod = record { ... }
  896. MethodID : LongWord;
  897. dest : pObject_;
  898. count : LongInt;
  899. end;
  900. pMUIP_Application_PushMethod = ^tMUIP_Application_PushMethod;
  901. tMUIP_Application_RemInputHandler = record
  902. MethodID : LongWord;
  903. ihnode : PMUI_InputHandlerNode;
  904. end;
  905. pMUIP_Application_RemInputHandler = ^tMUIP_Application_RemInputHandler;
  906. tMUIP_Application_ReturnID = record
  907. MethodID : LongWord;
  908. retid : LongWord;
  909. end;
  910. pMUIP_Application_ReturnID = ^tMUIP_Application_ReturnID;
  911. tMUIP_Application_Save = record
  912. MethodID : LongWord;
  913. name : PAnsiChar;
  914. end;
  915. tMUIP_Application_SetConfigItem = record
  916. MethodID : LongWord;
  917. item : LongWord;
  918. data : Pointer;
  919. end;
  920. pMUIP_Application_SetConfigItem = ^tMUIP_Application_SetConfigItem;
  921. tMUIP_Application_SetMenuCheck = record
  922. MethodID : LongWord;
  923. MenuID : LongWord;
  924. stat : LongInt;
  925. end;
  926. pMUIP_Application_SetMenuCheck = ^tMUIP_Application_SetMenuCheck;
  927. tMUIP_Application_SetMenuState = record
  928. MethodID : LongWord;
  929. MenuID : LongWord;
  930. stat : LongInt;
  931. end;
  932. pMUIP_Application_SetMenuState = ^tMUIP_Application_SetMenuState;
  933. tMUIP_Application_ShowHelp = record
  934. MethodID : LongWord;
  935. window : pObject_;
  936. name : PAnsiChar;
  937. node : PAnsiChar;
  938. line : LongInt;
  939. end;
  940. pMUIP_Application_ShowHelp = ^tMUIP_Application_ShowHelp;
  941. { ** Attributes ** }
  942. const
  943. MUIA_Application_Active = $804260ab; { V4 isg BOOL }
  944. MUIA_Application_Author = $80424842; { V4 i.g PAnsiChar }
  945. MUIA_Application_Base = $8042e07a; { V4 i.g PAnsiChar }
  946. MUIA_Application_Broker = $8042dbce; { V4 ..g Broker }
  947. MUIA_Application_BrokerHook = $80428f4b; { V4 isg struct Hook }
  948. MUIA_Application_BrokerPort = $8042e0ad; { V6 ..g struct MsgPort }
  949. MUIA_Application_BrokerPri = $8042c8d0; { V6 i.g LongInt }
  950. MUIA_Application_Commands = $80428648; { V4 isg struct MUI_Command }
  951. MUIA_Application_Copyright = $8042ef4d; { V4 i.g PAnsiChar }
  952. MUIA_Application_Description = $80421fc6; { V4 i.g PAnsiChar }
  953. MUIA_Application_DiskObject = $804235cb; { V4 isg struct DiskObject }
  954. MUIA_Application_DoubleStart = $80423bc6; { V4 ..g BOOL }
  955. MUIA_Application_DropObject = $80421266; { V5 is. Object }
  956. MUIA_Application_ForceQuit = $804257df; { V8 ..g BOOL }
  957. MUIA_Application_HelpFile = $804293f4; { V8 isg PAnsiChar }
  958. MUIA_Application_Iconified = $8042a07f; { V4 .sg BOOL }
  959. MUIA_Application_MenuAction = $80428961; { V4 ..g LongWord }
  960. MUIA_Application_MenuHelp = $8042540b; { V4 ..g LongWord }
  961. MUIA_Application_Menustrip = $804252d9; { V8 i.. Object }
  962. MUIA_Application_RexxHook = $80427c42; { V7 isg struct Hook }
  963. MUIA_Application_RexxMsg = $8042fd88; { V4 ..g struct RxMsg }
  964. MUIA_Application_RexxString = $8042d711; { V4 .s. PAnsiChar }
  965. MUIA_Application_SingleTask = $8042a2c8; { V4 i.. BOOL }
  966. MUIA_Application_Sleep = $80425711; { V4 .s. BOOL }
  967. MUIA_Application_Title = $804281b8; { V4 i.g PAnsiChar }
  968. MUIA_Application_UseCommodities = $80425ee5; { V10 i.. BOOL }
  969. MUIA_Application_UsedClasses = $8042e9a7; { V20 isg STRPTR * }
  970. MUIA_Application_UseRexx = $80422387; { V10 i.. BOOL }
  971. MUIA_Application_Version = $8042b33f; { V4 i.g PAnsiChar }
  972. MUIA_Application_Window = $8042bfe0; { V4 i.. Object }
  973. MUIA_Application_WindowList = $80429abe; { V13 ..g struct List }
  974. { ** Window }
  975. { ************************************************************************* }
  976. const
  977. MUIC_Window : PAnsiChar = 'Window.mui';
  978. const
  979. MUIM_Window_AddEventHandler = $804203b7; { V16 }
  980. MUIM_Window_Cleanup = $8042ab26; { V18 }
  981. MUIM_Window_RemEventHandler = $8042679e; { V16 }
  982. MUIM_Window_ScreenToBack = $8042913d; { V4 }
  983. MUIM_Window_ScreenToFront = $804227a4; { V4 }
  984. MUIM_Window_Setup = $8042c34c; { V18 }
  985. MUIM_Window_Snapshot = $8042945e; { V11 }
  986. MUIM_Window_ToBack = $8042152e; { V4 }
  987. MUIM_Window_ToFront = $8042554f; { V4 }
  988. type
  989. tMUIP_Window_AddEventHandler = record
  990. MethodID : LongWord;
  991. ehnode : PMUI_EventHandlerNode;
  992. end;
  993. pMUIP_Window_AddEventHandler = ^tMUIP_Window_AddEventHandler;
  994. tMUIP_Window_Cleanup = record
  995. MethodID : LongWord;
  996. end;
  997. pMUIP_Window_Cleanup = ^tMUIP_Window_Cleanup;
  998. tMUIP_Window_GetMenuCheck = record
  999. MethodID : LongWord;
  1000. MenuID : LongWord;
  1001. end;
  1002. pMUIP_Window_GetMenuCheck = ^tMUIP_Window_GetMenuCheck;
  1003. tMUIP_Window_GetMenuState = record
  1004. MethodID : LongWord;
  1005. MenuID : LongWord;
  1006. end;
  1007. pMUIP_Window_GetMenuState = ^tMUIP_Window_GetMenuState;
  1008. tMUIP_Window_RemEventHandler = record
  1009. MethodID : LongWord;
  1010. ehnode : PMUI_EventHandlerNode;
  1011. end;
  1012. pMUIP_Window_RemEventHandler = ^tMUIP_Window_RemEventHandler;
  1013. tMUIP_Window_ScreenToBack = record
  1014. MethodID : LongWord;
  1015. end;
  1016. pMUIP_Window_ScreenToBack = ^tMUIP_Window_ScreenToBack;
  1017. tMUIP_Window_ScreenToFront = record
  1018. MethodID : LongWord;
  1019. end;
  1020. pMUIP_Window_ScreenToFront = ^tMUIP_Window_ScreenToFront;
  1021. tMUIP_Window_SetCycleChain = record
  1022. MethodID : LongWord;
  1023. obj : array[0..0] of pObject_;
  1024. end;
  1025. pMUIP_Window_SetCycleChain = ^tMUIP_Window_SetCycleChain;
  1026. tMUIP_Window_SetMenuCheck = record
  1027. MethodID : LongWord;
  1028. MenuID : LongWord;
  1029. stat : LongInt;
  1030. end;
  1031. pMUIP_Window_SetMenuCheck = ^tMUIP_Window_SetMenuCheck;
  1032. tMUIP_Window_SetMenuState = record
  1033. MethodID : LongWord;
  1034. MenuID : LongWord;
  1035. stat : LongInt;
  1036. end;
  1037. pMUIP_Window_SetMenuState = ^tMUIP_Window_SetMenuState;
  1038. tMUIP_Window_Setup = record
  1039. MethodID : LongWord;
  1040. end;
  1041. pMUIP_Window_Setup = ^tMUIP_Window_Setup;
  1042. tMUIP_Window_Snapshot = record
  1043. MethodID : LongWord;
  1044. flags : LongInt;
  1045. end;
  1046. pMUIP_Window_Snapshot = ^tMUIP_Window_Snapshot;
  1047. tMUIP_Window_ToBack = record
  1048. MethodID : LongWord;
  1049. end;
  1050. pMUIP_Window_ToBack = ^tMUIP_Window_ToBack;
  1051. tMUIP_Window_ToFront = record
  1052. MethodID : LongWord;
  1053. end;
  1054. pMUIP_Window_ToFront = ^tMUIP_Window_ToFront;
  1055. { ** Attributes ** }
  1056. const
  1057. MUIA_Window_Activate = $80428d2f; { V4 isg BOOL }
  1058. MUIA_Window_ActiveObject = $80427925; { V4 .sg Object }
  1059. MUIA_Window_AltHeight = $8042cce3; { V4 i.g LongInt }
  1060. MUIA_Window_AltLeftEdge = $80422d65; { V4 i.g LongInt }
  1061. MUIA_Window_AltTopEdge = $8042e99b; { V4 i.g LongInt }
  1062. MUIA_Window_AltWidth = $804260f4; { V4 i.g LongInt }
  1063. MUIA_Window_AppWindow = $804280cf; { V5 i.. BOOL }
  1064. MUIA_Window_Backdrop = $8042c0bb; { V4 i.. BOOL }
  1065. MUIA_Window_Borderless = $80429b79; { V4 i.. BOOL }
  1066. MUIA_Window_CloseGadget = $8042a110; { V4 i.. BOOL }
  1067. MUIA_Window_CloseRequest = $8042e86e; { V4 ..g BOOL }
  1068. MUIA_Window_DefaultObject = $804294d7; { V4 isg Object }
  1069. MUIA_Window_DepthGadget = $80421923; { V4 i.. BOOL }
  1070. MUIA_Window_DragBar = $8042045d; { V4 i.. BOOL }
  1071. MUIA_Window_FancyDrawing = $8042bd0e; { V8 isg BOOL }
  1072. MUIA_Window_Height = $80425846; { V4 i.g LongInt }
  1073. MUIA_Window_ID = $804201bd; { V4 isg LongWord }
  1074. MUIA_Window_InputEvent = $804247d8; { V4 ..g struct InputEvent }
  1075. MUIA_Window_IsSubWindow = $8042b5aa; { V4 isg BOOL }
  1076. MUIA_Window_LeftEdge = $80426c65; { V4 i.g LongInt }
  1077. MUIA_Window_MenuAction = $80427521; { V8 isg LongWord }
  1078. MUIA_Window_Menustrip = $8042855e; { V8 i.g Object }
  1079. MUIA_Window_MouseObject = $8042bf9b; { V10 ..g Object }
  1080. MUIA_Window_NeedsMouseObject = $8042372a; { V10 i.. BOOL }
  1081. MUIA_Window_NoMenus = $80429df5; { V4 is. BOOL }
  1082. MUIA_Window_Open = $80428aa0; { V4 .sg BOOL }
  1083. MUIA_Window_PublicScreen = $804278e4; { V6 isg PAnsiChar }
  1084. MUIA_Window_RefWindow = $804201f4; { V4 is. Object }
  1085. MUIA_Window_RootObject = $8042cba5; { V4 isg Object }
  1086. MUIA_Window_Screen = $8042df4f; { V4 isg struct Screen }
  1087. MUIA_Window_ScreenTitle = $804234b0; { V5 isg PAnsiChar }
  1088. MUIA_Window_SizeGadget = $8042e33d; { V4 i.. BOOL }
  1089. MUIA_Window_SizeRight = $80424780; { V4 i.. BOOL }
  1090. MUIA_Window_Sleep = $8042e7db; { V4 .sg BOOL }
  1091. MUIA_Window_Title = $8042ad3d; { V4 isg PAnsiChar }
  1092. MUIA_Window_TopEdge = $80427c66; { V4 i.g LongInt }
  1093. MUIA_Window_UseBottomBorderScroller = $80424e79; { V13 isg BOOL }
  1094. MUIA_Window_UseLeftBorderScroller = $8042433e; { V13 isg BOOL }
  1095. MUIA_Window_UseRightBorderScroller = $8042c05e; { V13 isg BOOL }
  1096. MUIA_Window_Width = $8042dcae; { V4 i.g LongInt }
  1097. MUIA_Window_Window = $80426a42; { V4 ..g struct Window }
  1098. const
  1099. MUIV_Window_ActiveObject_None = 0;
  1100. MUIV_Window_ActiveObject_Next = -1;
  1101. MUIV_Window_ActiveObject_Prev = -2;
  1102. MUIV_Window_ActiveObject_Left = -3;
  1103. MUIV_Window_ActiveObject_Right = -4;
  1104. MUIV_Window_ActiveObject_Up = -5;
  1105. MUIV_Window_ActiveObject_Down = -6;
  1106. { FIX ME!!! #define MUIV_Window_AltHeight_MinMax(p) (0-(p)) }
  1107. { FIX ME!!! #define MUIV_Window_AltHeight_Visible(p) (-100-(p)) }
  1108. { FIX ME!!! #define MUIV_Window_AltHeight_Screen(p) (-200-(p)) }
  1109. MUIV_Window_AltHeight_Scaled = -(1000);
  1110. MUIV_Window_AltLeftEdge_Centered = -(1);
  1111. MUIV_Window_AltLeftEdge_Moused = -(2);
  1112. MUIV_Window_AltLeftEdge_NoChange = -(1000);
  1113. MUIV_Window_AltTopEdge_Centered = -(1);
  1114. MUIV_Window_AltTopEdge_Moused = -(2);
  1115. { FIX ME!!! #define MUIV_Window_AltTopEdge_Delta(p) (-3-(p)) }
  1116. MUIV_Window_AltTopEdge_NoChange = -(1000);
  1117. { FIX ME!!! #define MUIV_Window_AltWidth_MinMax(p) (0-(p)) }
  1118. { FIX ME!!! #define MUIV_Window_AltWidth_Visible(p) (-100-(p)) }
  1119. { FIX ME!!! #define MUIV_Window_AltWidth_Screen(p) (-200-(p)) }
  1120. MUIV_Window_AltWidth_Scaled = -(1000);
  1121. { FIX ME!!! #define MUIV_Window_Height_MinMax(p) (0-(p)) }
  1122. { FIX ME!!! #define MUIV_Window_Height_Visible(p) (-100-(p)) }
  1123. { FIX ME!!! #define MUIV_Window_Height_Screen(p) (-200-(p)) }
  1124. MUIV_Window_Height_Scaled = -(1000);
  1125. MUIV_Window_Height_Default = -(1001);
  1126. MUIV_Window_LeftEdge_Centered = -(1);
  1127. MUIV_Window_LeftEdge_Moused = -(2);
  1128. { FIX ME!!! #define MUIV_Window_LeftEdge_Right(n) (-1000-(n)) }
  1129. MUIV_Window_TopEdge_Centered = -(1);
  1130. MUIV_Window_TopEdge_Moused = -(2);
  1131. { FIX ME!!! #define MUIV_Window_TopEdge_Delta(p) (-3-(p)) }
  1132. { FIX ME!!! #define MUIV_Window_TopEdge_Bottom(n) (-1000-(n)) }
  1133. { FIX ME!!! #define MUIV_Window_Width_MinMax(p) (0-(p)) }
  1134. { FIX ME!!! #define MUIV_Window_Width_Visible(p) (-100-(p)) }
  1135. { FIX ME!!! #define MUIV_Window_Width_Screen(p) (-200-(p)) }
  1136. MUIV_Window_Width_Scaled = -(1000);
  1137. MUIV_Window_Width_Default = -(1001);
  1138. { ** Aboutmui }
  1139. { ************************************************************************* }
  1140. const
  1141. MUIC_Aboutmui : PAnsiChar = 'Aboutmui.mui';
  1142. { ** Methods ** }
  1143. { ** Attributes ** }
  1144. const
  1145. MUIA_Aboutmui_Application = $80422523; { V11 i.. Object }
  1146. { ** Area }
  1147. { ************************************************************************* }
  1148. const
  1149. MUIC_Area : PAnsiChar = 'Area.mui';
  1150. { ** Methods ** }
  1151. const
  1152. MUIM_AskMinMax = $80423874; { Custom Class } { V4 }
  1153. MUIM_Cleanup = $8042d985; { Custom Class } { V4 }
  1154. MUIM_ContextMenuAdd = $8042df9e; { V20 }
  1155. MUIM_ContextMenuBuild = $80429d2e; { V11 }
  1156. MUIM_ContextMenuChoice = $80420f0e; { V11 }
  1157. MUIM_CreateBubble = $80421c41; { V18 }
  1158. MUIM_CreateShortHelp = $80428e93; { V11 }
  1159. MUIM_DeleteBubble = $804211af; { V18 }
  1160. MUIM_DeleteShortHelp = $8042d35a; { V11 }
  1161. MUIM_DoDrag = $804216bb; { V20 }
  1162. MUIM_DragBegin = $8042c03a; { V11 }
  1163. MUIM_DragDrop = $8042c555; { V11 }
  1164. MUIM_DragFinish = $804251f0; { V11 }
  1165. MUIM_DragQuery = $80420261; { V11 }
  1166. MUIM_DragReport = $8042edad; { V11 }
  1167. MUIM_Draw = $80426f3f; { Custom Class } { V4 }
  1168. MUIM_DrawBackground = $804238ca; { V11 }
  1169. MUIM_HandleEvent = $80426d66; { Custom Class } { V16 }
  1170. MUIM_HandleInput = $80422a1a; { Custom Class } { V4 }
  1171. MUIM_Hide = $8042f20f; { Custom Class } { V4 }
  1172. MUIM_Setup = $80428354; { Custom Class } { V4 }
  1173. MUIM_Show = $8042cc84; { Custom Class } { V4 }
  1174. MUIM_UpdateConfig = $8042b0a9; { V20 }
  1175. type
  1176. { MUI_MinMax structure holds information about minimum, maximum
  1177. and default dimensions of an object. }
  1178. tMUI_MinMax = record
  1179. MinWidth : SmallInt;
  1180. MinHeight : SmallInt;
  1181. MaxWidth : SmallInt;
  1182. MaxHeight : SmallInt;
  1183. DefWidth : SmallInt;
  1184. DefHeight : SmallInt;
  1185. end;
  1186. pMUI_MinMax = ^tMUI_MinMax;
  1187. tMUIP_AskMinMax = record { Custom Class }
  1188. MethodID : LongWord;
  1189. MinMaxInfo : PMUI_MinMax;
  1190. end;
  1191. pMUIP_AskMinMax = ^tMUIP_AskMinMax;
  1192. tMUIP_Cleanup = record { Custom Class }
  1193. MethodID : LongWord;
  1194. end;
  1195. pMUIP_Cleanup = ^tMUIP_Cleanup;
  1196. tMUIP_ContextMenuAdd = record
  1197. MethodID : LongWord;
  1198. menustrip : pObject_;
  1199. mx : LongInt;
  1200. my : LongInt;
  1201. mxp : pLongInt;
  1202. myp : pLongInt;
  1203. end;
  1204. pMUIP_ContextMenuAdd = ^tMUIP_ContextMenuAdd;
  1205. tMUIP_ContextMenuBuild = record
  1206. MethodID : LongWord;
  1207. mx : LongInt;
  1208. my : LongInt;
  1209. end;
  1210. pMUIP_ContextMenuBuild = ^tMUIP_ContextMenuBuild;
  1211. tMUIP_ContextMenuChoice = record
  1212. MethodID : LongWord;
  1213. item : pObject_;
  1214. end;
  1215. pMUIP_ContextMenuChoice = ^tMUIP_ContextMenuChoice;
  1216. tMUIP_CreateBubble = record
  1217. MethodID : LongWord;
  1218. x : LongInt;
  1219. y : LongInt;
  1220. txt : PAnsiChar;
  1221. flags : LongWord;
  1222. end;
  1223. pMUIP_CreateBubble = ^tMUIP_CreateBubble;
  1224. tMUIP_CreateShortHelp = record
  1225. MethodID : LongWord;
  1226. mx : LongInt;
  1227. my : LongInt;
  1228. end;
  1229. pMUIP_CreateShortHelp = ^tMUIP_CreateShortHelp;
  1230. tMUIP_DeleteBubble = record
  1231. MethodID : LongWord;
  1232. bubble : Pointer;
  1233. end;
  1234. pMUIP_DeleteBubble = ^tMUIP_DeleteBubble;
  1235. tMUIP_DeleteShortHelp = record
  1236. MethodID : LongWord;
  1237. help : PAnsiChar;
  1238. end;
  1239. pMUIP_DeleteShortHelp = ^tMUIP_DeleteShortHelp;
  1240. tMUIP_DoDrag = record
  1241. MethodID : LongWord;
  1242. touchx : LongInt;
  1243. touchy : LongInt;
  1244. flags : LongWord;
  1245. end;
  1246. pMUIP_DoDrag = ^tMUIP_DoDrag;
  1247. tMUIP_DragBegin = record
  1248. MethodID : LongWord;
  1249. obj : pObject_;
  1250. end;
  1251. pMUIP_DragBegin = ^tMUIP_DragBegin;
  1252. tMUIP_DragDrop = record
  1253. MethodID : LongWord;
  1254. obj : pObject_;
  1255. x : LongInt;
  1256. y : LongInt;
  1257. end;
  1258. pMUIP_DragDrop = ^tMUIP_DragDrop;
  1259. tMUIP_DragFinish = record
  1260. MethodID : LongWord;
  1261. obj : pObject_;
  1262. end;
  1263. pMUIP_DragFinish = ^tMUIP_DragFinish;
  1264. tMUIP_DragQuery = record
  1265. MethodID : LongWord;
  1266. obj : pObject_;
  1267. end;
  1268. pMUIP_DragQuery = ^tMUIP_DragQuery;
  1269. tMUIP_DragReport = record
  1270. MethodID : LongWord;
  1271. obj : pObject_;
  1272. x : LongInt;
  1273. y : LongInt;
  1274. update : LongInt;
  1275. end;
  1276. pMUIP_DragReport = ^tMUIP_DragReport;
  1277. tMUIP_Draw = record { Custom Class }
  1278. MethodID : LongWord;
  1279. flags : LongWord;
  1280. end;
  1281. pMUIP_Draw = ^tMUIP_Draw;
  1282. tMUIP_DrawBackground = record
  1283. MethodID : LongWord;
  1284. left : LongInt;
  1285. top : LongInt;
  1286. width : LongInt;
  1287. height : LongInt;
  1288. xoffset : LongInt;
  1289. yoffset : LongInt;
  1290. flags : LongInt;
  1291. end;
  1292. pMUIP_DrawBackground = ^tMUIP_DrawBackground;
  1293. tMUIP_HandleEvent = record { Custom Class }
  1294. MethodID : LongWord;
  1295. imsg : PIntuiMessage;
  1296. muikey : LongInt;
  1297. end;
  1298. pMUIP_HandleEvent = ^tMUIP_HandleEvent;
  1299. tMUIP_HandleInput = record { Custom Class }
  1300. MethodID : LongWord;
  1301. imsg : PIntuiMessage;
  1302. muikey : LongInt;
  1303. end;
  1304. pMUIP_HandleInput = ^tMUIP_HandleInput;
  1305. tMUIP_Hide = record { Custom Class }
  1306. MethodID : LongWord;
  1307. end;
  1308. pMUIP_Hide = ^tMUIP_Hide;
  1309. tMUIP_Setup = record { Custom Class }
  1310. MethodID : LongWord;
  1311. RenderInfo : PMUI_RenderInfo;
  1312. end;
  1313. pMUIP_Setup = ^tMUIP_Setup;
  1314. tMUIP_Show = record { Custom Class }
  1315. MethodID : LongWord;
  1316. end;
  1317. pMUIP_Show = ^tMUIP_Show;
  1318. tMUIP_UpdateConfig = record
  1319. MethodID : LongWord;
  1320. cfgid : LongWord;
  1321. redrawcount : LongInt;
  1322. redrawobj : array[0..63] of pObject_;
  1323. redrawflags : array[0..63] of byte;
  1324. end;
  1325. pMUIP_UpdateConfig = ^tMUIP_UpdateConfig;
  1326. { ** Attributes ** }
  1327. const
  1328. MUIA_Background = $8042545b; { V4 is. LongInt }
  1329. MUIA_BottomEdge = $8042e552; { V4 ..g LongInt }
  1330. MUIA_ContextMenu = $8042b704; { V11 isg Object }
  1331. MUIA_ContextMenuTrigger = $8042a2c1; { V11 ..g Object }
  1332. MUIA_ControlChar = $8042120b; { V4 isg AnsiChar }
  1333. MUIA_CycleChain = $80421ce7; { V11 isg LongInt }
  1334. MUIA_Disabled = $80423661; { V4 isg BOOL }
  1335. MUIA_DoubleBuffer = $8042a9c7; { V20 isg BOOL }
  1336. MUIA_Draggable = $80420b6e; { V11 isg BOOL }
  1337. MUIA_Dropable = $8042fbce; { V11 isg BOOL }
  1338. MUIA_FillArea = $804294a3; { V4 is. BOOL }
  1339. MUIA_FixHeight = $8042a92b; { V4 i.. LongInt }
  1340. MUIA_FixHeightTxt = $804276f2; { V4 i.. PAnsiChar }
  1341. MUIA_FixWidth = $8042a3f1; { V4 i.. LongInt }
  1342. MUIA_FixWidthTxt = $8042d044; { V4 i.. PAnsiChar }
  1343. MUIA_Font = $8042be50; { V4 i.g struct TextFont }
  1344. MUIA_Frame = $8042ac64; { V4 i.. LongInt }
  1345. MUIA_FrameDynamic = $804223c9; { V20 isg BOOL }
  1346. MUIA_FramePhantomHoriz = $8042ed76; { V4 i.. BOOL }
  1347. MUIA_FrameTitle = $8042d1c7; { V4 i.. PAnsiChar }
  1348. MUIA_FrameVisible = $80426498; { V20 isg BOOL }
  1349. MUIA_Height = $80423237; { V4 ..g LongInt }
  1350. MUIA_HorizDisappear = $80429615; { V11 isg LongInt }
  1351. MUIA_HorizWeight = $80426db9; { V4 isg ShortInt }
  1352. MUIA_InnerBottom = $8042f2c0; { V4 i.g LongInt }
  1353. MUIA_InnerLeft = $804228f8; { V4 i.g LongInt }
  1354. MUIA_InnerRight = $804297ff; { V4 i.g LongInt }
  1355. MUIA_InnerTop = $80421eb6; { V4 i.g LongInt }
  1356. MUIA_InputMode = $8042fb04; { V4 i.. LongInt }
  1357. MUIA_LeftEdge = $8042bec6; { V4 ..g LongInt }
  1358. MUIA_MaxHeight = $804293e4; { V11 i.. LongInt }
  1359. MUIA_MaxWidth = $8042f112; { V11 i.. LongInt }
  1360. MUIA_Pressed = $80423535; { V4 ..g BOOL }
  1361. MUIA_RightEdge = $8042ba82; { V4 ..g LongInt }
  1362. MUIA_Selected = $8042654b; { V4 isg BOOL }
  1363. MUIA_ShortHelp = $80428fe3; { V11 isg PAnsiChar }
  1364. MUIA_ShowMe = $80429ba8; { V4 isg BOOL }
  1365. MUIA_ShowSelState = $8042caac; { V4 i.. BOOL }
  1366. MUIA_Timer = $80426435; { V4 ..g LongInt }
  1367. MUIA_TopEdge = $8042509b; { V4 ..g LongInt }
  1368. MUIA_VertDisappear = $8042d12f; { V11 isg LongInt }
  1369. MUIA_VertWeight = $804298d0; { V4 isg WORD }
  1370. MUIA_Weight = $80421d1f; { V4 i.. WORD }
  1371. MUIA_Width = $8042b59c; { V4 ..g LongInt }
  1372. MUIA_Window = $80421591; { V4 ..g struct Window }
  1373. MUIA_WindowObject = $8042669e; { V4 ..g Object }
  1374. const
  1375. MUIV_Font_Inherit = 0;
  1376. MUIV_Font_Normal = -1;
  1377. MUIV_Font_List = -2;
  1378. MUIV_Font_Tiny = -3;
  1379. MUIV_Font_Fixed = -4;
  1380. MUIV_Font_Title = -5;
  1381. MUIV_Font_Big = -6;
  1382. MUIV_Font_Button = -7;
  1383. MUIV_Font_Slider = -8;
  1384. MUIV_Font_Gauge = -9;
  1385. MUIV_Font_Menudisplay = -10;
  1386. MUIV_Frame_None = 0;
  1387. MUIV_Frame_Button = 1;
  1388. MUIV_Frame_ImageButton = 2;
  1389. MUIV_Frame_Text = 3;
  1390. MUIV_Frame_String = 4;
  1391. MUIV_Frame_ReadList = 5;
  1392. MUIV_Frame_InputList = 6;
  1393. MUIV_Frame_Prop = 7;
  1394. MUIV_Frame_Gauge = 8;
  1395. MUIV_Frame_Group = 9;
  1396. MUIV_Frame_PopUp = 10;
  1397. MUIV_Frame_Virtual = 11;
  1398. MUIV_Frame_Slider = 12;
  1399. MUIV_Frame_SliderKnob = 13;
  1400. MUIV_Frame_GaugeInner = 14;
  1401. MUIV_Frame_Menudisplay = 15;
  1402. MUIV_Frame_MenudisplayMenu = 16;
  1403. MUIV_Frame_PropKnob = 17;
  1404. MUIV_Frame_Window = 18;
  1405. MUIV_Frame_Requester = 19;
  1406. MUIV_Frame_Page = 20;
  1407. MUIV_Frame_Register = 21;
  1408. MUIV_Frame_Count = 22;
  1409. MUIV_InputMode_None = 0;
  1410. MUIV_InputMode_RelVerify = 1;
  1411. MUIV_InputMode_Immediate = 2;
  1412. MUIV_InputMode_Toggle = 3;
  1413. { ** Dtpic }
  1414. { ************************************************************************* }
  1415. const
  1416. MUIC_Dtpic : PAnsiChar = 'Dtpic.mui';
  1417. { ** Methods ** }
  1418. { ** Attributes ** }
  1419. const
  1420. MUIA_Dtpic_Name = $80423d72; { V18 isg STRPTR }
  1421. { ** Rectangle }
  1422. { ************************************************************************* }
  1423. const
  1424. MUIC_Rectangle : PAnsiChar = 'Rectangle.mui';
  1425. { ** Attributes ** }
  1426. const
  1427. MUIA_Rectangle_BarTitle = $80426689; { V11 i.g PAnsiChar }
  1428. MUIA_Rectangle_HBar = $8042c943; { V7 i.g BOOL }
  1429. MUIA_Rectangle_VBar = $80422204; { V7 i.g BOOL }
  1430. { ** Balance }
  1431. { ************************************************************************* }
  1432. const
  1433. MUIC_Balance : PAnsiChar = 'Balance.mui';
  1434. { ** Attributes ** }
  1435. const
  1436. MUIA_Balance_Quiet = $80427486; { V20 i.. LONG }
  1437. { ** Image }
  1438. { ************************************************************************* }
  1439. const
  1440. MUIC_Image : PAnsiChar = 'Image.mui';
  1441. { ** Attributes ** }
  1442. const
  1443. MUIA_Image_FontMatch = $8042815d; { V4 i.. BOOL }
  1444. MUIA_Image_FontMatchHeight = $80429f26; { V4 i.. BOOL }
  1445. MUIA_Image_FontMatchWidth = $804239bf; { V4 i.. BOOL }
  1446. MUIA_Image_FreeHoriz = $8042da84; { V4 i.. BOOL }
  1447. MUIA_Image_FreeVert = $8042ea28; { V4 i.. BOOL }
  1448. MUIA_Image_OldImage = $80424f3d; { V4 i.. struct Image }
  1449. MUIA_Image_Spec = $804233d5; { V4 i.. AnsiChar }
  1450. MUIA_Image_State = $8042a3ad; { V4 is. LongInt }
  1451. { ** Menubar }
  1452. { ************************************************************************* }
  1453. const
  1454. MUIC_Menubar : PAnsiChar = 'Menubar.mui';
  1455. { ** Bitmap }
  1456. { ************************************************************************* }
  1457. const
  1458. MUIC_Bitmap : PAnsiChar = 'Bitmap.mui';
  1459. { ** Attributes ** }
  1460. const
  1461. MUIA_Bitmap_Alpha = $80423e71; { V20 isg ULONG }
  1462. MUIA_Bitmap_Bitmap = $804279bd; { V8 isg struct BitMap }
  1463. MUIA_Bitmap_Height = $80421560; { V8 isg LongInt }
  1464. MUIA_Bitmap_MappingTable = $8042e23d; { V8 isg UBYTE }
  1465. MUIA_Bitmap_Precision = $80420c74; { V11 isg LongInt }
  1466. MUIA_Bitmap_RemappedBitmap = $80423a47; { V11 ..g struct BitMap }
  1467. MUIA_Bitmap_SourceColors = $80425360; { V8 isg LongWord }
  1468. MUIA_Bitmap_Transparent = $80422805; { V8 isg LongInt }
  1469. MUIA_Bitmap_UseFriend = $804239d8; { V11 i.. BOOL }
  1470. MUIA_Bitmap_Width = $8042eb3a; { V8 isg LongInt }
  1471. { ** Bodychunk }
  1472. { ************************************************************************* }
  1473. const
  1474. MUIC_Bodychunk : PAnsiChar = 'Bodychunk.mui';
  1475. { ** Attributes ** }
  1476. const
  1477. MUIA_Bodychunk_Body = $8042ca67; { V8 isg UBYTE }
  1478. MUIA_Bodychunk_Compression = $8042de5f; { V8 isg UBYTE }
  1479. MUIA_Bodychunk_Depth = $8042c392; { V8 isg LongInt }
  1480. MUIA_Bodychunk_Masking = $80423b0e; { V8 isg UBYTE }
  1481. { ** Text }
  1482. { ************************************************************************* }
  1483. const
  1484. MUIC_Text : PAnsiChar = 'Text.mui';
  1485. { ** Attributes ** }
  1486. const
  1487. MUIA_Text_Contents = $8042f8dc; { V4 isg PAnsiChar }
  1488. MUIA_Text_ControlChar = $8042e6d0; { V20 isg AnsiChar }
  1489. MUIA_Text_Copy = $80427727; { V20 isg BOOL }
  1490. MUIA_Text_HiChar = $804218ff; { V4 i.. AnsiChar }
  1491. MUIA_Text_PreParse = $8042566d; { V4 isg PAnsiChar }
  1492. MUIA_Text_SetMax = $80424d0a; { V4 i.. BOOL }
  1493. MUIA_Text_SetMin = $80424e10; { V4 i.. BOOL }
  1494. MUIA_Text_SetVMax = $80420d8b; { V11 i.. BOOL }
  1495. MUIA_Text_Shorten = $80428bbd; { V20 isg LONG }
  1496. MUIA_Text_Shortened = $80425a86; { V20 ..g BOOL }
  1497. const
  1498. MUIV_Text_Shorten_Nothing = 0;
  1499. MUIV_Text_Shorten_Cutoff = 1;
  1500. MUIV_Text_Shorten_Hide = 2;
  1501. { ** Gadget }
  1502. { ************************************************************************* }
  1503. const
  1504. MUIC_Gadget : PAnsiChar = 'Gadget.mui';
  1505. { ** Attributes ** }
  1506. const
  1507. MUIA_Gadget_Gadget = $8042ec1a; { V11 ..g struct Gadget }
  1508. { ** String }
  1509. { ************************************************************************* }
  1510. const
  1511. MUIC_String : PAnsiChar = 'String.mui';
  1512. { ** Methods ** }
  1513. { ** Attributes ** }
  1514. const
  1515. MUIA_String_Accept = $8042e3e1; { V4 isg PAnsiChar }
  1516. MUIA_String_Acknowledge = $8042026c; { V4 ..g PAnsiChar }
  1517. MUIA_String_AdvanceOnCR = $804226de; { V11 isg BOOL }
  1518. MUIA_String_AttachedList = $80420fd2; { V4 isg Object }
  1519. MUIA_String_BufferPos = $80428b6c; { V4 .sg LongInt }
  1520. MUIA_String_Contents = $80428ffd; { V4 isg PAnsiChar }
  1521. MUIA_String_DisplayPos = $8042ccbf; { V4 .sg LongInt }
  1522. MUIA_String_EditHook = $80424c33; { V7 isg struct Hook }
  1523. MUIA_String_Format = $80427484; { V4 i.g LongInt }
  1524. MUIA_String_Integer = $80426e8a; { V4 isg LongWord }
  1525. MUIA_String_LonelyEditHook = $80421569; { V11 isg BOOL }
  1526. MUIA_String_MaxLen = $80424984; { V4 i.g LongInt }
  1527. MUIA_String_Reject = $8042179c; { V4 isg PAnsiChar }
  1528. MUIA_String_Secret = $80428769; { V4 i.g BOOL }
  1529. const
  1530. MUIV_String_Format_Left = 0;
  1531. MUIV_String_Format_Center = 1;
  1532. MUIV_String_Format_Right = 2;
  1533. { ** Boopsi }
  1534. { ************************************************************************* }
  1535. const
  1536. MUIC_Boopsi : PAnsiChar = 'Boopsi.mui';
  1537. { ** Attributes ** }
  1538. const
  1539. MUIA_Boopsi_Class = $80426999; { V4 isg struct IClass }
  1540. MUIA_Boopsi_ClassID = $8042bfa3; { V4 isg AnsiChar }
  1541. MUIA_Boopsi_MaxHeight = $8042757f; { V4 isg LongWord }
  1542. MUIA_Boopsi_MaxWidth = $8042bcb1; { V4 isg LongWord }
  1543. MUIA_Boopsi_MinHeight = $80422c93; { V4 isg LongWord }
  1544. MUIA_Boopsi_MinWidth = $80428fb2; { V4 isg LongWord }
  1545. MUIA_Boopsi_Object = $80420178; { V4 ..g Object }
  1546. MUIA_Boopsi_Remember = $8042f4bd; { V4 i.. LongWord }
  1547. MUIA_Boopsi_Smart = $8042b8d7; { V9 i.. BOOL }
  1548. MUIA_Boopsi_TagDrawInfo = $8042bae7; { V4 isg LongWord }
  1549. MUIA_Boopsi_TagScreen = $8042bc71; { V4 isg LongWord }
  1550. MUIA_Boopsi_TagWindow = $8042e11d; { V4 isg LongWord }
  1551. { ** Prop }
  1552. { ************************************************************************* }
  1553. const
  1554. MUIC_Prop : PAnsiChar = 'Prop.mui';
  1555. { ** Methods ** }
  1556. const
  1557. MUIM_Prop_Decrease = $80420dd1; { V16 }
  1558. MUIM_Prop_Increase = $8042cac0; { V16 }
  1559. type
  1560. tMUIP_Prop_Decrease = record
  1561. MethodID : LongWord;
  1562. amount : LongInt;
  1563. end;
  1564. pMUIP_Prop_Decrease = ^tMUIP_Prop_Decrease;
  1565. tMUIP_Prop_Increase = record
  1566. MethodID : LongWord;
  1567. amount : LongInt;
  1568. end;
  1569. pMUIP_Prop_Increase = ^tMUIP_Prop_Increase;
  1570. { ** Attributes ** }
  1571. const
  1572. MUIA_Prop_Entries = $8042fbdb; { V4 isg LongInt }
  1573. MUIA_Prop_First = $8042d4b2; { V4 isg LongInt }
  1574. MUIA_Prop_Horiz = $8042f4f3; { V4 i.g BOOL }
  1575. MUIA_Prop_Slider = $80429c3a; { V4 isg BOOL }
  1576. MUIA_Prop_UseWinBorder = $8042deee; { V13 i.. LongInt }
  1577. MUIA_Prop_Visible = $8042fea6; { V4 isg LongInt }
  1578. const
  1579. MUIV_Prop_UseWinBorder_None = 0;
  1580. MUIV_Prop_UseWinBorder_Left = 1;
  1581. MUIV_Prop_UseWinBorder_Right = 2;
  1582. MUIV_Prop_UseWinBorder_Bottom = 3;
  1583. { ** Gauge }
  1584. { ************************************************************************* }
  1585. const
  1586. MUIC_Gauge : PAnsiChar = 'Gauge.mui';
  1587. { ** Attributes ** }
  1588. const
  1589. MUIA_Gauge_Current = $8042f0dd; { V4 isg LongInt }
  1590. MUIA_Gauge_Divide = $8042d8df; { V4 isg BOOL }
  1591. MUIA_Gauge_Horiz = $804232dd; { V4 i.. BOOL }
  1592. MUIA_Gauge_InfoRate = $804253c8; { V4 isg LONG }
  1593. MUIA_Gauge_InfoText = $8042bf15; { V7 isg PAnsiChar }
  1594. MUIA_Gauge_Max = $8042bcdb; { V4 isg LongInt }
  1595. { ** Scale }
  1596. { ************************************************************************* }
  1597. const
  1598. MUIC_Scale : PAnsiChar = 'Scale.mui';
  1599. { ** Attributes ** }
  1600. const
  1601. MUIA_Scale_Horiz = $8042919a; { V4 isg BOOL }
  1602. { ** Colorfield }
  1603. { ************************************************************************* }
  1604. const
  1605. MUIC_Colorfield : PAnsiChar = 'Colorfield.mui';
  1606. { ** Attributes ** }
  1607. const
  1608. MUIA_Colorfield_Blue = $8042d3b0; { V4 isg LongWord }
  1609. MUIA_Colorfield_Green = $80424466; { V4 isg LongWord }
  1610. MUIA_Colorfield_Pen = $8042713a; { V4 ..g LongWord }
  1611. MUIA_Colorfield_Red = $804279f6; { V4 isg LongWord }
  1612. MUIA_Colorfield_RGB = $8042677a; { V4 isg LongWord }
  1613. { ** List }
  1614. { ************************************************************************* }
  1615. const
  1616. MUIC_List : PAnsiChar = 'List.mui';
  1617. { Methods }
  1618. { V4 }
  1619. const
  1620. MUIM_List_Clear = $8042ad89;
  1621. { V11 }
  1622. MUIM_List_CreateImage = $80429804;
  1623. { V11 }
  1624. MUIM_List_DeleteImage = $80420f58;
  1625. { V4 }
  1626. MUIM_List_Exchange = $8042468c;
  1627. { V4 }
  1628. MUIM_List_GetEntry = $804280ec;
  1629. { V4 }
  1630. MUIM_List_Insert = $80426c87;
  1631. { V7 }
  1632. MUIM_List_InsertSingle = $804254d5;
  1633. { V4 }
  1634. MUIM_List_Jump = $8042baab;
  1635. { V9 }
  1636. MUIM_List_Move = $804253c2;
  1637. { V6 }
  1638. MUIM_List_NextSelected = $80425f17;
  1639. { V4 }
  1640. MUIM_List_Redraw = $80427993;
  1641. { V4 }
  1642. MUIM_List_Remove = $8042647e;
  1643. { V4 }
  1644. MUIM_List_Select = $804252d8;
  1645. { V4 }
  1646. MUIM_List_Sort = $80422275;
  1647. { V11 }
  1648. MUIM_List_TestPos = $80425f48;
  1649. type
  1650. tMUIP_List_Clear = record
  1651. MethodID : LongWord;
  1652. end;
  1653. pMUIP_List_Clear = ^tMUIP_List_Clear;
  1654. tMUIP_List_CreateImage = record
  1655. MethodID : LongWord;
  1656. obj : pObject_;
  1657. flags : LongWord;
  1658. end;
  1659. pMUIP_List_CreateImage = ^tMUIP_List_CreateImage;
  1660. tMUIP_List_DeleteImage = record
  1661. MethodID : LongWord;
  1662. listimg : Pointer;
  1663. end;
  1664. pMUIP_List_DeleteImage = ^tMUIP_List_DeleteImage;
  1665. tMUIP_List_Exchange = record
  1666. MethodID : LongWord;
  1667. pos1 : LongInt;
  1668. pos2 : LongInt;
  1669. end;
  1670. pMUIP_List_Exchange = ^tMUIP_List_Exchange;
  1671. tMUIP_List_GetEntry = record
  1672. MethodID : LongWord;
  1673. pos : LongInt;
  1674. entry : PPointer;
  1675. end;
  1676. pMUIP_List_GetEntry = ^tMUIP_List_GetEntry;
  1677. tMUIP_List_Insert = record
  1678. MethodID : LongWord;
  1679. entries : PPointer;
  1680. count : LongInt;
  1681. pos : LongInt;
  1682. end;
  1683. pMUIP_List_Insert = ^tMUIP_List_Insert;
  1684. tMUIP_List_InsertSingle = record
  1685. MethodID : LongWord;
  1686. entry : Pointer;
  1687. pos : LongInt;
  1688. end;
  1689. pMUIP_List_InsertSingle = ^tMUIP_List_InsertSingle;
  1690. tMUIP_List_Jump = record
  1691. MethodID : LongWord;
  1692. pos : LongInt;
  1693. end;
  1694. pMUIP_List_Jump = ^tMUIP_List_Jump;
  1695. tMUIP_List_Move = record
  1696. MethodID : LongWord;
  1697. from : LongInt;
  1698. too : LongInt;
  1699. end;
  1700. pMUIP_List_Move = ^tMUIP_List_Move;
  1701. tMUIP_List_NextSelected = record
  1702. MethodID : LongWord;
  1703. pos : PLongInt;
  1704. end;
  1705. pMUIP_List_NextSelected = ^tMUIP_List_NextSelected;
  1706. tMUIP_List_Redraw = record
  1707. MethodID : LongWord;
  1708. pos : LongInt;
  1709. end;
  1710. pMUIP_List_Redraw = ^tMUIP_List_Redraw;
  1711. tMUIP_List_Remove = record
  1712. MethodID : LongWord;
  1713. pos : LongInt;
  1714. end;
  1715. pMUIP_List_Remove = ^tMUIP_List_Remove;
  1716. tMUIP_List_Select = record
  1717. MethodID : LongWord;
  1718. pos : LongInt;
  1719. seltype : LongInt;
  1720. state : PLongInt;
  1721. end;
  1722. pMUIP_List_Select = ^tMUIP_List_Select;
  1723. tMUIP_List_Sort = record
  1724. MethodID : LongWord;
  1725. end;
  1726. pMUIP_List_Sort = ^tMUIP_List_Sort;
  1727. tMUIP_List_TestPos = record
  1728. MethodID : LongWord;
  1729. x : LongInt;
  1730. y : LongInt;
  1731. res : PMUI_List_TestPos_Result;
  1732. end;
  1733. pMUIP_List_TestPos = ^tMUIP_List_TestPos;
  1734. { Attributes }
  1735. { V4 isg LongInt }
  1736. const
  1737. MUIA_List_Active = $8042391c;
  1738. { V4 i.. BOOL }
  1739. MUIA_List_AdjustHeight = $8042850d;
  1740. { V4 i.. BOOL }
  1741. MUIA_List_AdjustWidth = $8042354a;
  1742. { V11 isg BOOL }
  1743. MUIA_List_AutoVisible = $8042a445;
  1744. { V4 is. struct Hook }
  1745. MUIA_List_CompareHook = $80425c14;
  1746. { V4 is. struct Hook }
  1747. MUIA_List_ConstructHook = $8042894f;
  1748. { V4 is. struct Hook }
  1749. MUIA_List_DestructHook = $804297ce;
  1750. { V4 is. struct Hook }
  1751. MUIA_List_DisplayHook = $8042b4d5;
  1752. { V11 isg BOOL }
  1753. MUIA_List_DragSortable = $80426099;
  1754. { V11 ..g LongInt }
  1755. MUIA_List_DropMark = $8042aba6;
  1756. { V4 ..g LongInt }
  1757. MUIA_List_Entries = $80421654;
  1758. { V4 ..g LongInt }
  1759. MUIA_List_First = $804238d4;
  1760. { V4 isg PAnsiChar }
  1761. MUIA_List_Format = $80423c0a;
  1762. { V9 ..g LongInt }
  1763. MUIA_List_InsertPosition = $8042d0cd;
  1764. { V4 i.. LongInt }
  1765. MUIA_List_MinLineHeight = $8042d1c3;
  1766. { V4 is. struct Hook }
  1767. MUIA_List_MultiTestHook = $8042c2c6;
  1768. { V13 i.. Pointer }
  1769. MUIA_List_Pool = $80423431;
  1770. { V13 i.. LongWord }
  1771. MUIA_List_PoolPuddleSize = $8042a4eb;
  1772. { V13 i.. LongWord }
  1773. MUIA_List_PoolThreshSize = $8042c48c;
  1774. { V4 .s. BOOL }
  1775. MUIA_List_Quiet = $8042d8c7;
  1776. { V11 isg BOOL }
  1777. MUIA_List_ShowDropMarks = $8042c6f3;
  1778. { V4 i.. Pointer }
  1779. MUIA_List_SourceArray = $8042c0a0;
  1780. { V6 isg AnsiChar }
  1781. MUIA_List_Title = $80423e66;
  1782. { V4 ..g LongInt }
  1783. MUIA_List_Visible = $8042191f;
  1784. MUIV_List_Active_Off = -(1);
  1785. MUIV_List_Active_Top = -(2);
  1786. MUIV_List_Active_Bottom = -(3);
  1787. MUIV_List_Active_Up = -(4);
  1788. MUIV_List_Active_Down = -(5);
  1789. MUIV_List_Active_PageUp = -(6);
  1790. MUIV_List_Active_PageDown = -(7);
  1791. MUIV_List_ConstructHook_String = -(1);
  1792. MUIV_List_CopyHook_String = -(1);
  1793. MUIV_List_CursorType_None = 0;
  1794. MUIV_List_CursorType_Bar = 1;
  1795. MUIV_List_CursorType_Rect = 2;
  1796. MUIV_List_DestructHook_String = -(1);
  1797. { }
  1798. { Floattext }
  1799. { }
  1800. const
  1801. MUIC_Floattext : PAnsiChar = 'Floattext.mui';
  1802. { Attributes }
  1803. { V4 isg BOOL }
  1804. const
  1805. MUIA_Floattext_Justify = $8042dc03;
  1806. { V4 is. PAnsiChar }
  1807. MUIA_Floattext_SkipChars = $80425c7d;
  1808. { V4 is. LongInt }
  1809. MUIA_Floattext_TabSize = $80427d17;
  1810. { V4 isg PAnsiChar }
  1811. MUIA_Floattext_Text = $8042d16a;
  1812. { }
  1813. { Volumelist }
  1814. { }
  1815. const
  1816. MUIC_Volumelist : PAnsiChar = 'Volumelist.mui';
  1817. { }
  1818. { Scrmodelist }
  1819. { }
  1820. const
  1821. MUIC_Scrmodelist : PAnsiChar = 'Scrmodelist.mui';
  1822. { Attributes }
  1823. { }
  1824. { Dirlist }
  1825. { }
  1826. const
  1827. MUIC_Dirlist : PAnsiChar = 'Dirlist.mui';
  1828. { Methods }
  1829. { V4 }
  1830. const
  1831. MUIM_Dirlist_ReRead = $80422d71;
  1832. type
  1833. MUIP_Dirlist_ReRead = record
  1834. MethodID : LongWord;
  1835. end;
  1836. { Attributes }
  1837. { V4 is. PAnsiChar }
  1838. const
  1839. MUIA_Dirlist_AcceptPattern = $8042760a;
  1840. { V4 isg PAnsiChar }
  1841. MUIA_Dirlist_Directory = $8042ea41;
  1842. { V4 is. BOOL }
  1843. MUIA_Dirlist_DrawersOnly = $8042b379;
  1844. { V4 is. BOOL }
  1845. MUIA_Dirlist_FilesOnly = $8042896a;
  1846. { V4 is. BOOL }
  1847. MUIA_Dirlist_FilterDrawers = $80424ad2;
  1848. { V4 is. struct Hook }
  1849. MUIA_Dirlist_FilterHook = $8042ae19;
  1850. { V6 is. BOOL }
  1851. MUIA_Dirlist_MultiSelDirs = $80428653;
  1852. { V4 ..g LongInt }
  1853. MUIA_Dirlist_NumBytes = $80429e26;
  1854. { V4 ..g LongInt }
  1855. MUIA_Dirlist_NumDrawers = $80429cb8;
  1856. { V4 ..g LongInt }
  1857. MUIA_Dirlist_NumFiles = $8042a6f0;
  1858. { V4 ..g PAnsiChar }
  1859. MUIA_Dirlist_Path = $80426176;
  1860. { V4 is. BOOL }
  1861. MUIA_Dirlist_RejectIcons = $80424808;
  1862. { V4 is. PAnsiChar }
  1863. MUIA_Dirlist_RejectPattern = $804259c7;
  1864. { V4 is. LongInt }
  1865. MUIA_Dirlist_SortDirs = $8042bbb9;
  1866. { V4 is. BOOL }
  1867. MUIA_Dirlist_SortHighLow = $80421896;
  1868. { V4 is. LongInt }
  1869. MUIA_Dirlist_SortType = $804228bc;
  1870. { V4 ..g LongInt }
  1871. MUIA_Dirlist_Status = $804240de;
  1872. MUIV_Dirlist_SortDirs_First = 0;
  1873. MUIV_Dirlist_SortDirs_Last = 1;
  1874. MUIV_Dirlist_SortDirs_Mix = 2;
  1875. MUIV_Dirlist_SortType_Name = 0;
  1876. MUIV_Dirlist_SortType_Date = 1;
  1877. MUIV_Dirlist_SortType_Size = 2;
  1878. MUIV_Dirlist_Status_Invalid = 0;
  1879. MUIV_Dirlist_Status_Reading = 1;
  1880. MUIV_Dirlist_Status_Valid = 2;
  1881. { }
  1882. { Numeric }
  1883. { }
  1884. const
  1885. MUIC_Numeric : PAnsiChar = 'Numeric.mui';
  1886. { Methods }
  1887. { V11 }
  1888. const
  1889. MUIM_Numeric_Decrease = $804243a7;
  1890. { V11 }
  1891. MUIM_Numeric_Increase = $80426ecd;
  1892. { V11 }
  1893. MUIM_Numeric_ScaleToValue = $8042032c;
  1894. { V11 }
  1895. MUIM_Numeric_SetDefault = $8042ab0a;
  1896. { V11 }
  1897. MUIM_Numeric_Stringify = $80424891;
  1898. { V11 }
  1899. MUIM_Numeric_ValueToScale = $80423e4f;
  1900. type
  1901. tMUIP_Numeric_Decrease = record
  1902. MethodID : LongWord;
  1903. amount : LongInt;
  1904. end;
  1905. pMUIP_Numeric_Decrease = ^tMUIP_Numeric_Decrease;
  1906. tMUIP_Numeric_Increase = record
  1907. MethodID : LongWord;
  1908. amount : LongInt;
  1909. end;
  1910. pMUIP_Numeric_Increase = ^tMUIP_Numeric_Increase;
  1911. tMUIP_Numeric_ScaleToValue = record
  1912. MethodID : LongWord;
  1913. scalemin : LongInt;
  1914. scalemax : LongInt;
  1915. scale : LongInt;
  1916. end;
  1917. pMUIP_Numeric_ScaleToValue = ^tMUIP_Numeric_ScaleToValue;
  1918. tMUIP_Numeric_SetDefault = record
  1919. MethodID : LongWord;
  1920. end;
  1921. pMUIP_Numeric_SetDefault = ^tMUIP_Numeric_SetDefault;
  1922. tMUIP_Numeric_Stringify = record
  1923. MethodID : LongWord;
  1924. value : LongInt;
  1925. end;
  1926. pMUIP_Numeric_Stringify = ^tMUIP_Numeric_Stringify;
  1927. tMUIP_Numeric_ValueToScale = record
  1928. MethodID : LongWord;
  1929. scalemin : LongInt;
  1930. scalemax : LongInt;
  1931. end;
  1932. pMUIP_Numeric_ValueToScale = ^tMUIP_Numeric_ValueToScale;
  1933. { Attributes }
  1934. { V11 isg BOOL }
  1935. const
  1936. MUIA_Numeric_CheckAllSizes = $80421594;
  1937. { V11 isg LongInt }
  1938. MUIA_Numeric_Default = $804263e8;
  1939. { V11 isg PAnsiChar }
  1940. MUIA_Numeric_Format = $804263e9;
  1941. { V11 isg LongInt }
  1942. MUIA_Numeric_Max = $8042d78a;
  1943. { V11 isg LongInt }
  1944. MUIA_Numeric_Min = $8042e404;
  1945. { V11 isg BOOL }
  1946. MUIA_Numeric_Reverse = $8042f2a0;
  1947. { V11 isg BOOL }
  1948. MUIA_Numeric_RevLeftRight = $804294a7;
  1949. { V11 isg BOOL }
  1950. MUIA_Numeric_RevUpDown = $804252dd;
  1951. { V11 isg LongInt }
  1952. MUIA_Numeric_Value = $8042ae3a;
  1953. { }
  1954. { Knob }
  1955. { }
  1956. const
  1957. MUIC_Knob : PAnsiChar = 'Knob.mui';
  1958. { }
  1959. { Levelmeter }
  1960. { }
  1961. const
  1962. MUIC_Levelmeter : PAnsiChar = 'Levelmeter.mui';
  1963. { Attributes }
  1964. { V11 isg PAnsiChar }
  1965. const
  1966. MUIA_Levelmeter_Label = $80420dd5;
  1967. { }
  1968. { Numericbutton }
  1969. { }
  1970. const
  1971. MUIC_Numericbutton : PAnsiChar = 'Numericbutton.mui';
  1972. { }
  1973. { Slider }
  1974. { }
  1975. const
  1976. MUIC_Slider : PAnsiChar = 'Slider.mui';
  1977. { Attributes }
  1978. { V11 isg BOOL }
  1979. const
  1980. MUIA_Slider_Horiz = $8042fad1;
  1981. { V6 i.. BOOL }
  1982. const
  1983. MUIA_Slider_Quiet = $80420b26;
  1984. { }
  1985. { Framedisplay }
  1986. { }
  1987. const
  1988. MUIC_Framedisplay : PAnsiChar = 'Framedisplay.mui';
  1989. { Attributes }
  1990. { }
  1991. { Popframe }
  1992. { }
  1993. const
  1994. MUIC_Popframe : PAnsiChar = 'Popframe.mui';
  1995. { }
  1996. { Imagedisplay }
  1997. { }
  1998. const
  1999. MUIC_Imagedisplay : PAnsiChar = 'Imagedisplay.mui';
  2000. { Attributes }
  2001. { }
  2002. { Popimage }
  2003. { }
  2004. const
  2005. MUIC_Popimage : PAnsiChar = 'Popimage.mui';
  2006. { }
  2007. { Pendisplay }
  2008. { }
  2009. const
  2010. MUIC_Pendisplay : PAnsiChar = 'Pendisplay.mui';
  2011. { Methods }
  2012. { V13 }
  2013. const
  2014. MUIM_Pendisplay_SetColormap = $80426c80;
  2015. { V13 }
  2016. MUIM_Pendisplay_SetMUIPen = $8042039d;
  2017. { V13 }
  2018. MUIM_Pendisplay_SetRGB = $8042c131;
  2019. type
  2020. MUIP_Pendisplay_SetColormap = record
  2021. MethodID : LongWord;
  2022. colormap : LongInt;
  2023. end;
  2024. MUIP_Pendisplay_SetMUIPen = record
  2025. MethodID : LongWord;
  2026. muipen : LongInt;
  2027. end;
  2028. MUIP_Pendisplay_SetRGB = record
  2029. MethodID : LongWord;
  2030. red : LongWord;
  2031. green : LongWord;
  2032. blue : LongWord;
  2033. end;
  2034. { Attributes }
  2035. { V13 ..g Object }
  2036. const
  2037. MUIA_Pendisplay_Pen = $8042a748;
  2038. { V13 isg Object }
  2039. MUIA_Pendisplay_Reference = $8042dc24;
  2040. { V11 isg struct MUI_RGBcolor }
  2041. MUIA_Pendisplay_RGBcolor = $8042a1a9;
  2042. { V11 isg struct MUI_PenSpec }
  2043. MUIA_Pendisplay_Spec = $8042a204;
  2044. { }
  2045. { Poppen }
  2046. { }
  2047. const
  2048. MUIC_Poppen : PAnsiChar = 'Poppen.mui';
  2049. { }
  2050. { Group }
  2051. { }
  2052. const
  2053. MUIC_Group : PAnsiChar = 'Group.mui';
  2054. { Methods }
  2055. { V11 }
  2056. const
  2057. MUIM_Group_ExitChange = $8042d1cc;
  2058. { V11 }
  2059. MUIM_Group_InitChange = $80420887;
  2060. { V4 }
  2061. MUIM_Group_Sort = $80427417;
  2062. type
  2063. tMUIP_Group_ExitChange = record
  2064. MethodID : LongWord;
  2065. end;
  2066. pMUIP_Group_ExitChange = ^tMUIP_Group_ExitChange;
  2067. tMUIP_Group_InitChange = record
  2068. MethodID : LongWord;
  2069. end;
  2070. pMUIP_Group_InitChange = ^tMUIP_Group_InitChange;
  2071. tMUIP_Group_Sort = record
  2072. MethodID : LongWord;
  2073. obj : array[0..0] of pObject_;
  2074. end;
  2075. pMUIP_Group_Sort = ^tMUIP_Group_Sort;
  2076. { Attributes }
  2077. { V5 isg LongInt }
  2078. const
  2079. MUIA_Group_ActivePage = $80424199;
  2080. { V4 i.. Object }
  2081. MUIA_Group_Child = $804226e6;
  2082. { V4 ..g struct List }
  2083. MUIA_Group_ChildList = $80424748;
  2084. { V4 is. LongInt }
  2085. MUIA_Group_Columns = $8042f416;
  2086. { V4 i.. BOOL }
  2087. MUIA_Group_Horiz = $8042536b;
  2088. { V4 isg LongInt }
  2089. MUIA_Group_HorizSpacing = $8042c651;
  2090. { V11 i.. struct Hook }
  2091. MUIA_Group_LayoutHook = $8042c3b2;
  2092. { V5 i.. BOOL }
  2093. MUIA_Group_PageMode = $80421a5f;
  2094. { V4 is. LongInt }
  2095. MUIA_Group_Rows = $8042b68f;
  2096. { V4 i.. BOOL }
  2097. MUIA_Group_SameHeight = $8042037e;
  2098. { V4 i.. BOOL }
  2099. MUIA_Group_SameSize = $80420860;
  2100. { V4 i.. BOOL }
  2101. MUIA_Group_SameWidth = $8042b3ec;
  2102. { V4 is. LongInt }
  2103. MUIA_Group_Spacing = $8042866d;
  2104. { V4 isg LongInt }
  2105. MUIA_Group_VertSpacing = $8042e1bf;
  2106. MUIV_Group_ActivePage_First = 0;
  2107. MUIV_Group_ActivePage_Last = -(1);
  2108. MUIV_Group_ActivePage_Prev = -(2);
  2109. MUIV_Group_ActivePage_Next = -(3);
  2110. MUIV_Group_ActivePage_Advance = -(4);
  2111. { }
  2112. { Mccprefs }
  2113. { }
  2114. const
  2115. MUIC_Mccprefs : PAnsiChar = 'Mccprefs.mui';
  2116. { }
  2117. { Register }
  2118. { }
  2119. const
  2120. MUIC_Register : PAnsiChar = 'Register.mui';
  2121. { Attributes }
  2122. { V7 i.g BOOL }
  2123. const
  2124. MUIA_Register_Frame = $8042349b;
  2125. { V7 i.g PAnsiChar }
  2126. MUIA_Register_Titles = $804297ec;
  2127. { }
  2128. { Penadjust }
  2129. { }
  2130. const
  2131. MUIC_Penadjust : PAnsiChar= 'Penadjust.mui';
  2132. { Methods }
  2133. { Attributes }
  2134. { V11 i.. BOOL }
  2135. const
  2136. MUIA_Penadjust_PSIMode = $80421cbb;
  2137. { }
  2138. { Settingsgroup }
  2139. { }
  2140. const
  2141. MUIC_Settingsgroup : PAnsiChar = 'Settingsgroup.mui';
  2142. { Methods }
  2143. { V11 }
  2144. const
  2145. MUIM_Settingsgroup_ConfigToGadgets = $80427043;
  2146. { V11 }
  2147. MUIM_Settingsgroup_GadgetsToConfig = $80425242;
  2148. type
  2149. tMUIP_Settingsgroup_ConfigToGadgets = record
  2150. MethodID : LongWord;
  2151. configdata : pObject_;
  2152. end;
  2153. pMUIP_Settingsgroup_ConfigToGadgets = ^tMUIP_Settingsgroup_ConfigToGadgets;
  2154. tMUIP_Settingsgroup_GadgetsToConfig = record
  2155. MethodID : LongWord;
  2156. configdata : pObject_;
  2157. end;
  2158. pMUIP_Settingsgroup_GadgetsToConfig = ^tMUIP_Settingsgroup_GadgetsToConfig;
  2159. { Attributes }
  2160. { }
  2161. { Settings }
  2162. { }
  2163. const
  2164. MUIC_Settings : PAnsiChar = 'Settings.mui';
  2165. { Methods }
  2166. { Attributes }
  2167. { }
  2168. { Frameadjust }
  2169. { }
  2170. const
  2171. MUIC_Frameadjust : PAnsiChar = 'Frameadjust.mui';
  2172. { Methods }
  2173. { Attributes }
  2174. { }
  2175. { Imageadjust }
  2176. { }
  2177. const
  2178. MUIC_Imageadjust : PAnsiChar = 'Imageadjust.mui';
  2179. { Methods }
  2180. { Attributes }
  2181. const
  2182. MUIV_Imageadjust_Type_All = 0;
  2183. MUIV_Imageadjust_Type_Image = 1;
  2184. MUIV_Imageadjust_Type_Background = 2;
  2185. MUIV_Imageadjust_Type_Pen = 3;
  2186. { }
  2187. { Virtgroup }
  2188. { }
  2189. const
  2190. MUIC_Virtgroup : PAnsiChar = 'Virtgroup.mui';
  2191. { Methods }
  2192. { Attributes }
  2193. { V6 ..g LongInt }
  2194. const
  2195. MUIA_Virtgroup_Height = $80423038;
  2196. { V11 i.. BOOL }
  2197. MUIA_Virtgroup_Input = $80427f7e;
  2198. { V6 isg LongInt }
  2199. MUIA_Virtgroup_Left = $80429371;
  2200. { V6 isg LongInt }
  2201. MUIA_Virtgroup_Top = $80425200;
  2202. { V6 ..g LongInt }
  2203. MUIA_Virtgroup_Width = $80427c49;
  2204. { }
  2205. { Scrollgroup }
  2206. { }
  2207. const
  2208. MUIC_Scrollgroup : PAnsiChar = 'Scrollgroup.mui';
  2209. { Methods }
  2210. { Attributes }
  2211. { V4 i.g Object }
  2212. const
  2213. MUIA_Scrollgroup_Contents = $80421261;
  2214. { V9 i.. BOOL }
  2215. MUIA_Scrollgroup_FreeHoriz = $804292f3;
  2216. { V9 i.. BOOL }
  2217. MUIA_Scrollgroup_FreeVert = $804224f2;
  2218. { V16 ..g Object }
  2219. MUIA_Scrollgroup_HorizBar = $8042b63d;
  2220. { V13 i.. BOOL }
  2221. MUIA_Scrollgroup_UseWinBorder = $804284c1;
  2222. { V16 ..g Object }
  2223. MUIA_Scrollgroup_VertBar = $8042cdc0;
  2224. { }
  2225. { Scrollbar }
  2226. { }
  2227. const
  2228. MUIC_Scrollbar : PAnsiChar = 'Scrollbar.mui';
  2229. { Attributes }
  2230. { V11 i.. LongInt }
  2231. const
  2232. MUIA_Scrollbar_Type = $8042fb6b;
  2233. MUIV_Scrollbar_Type_Default = 0;
  2234. MUIV_Scrollbar_Type_Bottom = 1;
  2235. MUIV_Scrollbar_Type_Top = 2;
  2236. MUIV_Scrollbar_Type_Sym = 3;
  2237. { }
  2238. { Listview }
  2239. { }
  2240. const
  2241. MUIC_Listview : PAnsiChar = 'Listview.mui';
  2242. { Attributes }
  2243. { V7 ..g LongInt }
  2244. const
  2245. MUIA_Listview_ClickColumn = $8042d1b3;
  2246. { V7 isg LongInt }
  2247. MUIA_Listview_DefClickColumn = $8042b296;
  2248. { V4 i.g BOOL }
  2249. MUIA_Listview_DoubleClick = $80424635;
  2250. { V11 isg LongInt }
  2251. MUIA_Listview_DragType = $80425cd3;
  2252. { V4 i.. BOOL }
  2253. MUIA_Listview_Input = $8042682d;
  2254. { V4 i.g Object }
  2255. MUIA_Listview_List = $8042bcce;
  2256. { V7 i.. LongInt }
  2257. MUIA_Listview_MultiSelect = $80427e08;
  2258. { V10 i.. BOOL }
  2259. MUIA_Listview_ScrollerPos = $8042b1b4;
  2260. { V4 ..g BOOL }
  2261. MUIA_Listview_SelectChange = $8042178f;
  2262. MUIV_Listview_DragType_None = 0;
  2263. MUIV_Listview_DragType_Immediate = 1;
  2264. MUIV_Listview_MultiSelect_None = 0;
  2265. MUIV_Listview_MultiSelect_Default = 1;
  2266. MUIV_Listview_MultiSelect_Shifted = 2;
  2267. MUIV_Listview_MultiSelect_Always = 3;
  2268. MUIV_Listview_ScrollerPos_Default = 0;
  2269. MUIV_Listview_ScrollerPos_Left = 1;
  2270. MUIV_Listview_ScrollerPos_Right = 2;
  2271. MUIV_Listview_ScrollerPos_None = 3;
  2272. { }
  2273. { Radio }
  2274. { }
  2275. const
  2276. MUIC_Radio : PAnsiChar = 'Radio.mui';
  2277. { Attributes }
  2278. { V4 isg LongInt }
  2279. const
  2280. MUIA_Radio_Active = $80429b41;
  2281. { V4 i.. PAnsiChar }
  2282. MUIA_Radio_Entries = $8042b6a1;
  2283. { }
  2284. { Cycle }
  2285. { }
  2286. const
  2287. MUIC_Cycle : PAnsiChar = 'Cycle.mui';
  2288. { Attributes }
  2289. { V4 isg LongInt }
  2290. const
  2291. MUIA_Cycle_Active = $80421788;
  2292. { V4 i.. PAnsiChar }
  2293. MUIA_Cycle_Entries = $80420629;
  2294. MUIV_Cycle_Active_Next = -(1);
  2295. MUIV_Cycle_Active_Prev = -(2);
  2296. { }
  2297. { Coloradjust }
  2298. { }
  2299. const
  2300. MUIC_Coloradjust : PAnsiChar = 'Coloradjust.mui';
  2301. { Methods }
  2302. { Attributes }
  2303. { V4 isg LongWord }
  2304. const
  2305. MUIA_Coloradjust_Blue = $8042b8a3;
  2306. { V4 isg LongWord }
  2307. MUIA_Coloradjust_Green = $804285ab;
  2308. { V4 isg LongWord }
  2309. MUIA_Coloradjust_ModeID = $8042ec59;
  2310. { V4 isg LongWord }
  2311. MUIA_Coloradjust_Red = $80420eaa;
  2312. { V4 isg LongWord }
  2313. MUIA_Coloradjust_RGB = $8042f899;
  2314. { }
  2315. { Palette }
  2316. { }
  2317. const
  2318. MUIC_Palette : PAnsiChar = 'Palette.mui';
  2319. { Attributes }
  2320. { V6 i.g struct MUI_Palette_Entry }
  2321. const
  2322. MUIA_Palette_Entries = $8042a3d8;
  2323. { V6 isg BOOL }
  2324. MUIA_Palette_Groupable = $80423e67;
  2325. { V6 isg AnsiChar }
  2326. MUIA_Palette_Names = $8042c3a2;
  2327. { }
  2328. { Popstring }
  2329. { }
  2330. const
  2331. MUIC_Popstring : PAnsiChar = 'Popstring.mui';
  2332. { Methods }
  2333. { V7 }
  2334. const
  2335. MUIM_Popstring_Close = $8042dc52;
  2336. { V7 }
  2337. MUIM_Popstring_Open = $804258ba;
  2338. type
  2339. tMUIP_Popstring_Close = record
  2340. MethodID : LongWord;
  2341. result : LongInt;
  2342. end;
  2343. pMUIP_Popstring_Close = ^tMUIP_Popstring_Close;
  2344. tMUIP_Popstring_Open = record
  2345. MethodID : LongWord;
  2346. end;
  2347. pMUIP_Popstring_Open = ^tMUIP_Popstring_Open;
  2348. { Attributes }
  2349. { V7 i.g Object }
  2350. const
  2351. MUIA_Popstring_Button = $8042d0b9;
  2352. { V7 isg struct Hook }
  2353. MUIA_Popstring_CloseHook = $804256bf;
  2354. { V7 isg struct Hook }
  2355. MUIA_Popstring_OpenHook = $80429d00;
  2356. { V7 i.g Object }
  2357. MUIA_Popstring_String = $804239ea;
  2358. { V7 isg BOOL }
  2359. MUIA_Popstring_Toggle = $80422b7a;
  2360. { }
  2361. { Popobject }
  2362. { }
  2363. const
  2364. MUIC_Popobject : PAnsiChar = 'Popobject.mui';
  2365. { Attributes }
  2366. { V7 isg BOOL }
  2367. const
  2368. MUIA_Popobject_Follow = $80424cb5;
  2369. { V7 isg BOOL }
  2370. MUIA_Popobject_Light = $8042a5a3;
  2371. { V7 i.g Object }
  2372. MUIA_Popobject_Object = $804293e3;
  2373. { V7 isg struct Hook }
  2374. MUIA_Popobject_ObjStrHook = $8042db44;
  2375. { V7 isg struct Hook }
  2376. MUIA_Popobject_StrObjHook = $8042fbe1;
  2377. { V7 isg BOOL }
  2378. MUIA_Popobject_Volatile = $804252ec;
  2379. { V9 isg struct Hook }
  2380. MUIA_Popobject_WindowHook = $8042f194;
  2381. { }
  2382. { Poplist }
  2383. { }
  2384. const
  2385. MUIC_Poplist : PAnsiChar = 'Poplist.mui';
  2386. { Attributes }
  2387. { V8 i.. AnsiChar }
  2388. const
  2389. MUIA_Poplist_Array = $8042084c;
  2390. { }
  2391. { Popscreen }
  2392. { }
  2393. const
  2394. MUIC_Popscreen : PAnsiChar = 'Popscreen.mui';
  2395. { Attributes }
  2396. { }
  2397. { Popasl }
  2398. { }
  2399. const
  2400. MUIC_Popasl : PAnsiChar = 'Popasl.mui';
  2401. { Attributes }
  2402. { V7 ..g BOOL }
  2403. const
  2404. MUIA_Popasl_Active = $80421b37;
  2405. { V7 isg struct Hook }
  2406. MUIA_Popasl_StartHook = $8042b703;
  2407. { V7 isg struct Hook }
  2408. MUIA_Popasl_StopHook = $8042d8d2;
  2409. { V7 i.g LongWord }
  2410. MUIA_Popasl_Type = $8042df3d;
  2411. { }
  2412. { Semaphore }
  2413. { }
  2414. const
  2415. MUIC_Semaphore : PAnsiChar = 'Semaphore.mui';
  2416. { Methods }
  2417. { V11 }
  2418. const
  2419. MUIM_Semaphore_Attempt = $80426ce2;
  2420. { V11 }
  2421. MUIM_Semaphore_AttemptShared = $80422551;
  2422. { V11 }
  2423. MUIM_Semaphore_Obtain = $804276f0;
  2424. { V11 }
  2425. MUIM_Semaphore_ObtainShared = $8042ea02;
  2426. { V11 }
  2427. MUIM_Semaphore_Release = $80421f2d;
  2428. type
  2429. tMUIP_Semaphore_Attempt = record
  2430. MethodID : LongWord;
  2431. end;
  2432. pMUIP_Semaphore_Attempt = ^tMUIP_Semaphore_Attempt;
  2433. tMUIP_Semaphore_AttemptShared = record
  2434. MethodID : LongWord;
  2435. end;
  2436. pMUIP_Semaphore_AttemptShared = ^tMUIP_Semaphore_AttemptShared;
  2437. tMUIP_Semaphore_Obtain = record
  2438. MethodID : LongWord;
  2439. end;
  2440. pMUIP_Semaphore_Obtain = ^tMUIP_Semaphore_Obtain;
  2441. tMUIP_Semaphore_ObtainShared = record
  2442. MethodID : LongWord;
  2443. end;
  2444. pMUIP_Semaphore_ObtainShared = ^tMUIP_Semaphore_ObtainShared;
  2445. tMUIP_Semaphore_Release = record
  2446. MethodID : LongWord;
  2447. end;
  2448. pMUIP_Semaphore_Release = ^tMUIP_Semaphore_Release;
  2449. { }
  2450. { Applist }
  2451. { }
  2452. const
  2453. MUIC_Applist : PAnsiChar = 'Applist.mui';
  2454. { Methods }
  2455. { }
  2456. { Cclist }
  2457. { }
  2458. const
  2459. MUIC_Cclist : PAnsiChar = 'Cclist.mui';
  2460. { Methods }
  2461. { }
  2462. { Dataspace }
  2463. { }
  2464. const
  2465. MUIC_Dataspace : PAnsiChar = 'Dataspace.mui';
  2466. { Methods }
  2467. { V11 }
  2468. const
  2469. MUIM_Dataspace_Add = $80423366;
  2470. { V11 }
  2471. MUIM_Dataspace_Clear = $8042b6c9;
  2472. { V11 }
  2473. MUIM_Dataspace_Find = $8042832c;
  2474. { V11 }
  2475. MUIM_Dataspace_Merge = $80423e2b;
  2476. { V11 }
  2477. MUIM_Dataspace_ReadIFF = $80420dfb;
  2478. { V11 }
  2479. MUIM_Dataspace_Remove = $8042dce1;
  2480. { V11 }
  2481. MUIM_Dataspace_WriteIFF = $80425e8e;
  2482. type
  2483. tMUIP_Dataspace_Add = record
  2484. MethodID : LongWord;
  2485. data : Pointer;
  2486. len : LongInt;
  2487. id : LongWord;
  2488. end;
  2489. pMUIP_Dataspace_Add = ^tMUIP_Dataspace_Add;
  2490. tMUIP_Dataspace_Clear = record
  2491. MethodID : LongWord;
  2492. end;
  2493. pMUIP_Dataspace_Clear = ^tMUIP_Dataspace_Clear;
  2494. tMUIP_Dataspace_Find = record
  2495. MethodID : LongWord;
  2496. id : LongWord;
  2497. end;
  2498. pMUIP_Dataspace_Find = ^tMUIP_Dataspace_Find;
  2499. tMUIP_Dataspace_Merge = record
  2500. MethodID : LongWord;
  2501. dataspace : pObject_;
  2502. end;
  2503. pMUIP_Dataspace_Merge = ^tMUIP_Dataspace_Merge;
  2504. tMUIP_Dataspace_ReadIFF = record
  2505. MethodID : LongWord;
  2506. handle : Pointer; // PIFFHandle; FIX ME!!
  2507. end;
  2508. pMUIP_Dataspace_ReadIFF = ^tMUIP_Dataspace_ReadIFF;
  2509. tMUIP_Dataspace_Remove = record
  2510. MethodID : LongWord;
  2511. id : LongWord;
  2512. end;
  2513. pMUIP_Dataspace_Remove = ^tMUIP_Dataspace_Remove;
  2514. tMUIP_Dataspace_WriteIFF = record
  2515. MethodID : LongWord;
  2516. handle : Pointer; // PIFFHandle; FIX ME!!!
  2517. type_ : LongWord;
  2518. id : LongWord;
  2519. end;
  2520. pMUIP_Dataspace_WriteIFF = ^tMUIP_Dataspace_WriteIFF;
  2521. { Attributes }
  2522. { V11 i.. Pointer }
  2523. const
  2524. MUIA_Dataspace_Pool = $80424cf9;
  2525. { }
  2526. { Configdata }
  2527. { }
  2528. const
  2529. MUIC_Configdata : PAnsiChar = 'Configdata.mui';
  2530. { Methods }
  2531. { Attributes }
  2532. { }
  2533. { End of automatic header file creation }
  2534. { }
  2535. {
  2536. Structures and Macros for creating custom classes.
  2537. }
  2538. {
  2539. GENERAL NOTES:
  2540. - Everything described in this header file is only valid within
  2541. MUI classes. You may never use any of these things out of
  2542. a class, e.g. in a traditional MUI application.
  2543. - Except when otherwise stated, all structures are strictly read only.
  2544. }
  2545. { Global information for every object }
  2546. { ... private data follows ... }
  2547. type
  2548. tMUI_GlobalInfo = record
  2549. priv0 : LongWord;
  2550. mgi_ApplicationObject : pObject_;
  2551. end;
  2552. pMUI_GlobalInfo = ^tMUI_GlobalInfo;
  2553. { Instance data of notify class }
  2554. tMUI_NotifyData = record
  2555. mnd_GlobalInfo : PMUI_GlobalInfo;
  2556. mnd_UserData : LongWord;
  2557. mnd_ObjectID : LongWord;
  2558. priv1 : LongWord;
  2559. priv2 : LongWord;
  2560. priv3 : LongWord;
  2561. priv4 : LongWord;
  2562. end;
  2563. pMUI_NotifyData = ^tMUI_NotifyData;
  2564. { use this if a dimension is not limited. }
  2565. const
  2566. MUI_MAXMAX = 10000;
  2567. { Hook message for custom layout }
  2568. { type of message (see defines below) }
  2569. { list of this groups children, traverse with NextObject() }
  2570. { results for MUILM_MINMAX }
  2571. { size (and result) for MUILM_LAYOUT }
  2572. type
  2573. tMUI_LayoutMsg = record
  2574. lm_Type : LongWord;
  2575. lm_Children : PMinList;
  2576. lm_MinMax : tMUI_MinMax;
  2577. lm_Layout : record
  2578. Width : LongInt;
  2579. Height : LongInt;
  2580. priv5 : LongWord;
  2581. priv6 : LongWord;
  2582. end;
  2583. end;
  2584. pMUI_LayoutMsg = ^tMUI_LayoutMsg;
  2585. { MUI wants you to calc your min & max sizes }
  2586. const
  2587. MUILM_MINMAX = 1;
  2588. { MUI wants you to layout your children }
  2589. MUILM_LAYOUT = 2;
  2590. { return this if your hook doesn't implement lm_Type }
  2591. MUILM_UNKNOWN = -(1);
  2592. { (partial) instance data of area class }
  2593. { RenderInfo for this object }
  2594. { Font }
  2595. { min/max/default sizes }
  2596. { position and dimension }
  2597. { frame & innerspacing left offset }
  2598. { frame & innerspacing top offset }
  2599. { frame & innerspacing add. width }
  2600. { frame & innerspacing add. height }
  2601. { see definitions below }
  2602. { ... private data follows ... }
  2603. type
  2604. tMUI_AreaData = record
  2605. mad_RenderInfo : PMUI_RenderInfo;
  2606. priv7 : LongWord;
  2607. mad_Font : PTextFont;
  2608. mad_MinMax : tMUI_MinMax;
  2609. mad_Box : tIBox;
  2610. mad_addleft : BYTE;
  2611. mad_addtop : BYTE;
  2612. mad_subwidth : BYTE;
  2613. mad_subheight : BYTE;
  2614. mad_Flags : LongWord;
  2615. end;
  2616. pMUI_AreaData = ^tMUI_AreaData;
  2617. { Definitions for mad_Flags, other flags are private }
  2618. { completely redraw yourself }
  2619. const
  2620. MADF_DRAWOBJECT = 1 shl 0;
  2621. { only update yourself }
  2622. MADF_DRAWUPDATE = 1 shl 1;
  2623. { MUI's draw pens }
  2624. MPEN_SHINE = 0;
  2625. MPEN_HALFSHINE = 1;
  2626. MPEN_BACKGROUND = 2;
  2627. MPEN_HALFSHADOW = 3;
  2628. MPEN_SHADOW = 4;
  2629. MPEN_TEXT = 5;
  2630. MPEN_FILL = 6;
  2631. MPEN_MARK = 7;
  2632. MPEN_COUNT = 8;
  2633. { Mask for pens from MUI_ObtainPen() }
  2634. MUIPEN_MASK = $0000ffff;
  2635. { Information on display environment }
  2636. { valid between MUIM_Setup/MUIM_Cleanup }
  2637. { valid between MUIM_Setup/MUIM_Cleanup }
  2638. { valid between MUIM_Setup/MUIM_Cleanup }
  2639. { valid between MUIM_Setup/MUIM_Cleanup }
  2640. { valid between MUIM_Show/MUIM_Hide }
  2641. { valid between MUIM_Show/MUIM_Hide }
  2642. { valid between MUIM_Setup/MUIM_Cleanup }
  2643. { ... private data follows ... }
  2644. {
  2645. If mri_Flags & MUIMRI_RECTFILL, RectFill() is quicker
  2646. than Move()/Draw() for horizontal or vertical lines.
  2647. on the current display.
  2648. }
  2649. const
  2650. MUIMRI_RECTFILL = 1 shl 0;
  2651. {
  2652. If mri_Flags & MUIMRI_TRUECOLOR, display environment is a
  2653. cybergraphics emulated hicolor or true color display.
  2654. }
  2655. MUIMRI_TRUECOLOR = 1 shl 1;
  2656. {
  2657. If mri_Flags & MUIMRI_THINFRAMES, MUI uses thin frames
  2658. (1:1) apsect ratio instead of standard 2:1 frames.
  2659. }
  2660. MUIMRI_THINFRAMES = 1 shl 2;
  2661. {
  2662. If mri_Flags & MUIMRI_REFRESHMODE, MUI is currently
  2663. refreshing a WFLG_SIMPLEREFRESH window and is between
  2664. a BeginRefresh()/EndRefresh() pair.
  2665. }
  2666. MUIMRI_REFRESHMODE = 1 shl 3;
  2667. { the following macros can be used to get pointers to an objects
  2668. GlobalInfo and RenderInfo structures. }
  2669. type
  2670. t__dummyXFC2__ = record
  2671. mnd : tMUI_NotifyData;
  2672. mad : tMUI_AreaData;
  2673. end;
  2674. p__dummyXFC2__ = ^t__dummyXFC2__;
  2675. const
  2676. MUIKEY_RELEASE = -2;
  2677. MUIKEY_NONE = -1;
  2678. MUIKEY_PRESS = 0;
  2679. MUIKEY_TOGGLE = 1;
  2680. MUIKEY_UP = 2;
  2681. MUIKEY_DOWN = 3;
  2682. MUIKEY_PAGEUP = 4;
  2683. MUIKEY_PAGEDOWN = 5;
  2684. MUIKEY_TOP = 6;
  2685. MUIKEY_BOTTOM = 7;
  2686. MUIKEY_LEFT = 8;
  2687. MUIKEY_RIGHT = 9;
  2688. MUIKEY_WORDLEFT = 10;
  2689. MUIKEY_WORDRIGHT = 11;
  2690. MUIKEY_LINESTART = 12;
  2691. MUIKEY_LINEEND = 13;
  2692. MUIKEY_GADGET_NEXT = 14;
  2693. MUIKEY_GADGET_PREV = 15;
  2694. MUIKEY_GADGET_OFF = 16;
  2695. MUIKEY_WINDOW_CLOSE = 17;
  2696. MUIKEY_WINDOW_NEXT = 18;
  2697. MUIKEY_WINDOW_PREV = 19;
  2698. MUIKEY_HELP = 20;
  2699. MUIKEY_POPUP = 21;
  2700. MUIKEY_COUNT = 22;
  2701. MUIKEYF_PRESS = 1 shl MUIKEY_PRESS;
  2702. MUIKEYF_TOGGLE = 1 shl MUIKEY_TOGGLE;
  2703. MUIKEYF_UP = 1 shl MUIKEY_UP;
  2704. MUIKEYF_DOWN = 1 shl MUIKEY_DOWN;
  2705. MUIKEYF_PAGEUP = 1 shl MUIKEY_PAGEUP;
  2706. MUIKEYF_PAGEDOWN = 1 shl MUIKEY_PAGEDOWN;
  2707. MUIKEYF_TOP = 1 shl MUIKEY_TOP;
  2708. MUIKEYF_BOTTOM = 1 shl MUIKEY_BOTTOM;
  2709. MUIKEYF_LEFT = 1 shl MUIKEY_LEFT;
  2710. MUIKEYF_RIGHT = 1 shl MUIKEY_RIGHT;
  2711. MUIKEYF_WORDLEFT = 1 shl MUIKEY_WORDLEFT;
  2712. MUIKEYF_WORDRIGHT = 1 shl MUIKEY_WORDRIGHT;
  2713. MUIKEYF_LINESTART = 1 shl MUIKEY_LINESTART;
  2714. MUIKEYF_LINEEND = 1 shl MUIKEY_LINEEND;
  2715. MUIKEYF_GADGET_NEXT = 1 shl MUIKEY_GADGET_NEXT;
  2716. MUIKEYF_GADGET_PREV = 1 shl MUIKEY_GADGET_PREV;
  2717. MUIKEYF_GADGET_OFF = 1 shl MUIKEY_GADGET_OFF;
  2718. MUIKEYF_WINDOW_CLOSE = 1 shl MUIKEY_WINDOW_CLOSE;
  2719. MUIKEYF_WINDOW_NEXT = 1 shl MUIKEY_WINDOW_NEXT;
  2720. MUIKEYF_WINDOW_PREV = 1 shl MUIKEY_WINDOW_PREV;
  2721. MUIKEYF_HELP = 1 shl MUIKEY_HELP;
  2722. MUIKEYF_POPUP = 1 shl MUIKEY_POPUP;
  2723. { MUI_CustomClass returned by MUI_CreateCustomClass() }
  2724. { use for whatever you want }
  2725. { MUI has opened these libraries }
  2726. { for you automatically. You can }
  2727. { use them or decide to open }
  2728. { your libraries yourself. }
  2729. { pointer to super class }
  2730. { pointer to the new class }
  2731. { ... private data follows ... }
  2732. type
  2733. tMUI_CustomClass = record
  2734. mcc_UserData : Pointer;
  2735. mcc_UtilityBase : PLibrary;
  2736. mcc_DOSBase : PLibrary;
  2737. mcc_GfxBase : PLibrary;
  2738. mcc_IntuitionBase : PLibrary;
  2739. mcc_Super : PIClass;
  2740. mcc_Class : PIClass;
  2741. end;
  2742. pMUI_CustomClass = ^tMUI_CustomClass;
  2743. function MUI_NewObjectA(class_ : PAnsiChar location 'a0'; tags : pTagItem location 'a1') : pObject_;
  2744. syscall legacy MUIMasterBase 30;
  2745. procedure MUI_DisposeObject(obj : pObject_ location 'a0');
  2746. syscall legacy MUIMasterBase 36;
  2747. function MUI_RequestA(app : POINTER location 'd0';
  2748. win : POINTER location 'd1';
  2749. flags : LongWord location 'd2';
  2750. title : PAnsiChar location 'a0';
  2751. gadgets : PAnsiChar location 'a1';
  2752. format : PAnsiChar location 'a2';
  2753. params : POINTER location 'a3') : longint;
  2754. syscall legacy MUIMasterBase 42;
  2755. function MUI_AllocAslRequest(typ : LongWord location 'd0'; tags : pTagItem location 'a0') : POINTER;
  2756. syscall legacy MUIMasterBase 48;
  2757. function MUI_AslRequest(req : POINTER location 'a0'; tags : pTagItem location 'a1') : BOOLEAN;
  2758. syscall legacy MUIMasterBase 54;
  2759. procedure MUI_FreeAslRequest(req : POINTER location 'a0');
  2760. syscall legacy MUIMasterBase 60;
  2761. function MUI_Error : LONGINT;
  2762. syscall legacy MUIMasterBase 66;
  2763. function MUI_SetError(errnum : LONGINT location 'd0') : LONGINT;
  2764. syscall legacy MUIMasterBase 72;
  2765. function MUI_GetClass(name : PAnsiChar location 'a0') : pIClass;
  2766. syscall legacy MUIMasterBase 78;
  2767. procedure MUI_FreeClass(cl : pIClass location 'a0');
  2768. syscall legacy MUIMasterBase 84;
  2769. procedure MUI_RequestIDCMP(obj : pObject_ location 'a0'; flags : LongWord location 'd0');
  2770. syscall legacy MUIMasterBase 90;
  2771. procedure MUI_RejectIDCMP(obj : pObject_ location 'a0'; flags : LongWord location 'd0');
  2772. syscall legacy MUIMasterBase 96;
  2773. procedure MUI_Redraw(obj : pObject_ location 'a0'; flags : LongWord location 'd0');
  2774. syscall legacy MUIMasterBase 102;
  2775. function MUI_CreateCustomClass(base : pLibrary location 'a0';
  2776. supername : PAnsiChar location 'a1';
  2777. supermcc : pMUI_CustomClass location 'a2';
  2778. datasize : LONGINT location 'd0';
  2779. dispatcher : POINTER location 'a3') : pMUI_CustomClass;
  2780. syscall legacy MUIMasterBase 108;
  2781. function MUI_DeleteCustomClass(mcc : pMUI_CustomClass location 'a0') : BOOLEAN;
  2782. syscall legacy MUIMasterBase 114;
  2783. function MUI_MakeObjectA(typ: LONGINT location 'd0'; params : pLongWord location 'a0') : pLongWord;
  2784. syscall legacy MUIMasterBase 120;
  2785. function MUI_Layout(obj : pObject_ location 'a0';
  2786. l : LONGINT location 'd0';
  2787. t : LONGINT location 'd1';
  2788. w : LONGINT location 'd2';
  2789. h : LONGINT location 'd3';
  2790. flags : LongWord location 'd4') : BOOLEAN;
  2791. syscall legacy MUIMasterBase 126;
  2792. function MUI_ObtainPen(mri : pMUI_RenderInfo location 'a0';
  2793. spec : pMUI_PenSpec location 'a1';
  2794. flags : LongWord location 'd0') : LONGINT;
  2795. syscall legacy MUIMasterBase 156;
  2796. procedure MUI_ReleasePen(mri : pMUI_RenderInfo location 'a0';
  2797. pen : LONGINT location 'd0');
  2798. syscall legacy MUIMasterBase 162;
  2799. function MUI_AddClipping(mri : pMUI_RenderInfo location 'a0';
  2800. l : smallint location 'd0';
  2801. t : smallint location 'd1';
  2802. w : smallint location 'd2';
  2803. h : smallint location 'd3') : POINTER;
  2804. syscall legacy MUIMasterBase 168;
  2805. procedure MUI_RemoveClipping(mri : pMUI_RenderInfo location 'a0';
  2806. h : POINTER location 'a1');
  2807. syscall legacy MUIMasterBase 174;
  2808. function MUI_AddClipRegion(mri : pMUI_RenderInfo location 'a0'; region : pRegion location 'a1') : POINTER;
  2809. syscall legacy MUIMasterBase 180;
  2810. procedure MUI_RemoveClipRegion(mri : pMUI_RenderInfo location 'a0'; region : POINTER location 'a1');
  2811. syscall legacy MUIMasterBase 186;
  2812. function MUI_BeginRefresh(mri : pMUI_RenderInfo location 'a0'; flags : LongWord location 'd0') : BOOLEAN;
  2813. syscall legacy MUIMasterBase 192;
  2814. procedure MUI_EndRefresh(mri : pMUI_RenderInfo location 'a0'; flags : LongWord location 'd0');
  2815. syscall legacy MUIMasterBase 198;
  2816. (*
  2817. ** some procedures to get some information about our object
  2818. *)
  2819. function MUINotifyData(obj : Pointer) : pMUI_NotifyData;
  2820. function MUIAreaData(obj : Pointer) : pMUI_AreaData;
  2821. function MUIGlobalInfo(obj : Pointer) : pMUI_GlobalInfo;
  2822. function MUIUserData(obj : Pointer) : Pointer ;
  2823. function MUIRenderInfo(obj : Pointer) : pMUI_RenderInfo;
  2824. function MUIPen(pen : longint): longint;
  2825. (*
  2826. ** some more specialized functions to retain information about special
  2827. ** object-data like rastport, window, etc.
  2828. **
  2829. ** NOTE: These macros may only be used in custom classes and are
  2830. ** only valid if your class is inbetween the specified methods!
  2831. *)
  2832. function OBJ_App(obj : Pointer) : pObject_; inline; (* valid between MUIM_Setup/Cleanup *)
  2833. function OBJ_Win(obj : Pointer) : pObject_; inline; (* valid between MUIM_Setup/Cleanup *)
  2834. function OBJ_Dri(obj : Pointer) : pDrawInfo; inline; (* valid between MUIM_Setup/Cleanup *)
  2835. function OBJ_Screen(obj : Pointer) : pScreen; inline; (* valid between MUIM_Setup/Cleanup *)
  2836. function OBJ_Pens(obj : Pointer) : pWord; inline; (* valid between MUIM_Setup/Cleanup *)
  2837. function OBJ_Window(obj : Pointer) : pWindow; inline; (* valid between MUIM_Show/Hide *)
  2838. function OBJ_Rp(obj : Pointer) : pRastPort; inline; (* valid between MUIM_Show/Hide *)
  2839. function OBJ_Left(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2840. function OBJ_Top(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2841. function OBJ_Width(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2842. function OBJ_Height(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2843. function OBJ_Right(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2844. function OBJ_Bottom(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2845. function OBJ_AddLeft(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2846. function OBJ_AddTop(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2847. function OBJ_SubWidth(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2848. function OBJ_SubHeight(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2849. function OBJ_MLeft(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2850. function OBJ_MTop(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2851. function OBJ_MWidth(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2852. function OBJ_MHeight(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2853. function OBJ_MRight(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2854. function OBJ_MBottom(obj : Pointer) : smallint; inline; (* valid during MUIM_Draw *)
  2855. function OBJ_Font(obj : Pointer) : pTextFont; inline; (* valid between MUIM_Setup/Cleanup *)
  2856. function OBJ_MinWidth(obj : Pointer) : LongWord; inline; (* valid between MUIM_Show/Hide *)
  2857. function OBJ_MinHeight(obj : Pointer) : LongWord; inline; (* valid between MUIM_Show/Hide *)
  2858. function OBJ_MaxWidth(obj : Pointer) : LongWord; inline; (* valid between MUIM_Show/Hide *)
  2859. function OBJ_MaxHeight(obj : Pointer) : LongWord; inline; (* valid between MUIM_Show/Hide *)
  2860. function OBJ_DefWidth(obj : Pointer) : LongWord; inline; (* valid between MUIM_Show/Hide *)
  2861. function OBJ_DefHeight(obj : Pointer) : LongWord; inline; (* valid between MUIM_Show/Hide *)
  2862. function OBJ_Flags(obj : Pointer) : LongWord; inline;
  2863. function OBJ_Between(a,x,b : smallint): boolean; inline;
  2864. function OBJ_IsInObject(x,y : smallint; obj : pObject_): boolean; inline;
  2865. function MUIV_Window_AltHeight_MinMax(p : longint) : longint; inline;
  2866. function MUIV_Window_AltHeight_Visible(p : longint) : longint; inline;
  2867. function MUIV_Window_AltHeight_Screen(p : longint) : longint; inline;
  2868. function MUIV_Window_AltTopEdge_Delta(p : longint) : longint; inline;
  2869. function MUIV_Window_AltWidth_MinMax(p : longint) : longint; inline;
  2870. function MUIV_Window_AltWidth_Visible(p : longint) : longint; inline;
  2871. function MUIV_Window_AltWidth_Screen(p : longint) : longint; inline;
  2872. function MUIV_Window_Height_MinMax(p : longint) : longint; inline;
  2873. function MUIV_Window_Height_Visible(p : longint) : longint; inline;
  2874. function MUIV_Window_Height_Screen(p : longint) : longint; inline;
  2875. function MUIV_Window_TopEdge_Delta(p : longint) : longint; inline;
  2876. function MUIV_Window_Width_MinMax(p : longint) : longint; inline;
  2877. function MUIV_Window_Width_Visible(p : longint) : longint; inline;
  2878. function MUIV_Window_Width_Screen(p : longint) : longint; inline;
  2879. function MAKE_ID(a,b,c,d : AnsiChar): longword; inline;
  2880. function MUIget(obj: pObject_; attr: longword; store: longword): longword; inline;
  2881. function MUIset(obj: pObject_; attr: longword; value: longword): longword; inline;
  2882. {
  2883. Functions and procedures with array of longword go here
  2884. }
  2885. function MUI_AllocAslRequestTags(_type : longword; tags : array Of LongWord) : POINTER;
  2886. function MUI_AslRequestTags(req : POINTER; tags : array Of LongWord) : BOOLEAN;
  2887. function MUI_MakeObject(_type : LONGINT; params : array of LongWord) : pLongWord; inline;
  2888. function MUI_NewObject(a0arg : PAnsiChar; tags : array of LongWord) : pLongWord; inline;
  2889. function MUI_Request(app : POINTER; win : POINTER; flags : longword; title : PAnsiChar; gadgets : PAnsiChar; format : PAnsiChar; params : array of LongWord) : LONGINT;
  2890. function InitMUIMasterLibrary : boolean;
  2891. implementation
  2892. function MUINotifyData(obj : Pointer) : pMUI_NotifyData;
  2893. begin
  2894. MUINotifyData := pMUI_NotifyData(@p__dummyXFC2__(obj)^.mnd);
  2895. end;
  2896. function MUIAreaData(obj : Pointer) : pMUI_AreaData;
  2897. begin
  2898. MUIAreaData := pMUI_AreaData(@p__dummyXFC2__(obj)^.mad);
  2899. end;
  2900. function MUIGlobalInfo(obj : Pointer) : pMUI_GlobalInfo;
  2901. begin
  2902. MUIGlobalInfo := pMUI_GlobalInfo(p__dummyXFC2__(obj)^.mnd.mnd_GlobalInfo);
  2903. end;
  2904. function MUIUserData(obj : Pointer) : Pointer ;
  2905. begin
  2906. MUIUserData := Pointer(p__dummyXFC2__(obj)^.mnd.mnd_GlobalInfo);
  2907. end;
  2908. function MUIRenderInfo(obj : Pointer) : pMUI_RenderInfo;
  2909. begin
  2910. MUIRenderInfo := pMUI_RenderInfo(p__dummyXFC2__(obj)^.mad.mad_RenderInfo);
  2911. end;
  2912. function MUIPen(pen : longint): longint;
  2913. begin
  2914. MUIPen := longint(pen*MUIPEN_Mask);
  2915. end;
  2916. function OBJ_App(obj : Pointer) : pObject_; (* valid between MUIM_Setup/Cleanup *)
  2917. begin
  2918. OBJ_App := MUIGlobalInfo(obj)^.mgi_ApplicationObject;
  2919. end;
  2920. function OBJ_Win(obj : Pointer) : pObject_; (* valid between MUIM_Setup/Cleanup *)
  2921. begin
  2922. OBJ_Win := MUIRenderInfo(obj)^.mri_WindowObject;
  2923. end;
  2924. function OBJ_Dri(obj : Pointer) : pDrawInfo; (* valid between MUIM_Setup/Cleanup *)
  2925. begin
  2926. OBJ_Dri := MUIRenderInfo(obj)^.mri_DrawInfo;
  2927. end;
  2928. function OBJ_Screen(obj : Pointer) : pScreen; (* valid between MUIM_Setup/Cleanup *)
  2929. begin
  2930. OBJ_Screen := MUIRenderInfo(obj)^.mri_Screen;
  2931. end;
  2932. function OBJ_Pens(obj : Pointer) : pWord; (* valid between MUIM_Setup/Cleanup *)
  2933. begin
  2934. OBJ_Pens := MUIRenderInfo(obj)^.mri_Pens;
  2935. end;
  2936. function OBJ_Window(obj : Pointer) : pWindow; (* valid between MUIM_Show/Hide *)
  2937. begin
  2938. OBJ_Window := MUIRenderInfo(obj)^.mri_Window;
  2939. end;
  2940. function OBJ_Rp(obj : Pointer) : pRastPort; (* valid between MUIM_Show/Hide *)
  2941. begin
  2942. OBJ_Rp := MUIRenderInfo(obj)^.mri_RastPort;
  2943. end;
  2944. function OBJ_Left(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2945. begin
  2946. OBJ_Left := MUIAreaData(obj)^.mad_Box.Left;
  2947. end;
  2948. function OBJ_Top(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2949. begin
  2950. OBJ_Top := MUIAreaData(obj)^.mad_Box.Top;
  2951. end;
  2952. function OBJ_Width(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2953. begin
  2954. OBJ_Width := MUIAreaData(obj)^.mad_Box.Width;
  2955. end;
  2956. function OBJ_Height(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2957. begin
  2958. OBJ_Height := MUIAreaData(obj)^.mad_Box.Height;
  2959. end;
  2960. function OBJ_Right(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2961. begin
  2962. OBJ_Right := OBJ_Left(obj) + OBJ_Width(obj) -1;
  2963. end;
  2964. function OBJ_Bottom(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2965. begin
  2966. OBJ_Bottom := OBJ_Top(obj) + OBJ_Height(obj) -1;
  2967. end;
  2968. function OBJ_AddLeft(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2969. begin
  2970. OBJ_AddLeft := MUIAreaData(obj)^.mad_AddLeft;
  2971. end;
  2972. function OBJ_AddTop(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2973. begin
  2974. OBJ_AddTop := MUIAreaData(obj)^.mad_AddTop;
  2975. end;
  2976. function OBJ_SubWidth(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2977. begin
  2978. OBJ_SubWidth := MUIAreaData(obj)^.mad_SubWidth;
  2979. end;
  2980. function OBJ_SubHeight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2981. begin
  2982. OBJ_SubHeight := MUIAreaData(obj)^.mad_SubHeight;
  2983. end;
  2984. function OBJ_MLeft(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2985. begin
  2986. OBJ_MLeft := OBJ_Left(obj) + OBJ_AddLeft(obj);
  2987. end;
  2988. function OBJ_MTop(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2989. begin
  2990. OBJ_MTop := OBJ_Top(obj) + OBJ_AddTop(obj);
  2991. end;
  2992. function OBJ_MWidth(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2993. begin
  2994. OBJ_MWidth := OBJ_Width(obj) -OBJ_SubWidth(obj);
  2995. end;
  2996. function OBJ_MHeight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  2997. begin
  2998. OBJ_MHeight := OBJ_Height(obj) - OBJ_SubHeight(obj);
  2999. end;
  3000. function OBJ_MRight(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  3001. begin
  3002. OBJ_MRight := OBJ_MLeft(obj) + OBJ_MWidth(obj) -1;
  3003. end;
  3004. function OBJ_MBottom(obj : Pointer) : smallint; (* valid during MUIM_Draw *)
  3005. begin
  3006. OBJ_MBottom := OBJ_MTop(obj) + OBJ_MHeight(obj) -1;
  3007. end;
  3008. function OBJ_Font(obj : Pointer) : pTextFont; (* valid between MUIM_Setup/Cleanup *)
  3009. begin
  3010. OBJ_Font := MUIAreaData(obj)^.mad_Font;
  3011. end;
  3012. function OBJ_MinWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
  3013. begin
  3014. OBJ_MinWidth := MUIAreaData(obj)^.mad_MinMax.MinWidth;
  3015. end;
  3016. function OBJ_MinHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
  3017. begin
  3018. OBJ_MinHeight := MUIAreaData(obj)^.mad_MinMax.MinHeight;
  3019. end;
  3020. function OBJ_MaxWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
  3021. begin
  3022. OBJ_maxWidth := MUIAreaData(obj)^.mad_MinMax.MaxWidth;
  3023. end;
  3024. function OBJ_MaxHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
  3025. begin
  3026. OBJ_maxHeight := MUIAreaData(obj)^.mad_MinMax.MaxHeight;
  3027. end;
  3028. function OBJ_DefWidth(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
  3029. begin
  3030. OBJ_DefWidth := MUIAreaData(obj)^.mad_MinMax.DefWidth;
  3031. end;
  3032. function OBJ_DefHeight(obj : Pointer) : LongWord; (* valid between MUIM_Show/Hide *)
  3033. begin
  3034. OBJ_DefHeight := MUIAreaData(obj)^.mad_MinMax.DefHeight;
  3035. end;
  3036. function OBJ_Flags(obj : Pointer) : LongWord;
  3037. begin
  3038. OBJ_Flags := MUIAreaData(obj)^.mad_Flags;
  3039. end;
  3040. (*
  3041. ** 2 useful procedures for testing if some coordinates are inside your object
  3042. ** (converted from the ones in class3.c. So look there how to use... )
  3043. *)
  3044. function OBJ_Between(a,x,b : smallint): boolean;
  3045. begin
  3046. OBJ_Between := ((x>=a) and (x<=b));
  3047. end;
  3048. function OBJ_IsInObject(x,y : smallint; obj : pObject_): boolean;
  3049. begin
  3050. OBJ_IsInObject := (OBJ_Between(OBJ_MLeft(obj),x,OBJ_MRight(obj))
  3051. and OBJ_Between(OBJ_MTop(obj),y,OBJ_MBottom(obj)));
  3052. end;
  3053. function MUIV_Window_AltHeight_MinMax(p : longint) : longint;
  3054. begin
  3055. MUIV_Window_AltHeight_MinMax := (0 - p);
  3056. end;
  3057. function MUIV_Window_AltHeight_Visible(p : longint) : longint;
  3058. begin
  3059. MUIV_Window_AltHeight_Visible := (-100 - (p));
  3060. end;
  3061. function MUIV_Window_AltHeight_Screen(p : longint) : longint;
  3062. begin
  3063. MUIV_Window_AltHeight_Screen := (-200 - (p));
  3064. end;
  3065. function MUIV_Window_AltTopEdge_Delta(p : longint) : longint;
  3066. begin
  3067. MUIV_Window_AltTopEdge_Delta := (-3 - (p));
  3068. end;
  3069. function MUIV_Window_AltWidth_MinMax(p : longint) : longint;
  3070. begin
  3071. MUIV_Window_AltWidth_MinMax := 0 - p;
  3072. end;
  3073. function MUIV_Window_AltWidth_Visible(p : longint) : longint;
  3074. begin
  3075. MUIV_Window_AltWidth_Visible := (-100 - (p));
  3076. end;
  3077. function MUIV_Window_AltWidth_Screen(p : longint) : longint;
  3078. begin
  3079. MUIV_Window_AltWidth_Screen := (-200 - (p));
  3080. end;
  3081. function MUIV_Window_Height_MinMax(p : longint) : longint;
  3082. begin
  3083. MUIV_Window_Height_MinMax := 0 - p;
  3084. end;
  3085. function MUIV_Window_Height_Visible(p : longint) : longint;
  3086. begin
  3087. MUIV_Window_Height_Visible := (-100 - (p));
  3088. end;
  3089. function MUIV_Window_Height_Screen(p : longint) : longint;
  3090. begin
  3091. MUIV_Window_Height_Screen := (-200 - (p));
  3092. end;
  3093. function MUIV_Window_TopEdge_Delta(p : longint) : longint;
  3094. begin
  3095. MUIV_Window_TopEdge_Delta := (-3 - (p));
  3096. end;
  3097. function MUIV_Window_Width_MinMax(p : longint) : longint;
  3098. begin
  3099. MUIV_Window_Width_MinMax := 0 - p;
  3100. end;
  3101. function MUIV_Window_Width_Visible(p : longint) : longint;
  3102. begin
  3103. MUIV_Window_Width_Visible := (-100 - (p));
  3104. end;
  3105. function MUIV_Window_Width_Screen(p : longint) : longint;
  3106. begin
  3107. MUIV_Window_Width_Screen := (-200 - (p));
  3108. end;
  3109. {
  3110. Functions and procedures with array of longword go here
  3111. }
  3112. function MUI_AllocAslRequestTags(_type : longword; tags : array of LongWord) : POINTER;
  3113. begin
  3114. MUI_AllocAslRequestTags := MUI_AllocAslRequest(_type , @tags);
  3115. end;
  3116. function MUI_AslRequestTags(req : POINTER; tags : array of LongWord) : BOOLEAN;
  3117. begin
  3118. MUI_AslRequestTags := MUI_AslRequest(req , @tags);
  3119. end;
  3120. function MUI_MakeObject(_type : LONGINT; params : array of LongWord) : pLongWord; inline;
  3121. begin
  3122. MUI_MakeObject := MUI_MakeObjectA(_type , @params);
  3123. end;
  3124. function MUI_NewObject(a0arg : PAnsiChar; tags : array of LongWord) : pLongWord; inline;
  3125. begin
  3126. MUI_NewObject := MUI_NewObjectA(a0arg, @tags);
  3127. end;
  3128. function MUI_Request(app : POINTER; win : POINTER; flags : longword; title : PAnsiChar; gadgets : PAnsiChar; format : PAnsiChar; params : array of LongWord) : LONGINT;
  3129. begin
  3130. MUI_Request := MUI_RequestA(app , win , flags , title , gadgets , format , @params);
  3131. end;
  3132. function MAKE_ID(a,b,c,d : AnsiChar): longword;
  3133. begin
  3134. MAKE_ID:=(byte(a) shl 24)+(byte(b) shl 16)+(byte(c) shl 8)+byte(d);
  3135. end;
  3136. //#define get(obj,attr,store) GetAttr(attr,obj,(ULONG *)store)
  3137. function MUIget(obj: pObject_; attr: longword; store: longword): longword;
  3138. begin
  3139. MUIget:=GetAttr(attr,obj,store);
  3140. end;
  3141. //#define set(obj,attr,value) SetAttrs(obj,attr,value,TAG_DONE)
  3142. function MUIset(obj: pObject_; attr: longword; value: longword): longword;
  3143. var args: array[0..2] of longword;
  3144. begin
  3145. args[0]:=attr;
  3146. args[1]:=value;
  3147. args[2]:=TAG_DONE;
  3148. MUIset:=SetAttrsA(obj,@args);
  3149. end;
  3150. const
  3151. { Change VERSION and LIBVERSION to proper values }
  3152. VERSION : string[2] = '19';
  3153. LIBVERSION : longword = MUIMASTER_VMIN;
  3154. function InitMUIMasterLibrary : boolean;
  3155. begin
  3156. InitMUIMasterLibrary := Assigned(MUIMasterBase);
  3157. end;
  3158. initialization
  3159. MUIMasterBase := OpenLibrary(MUIMASTER_NAME,LIBVERSION);
  3160. finalization
  3161. if Assigned(MUIMasterBase) then
  3162. CloseLibrary(MUIMasterBase);
  3163. end.