mui.pas 131 KB

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