mui.pas 142 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122
  1. {
  2. This file is part of the Free Pascal run time library.
  3. Copyright (c) 2016 by Free Pascal development team
  4. MUI functions for Amiga OS 4.x
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. {$packrecords C}
  12. {$IFNDEF FPC_DOTTEDUNITS}
  13. unit mui;
  14. {$ENDIF FPC_DOTTEDUNITS}
  15. interface
  16. { MUI - MagicUserInterface
  17. Copyright (C) 1992-2006 by Stefan Stuntz <[email protected]>
  18. Copyright (C) 2006-2016 by Thore Boeckelmann, Jens Maus
  19. Main Header File
  20. ************************************************************************
  21. Class Tree
  22. ************************************************************************
  23. rootclass (BOOPSI's base class)
  24. +--Notify (implements notification mechanism)
  25. ! +--Family (handles multiple children)
  26. ! ! +--Menustrip (describes a complete menu strip)
  27. ! ! +--Menu (describes a single menu)
  28. ! ! \--Menuitem (describes a single menu item)
  29. ! +--Application (main class for all applications)
  30. ! +--Window (main class for all windows)
  31. ! ! \--Aboutmui (About window of MUI preferences)
  32. ! \--Area (base class for all GUI elements)
  33. ! +--Dtpic (datatypes based bitmaps)
  34. ! +--Rectangle (spacing object)
  35. ! +--Balance (balancing separator bar)
  36. ! +--Image (image display)
  37. ! +--Bitmap (draws bitmaps)
  38. ! ! \--Bodychunk (makes bitmap from ILBM body chunk)
  39. ! +--Pixmap (draws raw image data)
  40. ! +--Text (text display)
  41. ! +--Gadget (base class for intuition gadgets)
  42. ! ! \--Boopsi (interface to BOOPSI gadgets)
  43. ! +--Gauge (fule gauge)
  44. ! +--Scale (percentage scale)
  45. ! +--Colorfield (field with changeable color)
  46. ! +--Numeric (base class for slider gadgets)
  47. ! ! +--Knob (turning knob)
  48. ! ! +--Levelmeter (level display)
  49. ! ! +--Numericbutton (space saving popup slider)
  50. ! ! \--Slider (traditional slider)
  51. ! ! \--Prop (proportional gadget)
  52. ! +--Pendisplay (displays a pen specification)
  53. ! ! \--Poppen (popup button to adjust a pen spec)
  54. ! +--String (string gadget)
  55. ! \--Group (groups other GUI elements)
  56. ! +--List (line-oriented list)
  57. ! ! +--Floattext (special list with floating text)
  58. ! ! +--Volumelist (special list with volumes)
  59. ! ! +--Scrmodelist (special list with screen modes)
  60. ! ! \--Dirlist (special list with files)
  61. ! +--Title (handles page groups with titles)
  62. ! +--Register (handles page groups with titles)
  63. ! ! \--Penadjust (group to adjust a pen)
  64. ! +--Virtgroup (handles virtual groups)
  65. ! +--Scrollgroup (virtual groups with scrollbars)
  66. ! +--Scrollbar (traditional scrollbar)
  67. ! +--Listview (listview)
  68. ! +--Radio (radio button)
  69. ! +--Cycle (cycle gadget)
  70. ! +--Coloradjust (several gadgets to adjust a color)
  71. ! +--Palette (complete palette gadget)
  72. ! \--Popstring (base class for popup objects)
  73. ! +--Popobject (popup aynthing in a separate window)
  74. ! ! +--Poplist (popup a simple listview)
  75. ! ! \--Popscreen (popup a list of public screens)
  76. ! \--Popasl (popup an asl requester)
  77. \--Semaphore (semaphore equipped objects)
  78. +--Dataspace (handles general purpose data spaces)
  79. +--Datamap (handles general purpose data spaces)
  80. +--Objectmap (handles general purpose data spaces)
  81. \--Process (simplify handlig sub-tasks)
  82. ************************************************************************
  83. General Header File Information
  84. ************************************************************************
  85. All macro and structure definitions follow these rules:
  86. Name | Meaning
  87. -------------------------+-------------------------------------
  88. MUIC_<class> | Name of a class
  89. MUIM_<class>_<method> | Method
  90. MUIP_<class>_<method> | Methods parameter structure
  91. MUIV_<class>_<method>_<x>| Special method value
  92. MUIA_<class>_<attrib> | Attribute
  93. MUIV_<class>_<attrib>_<x>| Special attribute value
  94. MUIE_<error> | Error return code from MUI_Error()
  95. MUII_<name> | Standard MUI image
  96. MUIX_<code> | Control codes for text strings
  97. MUIO_<name> | Object type for MUI_MakeObject()
  98. MUIA_... attribute definitions are followed by a comment
  99. consisting of the three possible letters I, S and G.
  100. I: it's possible to specify this attribute at object creation time.
  101. S: it's possible to change this attribute with SetAttrs().
  102. G: it's possible to get this attribute with GetAttr().
  103. Items marked with "Custom Class" are for use in custom classes only!}
  104. {$IFDEF FPC_DOTTEDUNITS}
  105. uses
  106. Amiga.Core.Exec, Amiga.Core.Intuition, Amiga.Core.Utility, Amiga.Core.Agraphics, Amiga.Core.Iffparse;
  107. {$ELSE FPC_DOTTEDUNITS}
  108. uses
  109. exec, intuition, utility, agraphics, iffparse;
  110. {$ENDIF FPC_DOTTEDUNITS}
  111. const
  112. MUIMASTER_NAME: PAnsiChar = 'muimaster.library';
  113. MUIMASTER_VMIN = 20;
  114. MUIMASTER_VLATEST = 20;
  115. IMSPEC_EXTERNAL_PREFIX = 'MUI:Images/';
  116. MUIB_MUI = TAG_USER; // Base for legacy MUI identifiers
  117. MUIB_RSVD = MUIB_MUI or $10400000; // Base for AROS reserved range
  118. MUIB_ZUNE = MUIB_RSVD or $00020000; // Base for Zune core reserved range
  119. MUIB_AROS = MUIB_RSVD or $00070000; // Base for AROS core reserved range
  120. PST_MUI = 'm';
  121. PST_CMAP = 'p';
  122. PST_RGB = 'r';
  123. PST_SYS = 's';
  124. // MUI_PenSpec is a an ascii spec like this:
  125. // 'm5' = mui pen #5
  126. // 'p123' = cmap entry #123
  127. // 'rFFFFFFFF,00000000,00000000' =rgb #FF0000
  128. // 's3' = system pen #3
  129. // It needs to be like this, because for example nlist has default penspecs in it's source encoded like above which it directly passes to MUI_ObtainBestPen
  130. // Black box specification structures for images, pens, frames
  131. type
  132. PMUI_PenSpec = ^TMUI_PenSpec;
  133. TMUI_PenSpec = record
  134. ps_buf: array[0..31] of AnsiChar; // black box
  135. end;
  136. PMUI_FrameSpec = ^TMUI_FrameSpec;
  137. TMUI_FrameSpec = record
  138. buf: array[0..31] of AnsiChar;
  139. end;
  140. // Public Screen Stuff
  141. // NOTE: This stuff is only included to allow compilation of the supplied public screen manager for educational purposes. Everything
  142. // here is subject to change without notice and I guarantee to do that just for fun! More info can be found in the screen manager source file.
  143. const
  144. PSD_INITIAL_NAME: PAnsiChar = '(unnamed)';
  145. PSD_INITIAL_TITLE: PAnsiChar = 'MUI Public Screen';
  146. const
  147. PSD_NAME_FRONTMOST: PAnsiChar = '«Frontmost»';
  148. PSD_FILENAME_SAVE: PAnsiChar = 'envarc:mui/PublicScreens.iff';
  149. PSD_FILENAME_USE: PAnsiChar = 'env:mui/PublicScreens.iff';
  150. PSD_MAXLEN_NAME = 32;
  151. PSD_MAXLEN_TITLE = 128;
  152. PSD_MAXLEN_FONT = 48;
  153. PSD_MAXLEN_BACKGROUND = 256;
  154. PSD_NUMCOLS = 8;
  155. PSD_MAXSYSPENS = 20;
  156. PSD_NUMSYSPENS = 12;
  157. PSD_MAXMUIPENS = 10;
  158. PSD_NUMMUIPENS = 8;
  159. type
  160. TMUI_RGBcolor = record
  161. Red: LongWord;
  162. Green: LongWord;
  163. Blue: LongWord;
  164. end;
  165. PMUI_RGBColor = ^TMUI_RGBColor;
  166. TMUI_PubScreenDesc = record
  167. Version: LongInt;
  168. Name: array[0..PSD_MAXLEN_NAME-1] of AnsiChar;
  169. Title: array[0..PSD_MAXLEN_TITLE-1] of AnsiChar;
  170. Font: array[0..PSD_MAXLEN_FONT-1] of AnsiChar;
  171. Background: array[0..PSD_MAXLEN_BACKGROUND-1] of AnsiChar;
  172. DisplayID: LongWord;
  173. DisplayWidth: Word;
  174. DisplayHeight : Word;
  175. DisplayDepth: byte;
  176. OverscanType: byte;
  177. AutoScroll: byte;
  178. NoDrag: byte;
  179. Exclusive : byte;
  180. Interleaved : byte;
  181. SysDefault : byte;
  182. Behind : byte;
  183. AutoClose : byte;
  184. CloseGadget : byte;
  185. DummyWasForeign : byte;
  186. SystemPens: array[0..(PSD_MAXSYSPENS)-1] of byte;
  187. Reserved: array[0..((1 + (7 * 4)) - PSD_MAXSYSPENS)-1] of byte;
  188. Palette: array[0..(PSD_NUMCOLS)-1] of tMUI_RGBcolor;
  189. rsvd: array[0..(PSD_MAXSYSPENS - PSD_NUMCOLS)-1] of tMUI_RGBcolor;
  190. rsvd2: array[0..(PSD_MAXMUIPENS)-1] of tMUI_PenSpec;
  191. Changed: LongInt;
  192. UserData: APTR;
  193. end;
  194. PMUI_PubScreenDesc = ^TMUI_PubScreenDesc;
  195. TMUIS_InfoClient = record
  196. Node: TMinNode;
  197. Task: PTask;
  198. SigBit: LongWord;
  199. end;
  200. PMUIS_InfoClient = ^TMUIS_InfoClient;
  201. // Object Types for MUI_MakeObject()
  202. const
  203. MUIO_Label = 1; // label: STRPTR, flags: LongWord
  204. MUIO_Button = 2; // label: STRPTR
  205. MUIO_Checkmark = 3; // label: STRPTR
  206. MUIO_Cycle = 4; // label: STRPTR, entries: STRPTR
  207. MUIO_Radio = 5; // label: STRPTR, entries: STRPTR
  208. MUIO_Slider = 6; // label: STRPTR, min: LongInt, max: LongInt
  209. MUIO_String = 7; // label: STRPTR, maxlen: LongInt
  210. MUIO_PopButton = 8; // imagespec: STRPTR
  211. MUIO_HSpace = 9; // Space: LongInt
  212. MUIO_VSpace = 10; // Space: LongInt
  213. MUIO_HBar = 11; // Space: LongInt
  214. MUIO_VBar = 12; // Space: LongInt
  215. MUIO_MenustripNM = 13; // Nm: PNewMenu, Flags: LongWord
  216. MUIO_Menuitem = 14; // Label: STRPTR, shortcut: STRPTR, flags: LongWord, data: LongWord
  217. MUIO_BarTitle = 15; // Label: STRPTR
  218. MUIO_NumericButton = 16; // Label: STRPTR, Min: LongInt, Max: LongInt, format: STRPTR
  219. // flags for MUIO_Menuitem
  220. MUIO_Menuitem_CopyStrings = 1 shl 30;
  221. //flags for MUIO_Label type
  222. MUIO_Label_SingleFrame = 1 shl 8;
  223. MUIO_Label_DoubleFrame = 1 shl 9;
  224. MUIO_Label_LeftAligned = 1 shl 10;
  225. MUIO_Label_Centered = 1 shl 11;
  226. MUIO_Label_FreeVert = 1 shl 12;
  227. MUIO_Label_Tiny = 1 shl 13;
  228. MUIO_Label_DontCopy = 1 shl 14;
  229. // flag for MUIO_MenustripNM: check for "localized" menu items such as 'O'#0'Open'
  230. MUIO_MenustripNM_CommandKeyCheck = 1 shl 0; // check for "localized" menu items such as "O\0Open"
  231. // ARexx Interface
  232. type
  233. TMUI_Command = record
  234. mc_Name: PAnsiChar;
  235. mc_Template: PAnsiChar;
  236. mc_Parameters: LongInt;
  237. mc_Hook: PHook;
  238. mc_Reserved: array[0..4] of LongInt;
  239. end;
  240. PMUI_Command = ^TMUI_Command;
  241. const
  242. MC_TEMPLATE_ID = -1;
  243. MUI_RXERR_BADDEFINITION = -1;
  244. MUI_RXERR_OUTOFMEMORY = -2;
  245. MUI_RXERR_UNKNOWNCOMMAND = -3;
  246. MUI_RXERR_BADSYNTAX = -4;
  247. // Return values for MUI_Error()
  248. MUIE_OK = 0;
  249. MUIE_OutOfMemory = 1;
  250. MUIE_OutOfGfxMemory = 2;
  251. MUIE_InvalidWindowObject = 3;
  252. MUIE_MissingLibrary = 4;
  253. MUIE_NoARexx = 5;
  254. MUIE_SingleTask = 6;
  255. // Standard MUI Images & Backgrounds
  256. //These images are configured with the preferences program.
  257. MUII_WindowBack = 0;
  258. MUII_RequesterBack = 1;
  259. MUII_ButtonBack = 2;
  260. MUII_ListBack = 3;
  261. MUII_TextBack = 4;
  262. MUII_PropBack = 5;
  263. MUII_PopupBack = 6;
  264. MUII_SelectedBack = 7;
  265. MUII_ListCursor = 8;
  266. MUII_ListSelect = 9;
  267. MUII_ListSelCur = 10;
  268. MUII_ArrowUp = 11;
  269. MUII_ArrowDown = 12;
  270. MUII_ArrowLeft = 13;
  271. MUII_ArrowRight = 14;
  272. MUII_CheckMark = 15;
  273. MUII_RadioButton = 16;
  274. MUII_Cycle = 17;
  275. MUII_PopUp = 18;
  276. MUII_PopFile = 19;
  277. MUII_PopDrawer = 20;
  278. MUII_PropKnob = 21;
  279. MUII_Drawer = 22;
  280. MUII_HardDisk = 23;
  281. MUII_Disk = 24;
  282. MUII_Chip = 25;
  283. MUII_Volume = 26;
  284. MUII_RegisterBack = 27;
  285. MUII_Network = 28;
  286. MUII_Assign = 29;
  287. MUII_TapePlay = 30;
  288. MUII_TapePlayBack = 31;
  289. MUII_TapePause = 32;
  290. MUII_TapeStop = 33;
  291. MUII_TapeRecord = 34;
  292. MUII_GroupBack = 35;
  293. MUII_SliderBack = 36;
  294. MUII_SliderKnob = 37;
  295. MUII_TapeUp = 38;
  296. MUII_TapeDown = 39;
  297. MUII_PageBack = 40;
  298. MUII_ReadListBack = 41;
  299. MUII_PopFont = 42;
  300. MUII_ImageButtonBack = 43;
  301. MUII_ImageSelectedBack = 44;
  302. MUII_GaugeFull = 45;
  303. MUII_GaugeEmpty = 46;
  304. MUII_Menudisplay = 47;
  305. MUII_PullOpen = 48;
  306. MUII_StringBack = 49;
  307. MUII_StringActiveBack = 50;
  308. MUII_ListTitle = 51;
  309. MUII_GroupTitle = 52;
  310. MUII_RegisterTitle = 53;
  311. MUII_Close = 54;
  312. MUII_Count = 55;
  313. // These are direct color combinations and are not affected by users prefs.
  314. // Generally, you should avoid using them. Better use one of the customized images above.
  315. MUII_BACKGROUND = 128; // These are direct color
  316. MUII_SHADOW = 129; // combinations and are not
  317. MUII_SHINE = 130; // affected by users prefs.
  318. MUII_FILL = 131;
  319. MUII_SHADOWBACK = 132; // Generally, you should
  320. MUII_SHADOWFILL = 133; // avoid using them. Better
  321. MUII_SHADOWSHINE = 134; // use one of the customized
  322. MUII_FILLBACK = 135; // images above.
  323. MUII_FILLSHINE = 136;
  324. MUII_SHINEBACK = 137;
  325. MUII_FILLBACK2 = 138;
  326. MUII_HSHINEBACK = 139;
  327. MUII_HSHADOWBACK = 140;
  328. MUII_HSHINESHINE = 141;
  329. MUII_HSHADOWSHADOW = 142;
  330. MUII_MARKSHINE = 143;
  331. MUII_MARKHALFSHINE = 144;
  332. MUII_MARKBACKGROUND = 145;
  333. MUII_LASTPAT = 146;
  334. // Special values for some methods, Special Values for MUIM_Notify
  335. MUIV_TriggerValue = $49893131;
  336. MUIV_NotTriggerValue = $49893133;
  337. MUIV_EveryTime = $49893131; // as TrigVal
  338. MUIV_Notify_Self = 1;
  339. MUIV_Notify_Window = 2;
  340. MUIV_Notify_Application = 3;
  341. MUIV_Notify_Parent = 4;
  342. MUIV_Notify_ParentParent = 5;
  343. MUIV_Notify_ParentParentParent = 6;
  344. const
  345. MUIV_DragQuery_Refuse = 0;
  346. MUIV_DragQuery_Accept = 1;
  347. MUIV_DragReport_Abort = 0;
  348. MUIV_DragReport_Continue = 1;
  349. MUIV_DragReport_Lock = 2;
  350. MUIV_DragReport_Refresh = 3;
  351. // Parameter structures for some classes
  352. type
  353. PMUI_Palette_Entry = ^TMUI_Palette_Entry;
  354. TMUI_Palette_Entry = record
  355. mpe_ID: LongInt;
  356. mpe_Red: LongWord;
  357. mpe_Green: LongWord;
  358. mpe_Blue: LongWord;
  359. mpe_Group: LongInt;
  360. end;
  361. const
  362. MUIV_Palette_Entry_End = -1;
  363. // Window Event Handler (don't touch!)
  364. // event handlers are inserted according to their priority. certain flags, see below for definitions.
  365. // object which should receive MUIM_HandleEvent. if <> nil, MUIM_HandleEvent is invoked on exactly this class with CoerceMethod().
  366. // one or more IDCMP flags this handler should react on.
  367. // MUIM_Window_AddEventHandler/RemoveEventHandler
  368. type
  369. PMUI_EventHandlerNode = ^TMUI_EventHandlerNode;
  370. TMUI_EventHandlerNode = record
  371. ehn_Node: TMinNode;
  372. ehn_Reserved: byte;
  373. ehn_Priority: byte;
  374. ehn_Flags: word;
  375. ehn_Object: PObject_;
  376. ehn_Class: PIClass;
  377. ehn_Events: LongWord;
  378. end;
  379. const
  380. // flags for ehn_Flags
  381. MUI_EHF_ALWAYSKEYS = 1 shl 0; // not for public use
  382. MUI_EHF_GUIMODE = 1 shl 1; // handler will not be called if object is not visible or disabled
  383. // set this if you dont want your handler to be called when your object is disabled or invisible
  384. MUI_EHF_ISACTIVEGRP = 1 shl 12; // not for public use */
  385. MUI_EHF_ISACTIVE = 1 shl 13; // this flag is maintained by MUI and READ-ONLY: set when ehn_Object is a window's active or default object. */
  386. MUI_EHF_ISCALLING = 1 shl 14; // not for public use */
  387. MUI_EHF_ISENABLED = 1 shl 15; // this flag is maintained by MUI and READ-ONLY: it is set when the handler is added (after MUIM_Window_AddEventHandler) */
  388. // and cleared when the handler is removed (after MUIM_Window_RemEventHandler). you may not change the state of this flag yourself, but you may read it */
  389. // to find out whether your handler is currently added to a window or not.
  390. // return values for MUIM_HandleEvent (bit-masked, all other bits must be 0)
  391. MUI_EventHandlerRC_Eat = 1 shl 0; // stop MUI from calling other handlers
  392. // MUI's draw pens
  393. MPEN_SHINE = 0;
  394. MPEN_HALFSHINE = 1;
  395. MPEN_BACKGROUND = 2;
  396. MPEN_HALFSHADOW = 3;
  397. MPEN_SHADOW = 4;
  398. MPEN_TEXT = 5;
  399. MPEN_FILL = 6;
  400. MPEN_MARK = 7;
  401. MPEN_COUNT = 8; // Number of pens, the single definintion is below
  402. MUIPEN_MASK = $0000ffff; // Mask for pens from MUI_ObtainPen()
  403. MUIV_Font_Inherit = 0;
  404. MUIV_Font_Normal = -1;
  405. MUIV_Font_List = -2;
  406. MUIV_Font_Tiny = -3;
  407. MUIV_Font_Fixed = -4;
  408. MUIV_Font_Title = -5;
  409. MUIV_Font_Big = -6;
  410. MUIV_Font_Button = -7;
  411. MUIV_Font_Knob = -8;
  412. MUIV_Font_NegCount = -9;
  413. // List Position Test
  414. type
  415. PMUI_List_TestPos_Result = ^TMUI_List_TestPos_Result;
  416. TMUI_List_TestPos_Result = record
  417. entry: LongInt; // number of entry, -1 if mouse not over valid entry
  418. column: SmallInt; // numer of column, -1 if no valid column
  419. flags: Word; // MUI_LPR_*
  420. xoffset: SmallInt; // x offset of mouse click relative to column start
  421. yoffset: SmallInt; // y offset of mouse click from center of line (negative values mean click was above center, positive values mean click was below center)
  422. end;
  423. const
  424. MUI_LPR_ABOVE = 1 shl 0;
  425. MUI_LPR_BELOW = 1 shl 1;
  426. MUI_LPR_LEFT = 1 shl 2;
  427. MUI_LPR_RIGHT = 1 shl 3;
  428. // Structure used by MUIM_Application_AddInputHandler/RemInputHandler
  429. type
  430. PMUI_InputHandlerNode = ^TMUI_InputHandlerNode;
  431. TMUI_InputHandlerNode = record
  432. ihn_Node: TMinNode;
  433. ihn_Object: PObject_;
  434. ihn_stuff: record
  435. case LongInt of
  436. 0 : (ihn_sigs: LongWord);
  437. 1 : (ihn_timer: record
  438. ihn_millis: word;
  439. ihn_current: word;
  440. end);
  441. end;
  442. ihn_Flags: LongWord;
  443. ihn_Method: LongWord;
  444. end;
  445. // ihn_Signals = ihn_stuff.ihn_sigs;
  446. // ihn_Millis = ihn_stuff.(ihn_timer.ihn_millis);
  447. // ihn_Current = ihn_stuff.(ihn_timer.ihn_current);
  448. TMUI_DragImage = record
  449. bm: PBitmap;
  450. width: SmallInt; // exact width and height of bitmap
  451. height: SmallInt;
  452. touchx: SmallInt; // position of pointer click relative to bitmap
  453. touchy: SmallInt;
  454. flags: LongWord;
  455. end;
  456. PMUI_DragImage =^TMUI_DragImage;
  457. { For Boopsi Image Implementors Only:
  458. If MUI is using a boopsi image object, it will send a special method
  459. immediately after object creation. This method has a parameter structure
  460. where the boopsi can fill in its minimum and maximum size and learn if
  461. its used in a horizontal or vertical context.
  462. The boopsi image must use the method id (MUIM_BoopsiQuery) as return
  463. value. That's how MUI sees that the method is implemented.
  464. Note: MUI does not depend on this method. If the boopsi image doesn't
  465. implement it, minimum size will be 0 and maximum size unlimited. }
  466. const
  467. MUIM_BoopsiQuery = $80427157;
  468. MRI_RARRAY_SIZE = 20;
  469. type
  470. Tdt_frame_image = record
  471. end;
  472. Pdt_frame_image = ^Tdt_frame_image;
  473. // Info about the display environment on which all Area Objects have a reference to it.
  474. TMUI_RenderInfo = record
  475. mri_WindowObject: PObject_; // accessable in-between MUIM_Setup/MUIM_Cleanup
  476. mri_Screen: PScreen; // accessable in-between MUIM_Setup/MUIM_Cleanup
  477. mri_DrawInfo: PDrawInfo; // accessable in-between MUIM_Setup/MUIM_Cleanup
  478. mri_Pens: PWord; // accessable in-between MUIM_Setup/MUIM_Cleanup
  479. mri_Window: PWindow; // accessable in-between MUIM_Show/MUIM_Hide
  480. mri_RastPort: PRastPort; // accessable in-between MUIM_Show/MUIM_Hide
  481. mri_Flags: LongWord; // accessable in-between MUIM_Setup/MUIM_Cleanup
  482. // the following stuff is private
  483. mri_Colormap: PColorMap;
  484. mri_ScreenWidth: word;
  485. mri_ScreenHeight: word;
  486. mri_PensStorage: array[0..MPEN_COUNT-1] of word; // storage for pens, mri_Pens points to here
  487. mri_Fonts: array[0..(0-MUIV_Font_NegCount)-1] of PTextFont; // Opened text fonts, done by zune_get_font()
  488. mri_rArray: array[0..MRI_RARRAY_SIZE-1] of PRegion; // this is for AddClipping/AddClipRegion
  489. mri_rCount: Integer;
  490. mri_ClipRect: TRectangle;
  491. mri_BorderTop: word; // The height of the windows top border (title)
  492. mri_BorderBottom: word; // The height of the window's bottom bodder
  493. mri_BorderLeft: word; // The width of the window's left border
  494. mri_BorderRight: word; // The width of the window's right border
  495. // Stuff for Borderscrollers
  496. mri_LeftImage: PObject_; // Valid between MUIM_Setup/MUIM_Cleanup
  497. mri_RightImage: PObject_;
  498. mri_UpImage: PObject_;
  499. mri_DownImage: PObject_;
  500. mri_SizeImage: PObject_;
  501. mri_VertProp: PObject_; // Valid between MUIM_Show/MUIM_Hide
  502. mri_HorizProp: PObject_;
  503. // buffering
  504. mri_BufferRP: TRastPort;
  505. mri_BufferBM: PBitmap;
  506. mri_FrameImage: array[0..15] of Pdt_frame_image;
  507. end;
  508. PMUI_RenderInfo = ^TMUI_RenderInfo;
  509. const
  510. // Flags for mri_Flags
  511. MUIMRI_RECTFILL = 1 shl 0; // If mri_Flags and MUIMRI_RECTFILL, RectFill() is quicker than Move()/Draw() for horizontal or vertical lines. on the current display.
  512. MUIMRI_TRUECOLOR = 1 shl 1; // If mri_Flags and MUIMRI_TRUECOLOR, display environment is a cybergraphics emulated hicolor or true color display.
  513. MUIMRI_THINFRAMES = 1 shl 2; // If mri_Flags and MUIMRI_THINFRAMES, MUI uses thin frames (1:1) apsect ratio instead of standard 2:1 frames.
  514. MUIMRI_REFRESHMODE = 1 shl 3; // If mri_Flags and MUIMRI_REFRESHMODE, MUI is currently refreshing a WFLG_SIMPLEREFRESH window and is between a BeginRefresh()/EndRefresh() pair.
  515. type
  516. PMUI_BoopsiQuery = ^TMUI_BoopsiQuery;
  517. TMUI_BoopsiQuery = record
  518. mbq_MethodID: LongWord; // always MUIM_BoopsiQuery
  519. mbq_Screen: PScreen; // obsolete, use mbq_RenderInfo
  520. mbq_Flags: LongWord; // read only, see below
  521. mbq_MinWidth: LongInt; // write only, fill in min width
  522. mbq_MinHeight: LongInt; // write only, fill in min height
  523. mbq_MaxWidth: LongInt; // write only, fill in max width
  524. mbq_MaxHeight: LongInt; // write only, fill in max height
  525. mbq_DefWidth: LongInt; // write only, fill in def width
  526. mbq_DefHeight: LongInt; // write only, fill in def height
  527. mbq_RenderInfo: PMUI_RenderInfo; // read only, display context
  528. end; // may grow in future ...
  529. // old structure name
  530. MUIP_BoopsiQuery = TMUI_BoopsiQuery;
  531. const
  532. MBQF_HORIZ = 1 shl 0; // object used in a horizontal context (else vertical) use this for unlimited MaxWidth/Height
  533. MBQ_MUI_MAXMAX = 10000; // use this for unlimited MaxWidth/Height
  534. IDCMP_MOUSEOBJECT = $40000000; // special idcmp message created by MUI
  535. // Flags for Slave.mui MUIM_Slave_Delegate
  536. MUIF_Slave_Delegate_ForceSlave = 1 shl 0; // skip caller task check and always dispatch the method on Slave's thread; useful when calling
  537. // from a process which is neither the main MUI process nor the Slave's process
  538. // *********************************************************************
  539. // Notify
  540. const
  541. MUIC_Notify: PAnsiChar = 'Notify.mui';
  542. // Identifier base (for Zune extensions)
  543. MUIB_Notify = MUIB_ZUNE or $00001d00;
  544. // Methods
  545. MUIM_CallHook = MUIB_MUI or $42b96b; // V4
  546. MUIM_Export = MUIB_MUI or $420f1c; // V12
  547. MUIM_FindUData = MUIB_MUI or $42c196; // V8
  548. MUIM_GetConfigItem = MUIB_MUI or $423edb; // V11
  549. MUIM_GetUData = MUIB_MUI or $42ed0c; // V8
  550. MUIM_Import = MUIB_MUI or $42d012; // V12
  551. MUIM_KillNotify = MUIB_MUI or $42d240; // V4
  552. MUIM_KillNotifyObj = MUIB_MUI or $42b145; // V16
  553. MUIM_MultiSet = MUIB_MUI or $42d356; // V7
  554. MUIM_NoNotifySet = MUIB_MUI or $42216f; // V9
  555. MUIM_Notify = MUIB_MUI or $42c9cb; // V4
  556. MUIM_Set = MUIB_MUI or $42549a; // V4
  557. MUIM_SetAsString = MUIB_MUI or $422590; // V4
  558. MUIM_SetUData = MUIB_MUI or $42c920; // V8
  559. MUIM_SetUDataOnce = MUIB_MUI or $42ca19; // V11
  560. MUIM_WriteLong = MUIB_MUI or $428d86; // V6
  561. MUIM_WriteString = MUIB_MUI or $424bf4; // V6
  562. // AROS Specials
  563. MUIM_ConnectParent = MUIB_Notify or 0; // Zune V1
  564. MUIM_DisconnectParent = MUIB_Notify or 1; // Zune V1
  565. type
  566. TMUIP_CallHook = record
  567. MethodID: LongWord; // MUIM_CallHook
  568. Hook: PHook;
  569. param1: LongWord; // more might follow
  570. end;
  571. PMUIP_CallHook = ^TMUIP_CallHook;
  572. TMUIP_Export = record
  573. MethodID : LongWord; // MUIM_Export
  574. dataspace : PObject_;
  575. end;
  576. PMUIP_Export = ^TMUIP_Export;
  577. TMUIP_FindUData = record
  578. MethodID : LongWord; // MUIM_FindUData
  579. udata: LongWord;
  580. end;
  581. PMUIP_FindUData = ^TMUIP_FindUData;
  582. TMUIP_GetConfigItem = record
  583. MethodID: LongWord; // MUIM_GetConfigItem
  584. id: LongWord;
  585. storage: PLongWord;
  586. end;
  587. PMUIP_GetConfigItem = ^TMUIP_GetConfigItem;
  588. TMUIP_GetUData = record
  589. MethodID: LongWord; // MUIM_GetUData
  590. udata: LongWord;
  591. attr: LongWord;
  592. storage: PLongWord;
  593. end;
  594. PMUIP_GetUData = ^TMUIP_GetUData;
  595. TMUIP_Import = record
  596. MethodID : LongWord; // MUIM_Import
  597. dataspace : PObject_;
  598. end;
  599. PMUIP_Import = ^TMUIP_Import;
  600. TMUIP_KillNotify = record
  601. MethodID : LongWord; // MUIM_KillNotify
  602. TrigAttr : LongWord;
  603. end;
  604. PMUIP_KillNotify = ^TMUIP_KillNotify;
  605. TMUIP_KillNotifyObj = record
  606. MethodID: LongWord; // MUIM_KillNotifyObj
  607. TrigAttr: LongWord;
  608. dest: PObject_;
  609. end;
  610. PMUIP_KillNotifyObj = ^TMUIP_KillNotifyObj;
  611. TMUIP_MultiSet = record
  612. MethodID: LongWord; // MUIM_MultiSet
  613. attr: LongWord;
  614. val: LongWord;
  615. obj: APTR; // more might follow
  616. end;
  617. PMUIP_MultiSet = ^TMUIP_MultiSet;
  618. TMUIP_NoNotifySet = record
  619. MethodID: LongWord; // MUIM_NoNotifySet
  620. attr: LongWord;
  621. val: LongWord; // more might follow
  622. end;
  623. PMUIP_NoNotifySet = ^TMUIP_NoNotifySet;
  624. TMUIP_Notify = record
  625. MethodID: LongWord; // MUIM_Notify
  626. TrigAttr: LongWord;
  627. TrigVal: LongWord;
  628. DestObj: APTR;
  629. FollowParams: LongWord; // more might follow
  630. end;
  631. PMUIP_Notify = ^TMUIP_Notify;
  632. TMUIP_Set = record
  633. MethodID: LongWord; // MUIM_Set
  634. attr: LongWord;
  635. val: LongWord;
  636. end;
  637. PMUIP_Set = ^TMUIP_Set;
  638. TMUIP_SetAsString = record
  639. MethodID: LongWord; // MUIM_SetAsString
  640. attr: LongWord;
  641. format: PAnsiChar;
  642. val: LongWord;
  643. end;
  644. PMUIP_SetAsString = ^TMUIP_SetAsString;
  645. TMUIP_SetUData = record
  646. MethodID: LongWord; // MUIM_SetUData
  647. udata: LongWord;
  648. attr: LongWord;
  649. val: LongWord;
  650. end;
  651. PMUIP_SetUData = ^TMUIP_SetUData;
  652. TMUIP_SetUDataOnce = record
  653. MethodID : LongWord; // MUIM_SetUDataOnce
  654. udata: LongWord;
  655. attr: LongWord;
  656. val: LongWord;
  657. end;
  658. PMUIP_SetUDataOnce = ^TMUIP_SetUDataOnce;
  659. TMUIP_WriteLong = record
  660. MethodID: LongWord; // MUIM_WriteLong
  661. val: LongWord;
  662. memory: PLongWord;
  663. end;
  664. PMUIP_WriteLong = ^TMUIP_WriteLong;
  665. TMUIP_WriteString = record
  666. MethodID: LongWord; // MUIM_WriteString
  667. str: PAnsiChar;
  668. memory: PAnsiChar;
  669. end;
  670. PMUIP_WriteString = ^TMUIP_WriteString;
  671. TMUIP_ConnectParent = record
  672. MethodID: LongWord; // MUIM_ConnectParent
  673. parent: PObject_;
  674. end;
  675. PMUIP_ConnectParent = ^TMUIP_ConnectParent;
  676. TMUIP_DisconnectParent = record
  677. MethodID: LongWord; // MUIM_DisconnectParent
  678. end;
  679. PMUIP_DisconnectParent = ^TMUIP_DisconnectParent;
  680. // Attributes
  681. const
  682. MUIA_ApplicationObject = MUIB_MUI or $42d3ee; // V4 ..g PObject
  683. MUIA_AppMessage = MUIB_MUI or $421955; // V5 ..g PAppMessage
  684. MUIA_HelpLine = MUIB_MUI or $42a825; // V4 isg LongInt
  685. MUIA_HelpNode = MUIB_MUI or $420b85; // V4 isg STRPTR
  686. MUIA_NoNotify = MUIB_MUI or $4237f9; // V7 .s. WordBool
  687. MUIA_ObjectID = MUIB_MUI or $42d76e; // V11 isg LongWord
  688. MUIA_Parent = MUIB_MUI or $42e35f; // V11 ..g PObject
  689. MUIA_Revision = MUIB_MUI or $427eaa; // V4 ..g LongInt
  690. MUIA_UserData = MUIB_MUI or $420313; // V4 isg LongWord
  691. MUIA_Version = MUIB_MUI or $422301; // V4 ..g LongInt
  692. MUIA_NoNotifyMethod = MUIB_MUI or $420a74; // V20 .s. LongWord
  693. // *********************************************************************
  694. // Family
  695. const
  696. MUIC_Family: PAnsiChar = 'Family.mui';
  697. // Identifier base (for Zune extensions)
  698. MUIB_Family = MUIB_ZUNE or $00000c00;
  699. // Methods
  700. MUIM_Family_AddHead = MUIB_MUI or $42e200; // V8
  701. MUIM_Family_AddTail = MUIB_MUI or $42d752; // V8
  702. MUIM_Family_Insert = MUIB_MUI or $424d34; // V8
  703. MUIM_Family_Remove = MUIB_MUI or $42f8a9; // V8
  704. MUIM_Family_Sort = MUIB_MUI or $421c49; // V8
  705. MUIM_Family_Transfer = MUIB_MUI or $42c14a; // V8
  706. MUIM_Family_GetChild = MUIB_MUI or $42c556; // V20
  707. MUIM_Family_DoChildMethods = MUIB_MUI or $429a3c; // V20
  708. type
  709. TMUIP_Family_AddHead = record
  710. MethodID: LongWord; // MUIM_Family_AddHead
  711. obj: PObject_;
  712. end;
  713. PMUIP_Family_AddHead = ^TMUIP_Family_AddHead;
  714. TMUIP_Family_AddTail = record
  715. MethodID: LongWord; // MUIM_Family_AddTail
  716. obj: PObject_;
  717. end;
  718. PMUIP_Family_AddTail = ^TMUIP_Family_AddTail;
  719. TMUIP_Family_Insert = record
  720. MethodID: LongWord; // MUIM_Family_Insert
  721. obj: PObject_;
  722. pred: PObject_;
  723. end;
  724. PMUIP_Family_Insert = ^TMUIP_Family_Insert;
  725. TMUIP_Family_Remove = record
  726. MethodID : LongWord; // MUIM_Family_Remove
  727. obj : PObject_;
  728. end;
  729. PMUIP_Family_Remove = ^TMUIP_Family_Remove;
  730. TMUIP_Family_Sort = record
  731. MethodID : LongWord; // MUIM_Family_Sort
  732. obj : array[0..0] of PObject_;
  733. end;
  734. PMUIP_Family_Sort = ^TMUIP_Family_Sort;
  735. TMUIP_Family_Transfer = record
  736. MethodID: LongWord; // MUIM_Family_Transfer
  737. family: PObject_;
  738. end;
  739. PMUIP_Family_Transfer = ^TMUIP_Family_Transfer;
  740. TMUIP_Family_GetChild = record
  741. MethodID: LongWord; // MUIM_Family_GetChild
  742. nr: LongInt; // MUIV_Family_GetChild_* or Number
  743. ref: PObject_;
  744. end;
  745. PMUIP_Family_GetChild = ^TMUIP_Family_GetChild;
  746. // Attributes
  747. const
  748. MUIA_Family_Child = MUIB_MUI or $42c696; // V8 i.. PObject
  749. MUIA_Family_List = MUIB_MUI or $424b9e; // V8 ..g PMinList
  750. MUIA_Family_ChildCount = MUIB_MUI or $42b25a; // V20 ..g LongInt
  751. MUIV_Family_GetChild_First = 0;
  752. MUIV_Family_GetChild_Last = -1;
  753. MUIV_Family_GetChild_Next = -2;
  754. MUIV_Family_GetChild_Previous = -3;
  755. MUIV_Family_GetChild_Iterate = -4;
  756. MUIV_Group_GetChild_First = MUIV_Family_GetChild_First;
  757. MUIV_Group_GetChild_Last = MUIV_Family_GetChild_Last;
  758. MUIV_Group_GetChild_Next = MUIV_Family_GetChild_Next;
  759. MUIV_Group_GetChild_Previous = MUIV_Family_GetChild_Previous;
  760. MUIV_Group_GetChild_Iterate = MUIV_Family_GetChild_Iterate;
  761. // *********************************************************************
  762. // Application
  763. const
  764. MUIC_Application: PAnsiChar = 'Application.mui';
  765. // Identifier base (for Zune extensions)
  766. MUIB_Application = MUIB_ZUNE or $00000100;
  767. // Methods
  768. const
  769. MUIM_Application_AboutMUI = MUIB_MUI or $42d21d; // V14
  770. MUIM_Application_AddInputHandler = MUIB_MUI or $42f099; // V11
  771. MUIM_Application_CheckRefresh = MUIB_MUI or $424d68; // V11
  772. MUIM_Application_GetMenuCheck = MUIB_MUI or $42c0a7; // V4
  773. MUIM_Application_GetMenuState = MUIB_MUI or $42a58f; // V4
  774. MUIM_Application_Input = MUIB_MUI or $42d0f5; // V4
  775. MUIM_Application_InputBuffered = MUIB_MUI or $427e59; // V4
  776. MUIM_Application_Load = MUIB_MUI or $42f90d; // V4
  777. MUIM_Application_NewInput = MUIB_MUI or $423ba6; // V11
  778. MUIM_Application_OpenConfigWindow = MUIB_MUI or $4299ba; // V11
  779. MUIM_Application_PushMethod = MUIB_MUI or $429ef8; // V4
  780. MUIM_Application_RemInputHandler = MUIB_MUI or $42e7af; // V11
  781. MUIM_Application_ReturnID = MUIB_MUI or $4276ef; // V4
  782. MUIM_Application_Save = MUIB_MUI or $4227ef; // V4
  783. MUIM_Application_SetConfigItem = MUIB_MUI or $424a80; // V11
  784. MUIM_Application_SetMenuCheck = MUIB_MUI or $42a707; // V4
  785. MUIM_Application_SetMenuState = MUIB_MUI or $428bef; // V4
  786. MUIM_Application_ShowHelp = MUIB_MUI or $426479; // V4
  787. MUIM_Application_UnpushMethod = MUIB_MUI or $4211dd; // V20
  788. // AROS specials
  789. MUIM_Application_SetConfigdata = MUIB_Application or $00000000; // Zune 20030407
  790. MUIM_Application_OpenWindows = MUIB_Application or $00000001; // Zune 20030407
  791. MUIM_Application_Iconify = MUIB_Application or $00000002; // Zune: V1
  792. MUIM_Application_Execute = MUIB_Application or $00000003;
  793. MUIM_Application_UpdateMenus = MUIB_Application or $00000004; // Zune 20070712
  794. type
  795. TMUIP_Application_AboutMUI = record
  796. MethodID: LongWord; // MUIM_Application_AboutMUI
  797. refwindow: PObject_;
  798. end;
  799. PMUIP_Application_AboutMUI = ^TMUIP_Application_AboutMUI;
  800. TMUIP_Application_AddInputHandler = record
  801. MethodID: LongWord; // MUIM_Application_AddInputHandler
  802. ihnode: PMUI_InputHandlerNode;
  803. end;
  804. PMUIP_Application_AddInputHandler = ^TMUIP_Application_AddInputHandler;
  805. TMUIP_Application_CheckRefresh = record
  806. MethodID: LongWord; // MUIM_Application_CheckRefresh
  807. end;
  808. PMUIP_Application_CheckRefresh = ^TMUIP_Application_CheckRefresh;
  809. TMUIP_Application_GetMenuCheck = record
  810. MethodID: LongWord; // MUIM_Application_GetMenuCheck
  811. MenuID: LongWord;
  812. end;
  813. PMUIP_Application_GetMenuCheck = ^TMUIP_Application_GetMenuCheck;
  814. TMUIP_Application_GetMenuState = record
  815. MethodID: LongWord; // MUIM_Application_GetMenuState
  816. MenuID: LongWord;
  817. end;
  818. PMUIP_Application_GetMenuState = ^TMUIP_Application_GetMenuState;
  819. TMUIP_Application_Input = record
  820. MethodID: LongWord; // MUIM_Application_Input
  821. signal: PLongWord;
  822. end;
  823. PMUIP_Application_Input = ^TMUIP_Application_Input;
  824. TMUIP_Application_InputBuffered = record
  825. MethodID: LongWord; // MUIM_Application_InputBuffered
  826. end;
  827. PMUIP_Application_InputBuffered = ^TMUIP_Application_InputBuffered;
  828. TMUIP_Application_Load = record
  829. MethodID: LongWord; // MUIM_Application_Load
  830. name: STRPTR;
  831. end;
  832. PMUIP_Application_Load = ^TMUIP_Application_Load;
  833. TMUIP_Application_NewInput = record
  834. MethodID: LongWord; // MUIM_Application_NewInput
  835. signal: PLongWord;
  836. end;
  837. PMUIP_Application_NewInput = ^TMUIP_Application_NewInput;
  838. TMUIP_Application_OpenConfigWindow = record
  839. MethodID: LongWord; // MUIM_Application_OpenConfigWindow
  840. flags: LongWord;
  841. end;
  842. PMUIP_Application_OpenConfigWindow = ^TMUIP_Application_OpenConfigWindow;
  843. TMUIP_Application_PushMethod = record
  844. MethodID: LongWord; // MUIM_Application_PushMethod
  845. dest: PObject_;
  846. count: LongInt; // more elements may follow
  847. end;
  848. PMUIP_Application_PushMethod = ^TMUIP_Application_PushMethod;
  849. TMUIP_Application_UnpushMethod = record
  850. MethodID: LongWord; // MUIM_Application_UnpushMethod
  851. dest: PObject_;
  852. NewMethodID: LongWord;
  853. method: LongWord;
  854. end;
  855. PMUIP_Application_UnpushMethod = ^TMUIP_Application_UnpushMethod;
  856. TMUIP_Application_RemInputHandler = record
  857. MethodID: LongWord; // MUIM_Application_RemInputHandler
  858. ihnode: PMUI_InputHandlerNode;
  859. end;
  860. PMUIP_Application_RemInputHandler = ^TMUIP_Application_RemInputHandler;
  861. TMUIP_Application_ReturnID = record
  862. MethodID: LongWord; // MUIM_Application_ReturnID
  863. retid: LongWord;
  864. end;
  865. PMUIP_Application_ReturnID = ^TMUIP_Application_ReturnID;
  866. TMUIP_Application_Save = record
  867. MethodID: LongWord; // MUIM_Application_Save
  868. name: STRPTR;
  869. end;
  870. TMUIP_Application_SetConfigItem = record
  871. MethodID: LongWord; // MUIM_Application_SetConfigItem
  872. item: LongWord;
  873. data: APTR;
  874. end;
  875. PMUIP_Application_SetConfigItem = ^TMUIP_Application_SetConfigItem;
  876. TMUIP_Application_SetMenuCheck = record
  877. MethodID: LongWord; // MUIM_Application_SetMenuCheck
  878. MenuID: LongWord;
  879. stat: LongInt;
  880. end;
  881. PMUIP_Application_SetMenuCheck = ^TMUIP_Application_SetMenuCheck;
  882. TMUIP_Application_SetMenuState = record
  883. MethodID : LongWord; // MUIM_Application_SetMenuState
  884. MenuID : LongWord;
  885. stat : LongInt;
  886. end;
  887. PMUIP_Application_SetMenuState = ^TMUIP_Application_SetMenuState;
  888. TMUIP_Application_ShowHelp = record
  889. MethodID: LongWord; // MUIM_Application_ShowHelp
  890. window: PObject_;
  891. name: PAnsiChar;
  892. node: PAnsiChar;
  893. line: LongInt;
  894. end;
  895. PMUIP_Application_ShowHelp = ^TMUIP_Application_ShowHelp;
  896. // Attributes
  897. const
  898. MUIA_Application_Active = MUIB_MUI or $4260ab; // V4 isg WordBool
  899. MUIA_Application_Author = MUIB_MUI or $424842; // V4 i.g STRPTR
  900. MUIA_Application_Base = MUIB_MUI or $42e07a; // V4 i.g STRPTR
  901. MUIA_Application_Broker = MUIB_MUI or $42dbce; // V4 ..g PBroker
  902. MUIA_Application_BrokerHook = MUIB_MUI or $428f4b; // V4 isg PHook
  903. MUIA_Application_BrokerPort = MUIB_MUI or $42e0ad; // V6 ..g PMsgPort
  904. MUIA_Application_BrokerPri = MUIB_MUI or $42c8d0; // V6 i.g LongInt
  905. MUIA_Application_Commands = MUIB_MUI or $428648; // V4 isg PMUI_Command
  906. MUIA_Application_Copyright = MUIB_MUI or $42ef4d; // V4 i.g STRPTR
  907. MUIA_Application_Description = MUIB_MUI or $421fc6; // V4 i.g STRPTR
  908. MUIA_Application_DiskObject = MUIB_MUI or $4235cb; // V4 isg PDiskObject
  909. MUIA_Application_DoubleStart = MUIB_MUI or $423bc6; // V4 ..g WordBool
  910. MUIA_Application_DropObject = MUIB_MUI or $421266; // V5 is. PObject
  911. MUIA_Application_ForceQuit = MUIB_MUI or $4257df; // V8 ..g WordBool
  912. MUIA_Application_HelpFile = MUIB_MUI or $4293f4; // V8 isg STRPTR
  913. MUIA_Application_Iconified = MUIB_MUI or $42a07f; // V4 .sg WordBool
  914. MUIA_Application_MenuAction = MUIB_MUI or $428961; // V4 ..g LongWord
  915. MUIA_Application_MenuHelp = MUIB_MUI or $42540b; // V4 ..g LongWord
  916. MUIA_Application_Menustrip = MUIB_MUI or $4252d9; // V8 i.. PObject
  917. MUIA_Application_RexxHook = MUIB_MUI or $427c42; // V7 isg PHook
  918. MUIA_Application_RexxMsg = MUIB_MUI or $42fd88; // V4 ..g PRxMsg
  919. MUIA_Application_RexxString = MUIB_MUI or $42d711; // V4 .s. STRPTR
  920. MUIA_Application_SingleTask = MUIB_MUI or $42a2c8; // V4 i.. WordBool
  921. MUIA_Application_Sleep = MUIB_MUI or $425711; // V4 .s. WordBool
  922. MUIA_Application_Title = MUIB_MUI or $4281b8; // V4 i.g STRPTR
  923. MUIA_Application_UseCommodities = MUIB_MUI or $425ee5; // V10 i.. WordBool
  924. MUIA_Application_UsedClasses = MUIB_MUI or $42e9a7; // V10 i.. STRPTR
  925. MUIA_Application_UseRexx = MUIB_MUI or $422387; // V10 i.. WordBool
  926. MUIA_Application_SetWinPos = MUIB_MUI or $432387;
  927. MUIA_Application_GetWinPos = MUIB_MUI or $432388;
  928. MUIA_Application_SearchWinId = MUIB_MUI or $432389;
  929. MUIA_Application_GetWinPosAddr = MUIB_MUI or $432390;
  930. MUIA_Application_GetWinPosSize = MUIB_MUI or $432391;
  931. MUIA_Application_CopyWinPosToApp = MUIB_MUI or $432392;
  932. MUIA_Application_Version = MUIB_MUI or $42b33f; // V4 i.g STRPTR Standard DOS version string Example: "$VER: Program 1.3 (14.11.03)". Zune
  933. // Zune extension: If unspecified or NULL, it will be automatically
  934. // constructed from MUIA_Application_Title, MUIA_Application_Version_Number,
  935. // MUIA_Application_Version_Date and MUIA_Application_Version_Extra as
  936. // follows: "$VER: <title> <version> (<date>) [<extra>]".
  937. MUIA_Application_Window = MUIB_MUI or $42bfe0; // V4 i.. PObject
  938. MUIA_Application_WindowList = MUIB_MUI or $429abe; // V13 ..g PList
  939. MUIA_Application_Configdata = MUIB_Application or $0; // Zune 20030407 .s. PObject
  940. MUIA_Application_Version_Number = MUIB_Application or $1; // Zune i.g STRPTR Version number. Examples: "1.5", "2.37.4b".
  941. MUIA_Application_Version_Date = MUIB_Application or $2; // Zune i.g STRPTR Date information on the standard international YYYY-MM-DD format.
  942. MUIA_Application_Version_Extra = MUIB_Application or $3; // Zune i.g STRPTR Arbitrary extra version information. Example: "nightly build".
  943. // MUI Obsolete tags
  944. {$ifdef MUI_OBSOLETE}
  945. MUIA_Application_Menu = MUIB_MUI or $420e1f; // V4 i.g PNewMenu
  946. {$endif} // MUI_OBSOLETE
  947. MAXWINS = 300;
  948. MUIV_Application_Package_NetConnect = $a3ff7b49;
  949. type
  950. TWindowPos = record
  951. id: LongWord;
  952. x1, y1, w1, h1: SmallInt;
  953. x2, y2, w2, h2: SmallInt;
  954. end;
  955. const
  956. // Flags for ihn_Flags set ihn_Ticks to number of 1/100 sec ticks you want to be triggered
  957. MUIIHNF_TIMER = 1 shl 0; // you want to be called every ihn_Millis msecs
  958. MUIIHNF_TIMER_SCALE10 = 1 shl 1; // ihn_Millis is in 1/100 seconds instead
  959. MUIIHNF_TIMER_SCALE100 = 1 shl 2; // ihn_Millis is in 1/10 seconds instead setting both SCALE10|SCALE100 makes ihn_Millis 1/1 seconds
  960. // Special values for the name field of MUIM_Application_Load/Save
  961. MUIV_Application_Save_ENV = 0;
  962. MUIV_Application_Save_ENVARC = -1;
  963. MUIV_Application_Load_ENV = 0;
  964. MUIV_Application_Load_ENVARC = -1;
  965. // Special Values MUIM_Application_ReturnID. Usually program should leave the event loop if this is set
  966. MUIV_Application_ReturnID_Quit = -1;
  967. type
  968. TMUI_GlobalInfo = record
  969. priv0: LongWord;
  970. mgi_ApplicationObject: PObject_;
  971. // The following data is private only, might be extended!
  972. end;
  973. PMUI_GlobalInfo = ^TMUI_GlobalInfo;
  974. // *********************************************************************
  975. // Window
  976. const
  977. MUIC_Window: PAnsiChar = 'Window.mui';
  978. // Identifier base (for Zune extensions)
  979. MUIB_Window = MUIB_ZUNE or $00003600;
  980. // Methods
  981. MUIM_Window_ActionIconify = MUIB_MUI or $422cc0; // V18 undoc
  982. MUIM_Window_AddEventHandler = MUIB_MUI or $4203b7; // V16
  983. MUIM_Window_Cleanup = MUIB_MUI or $42ab26; // V18 undoc For custom classes only
  984. MUIM_Window_RemEventHandler = MUIB_MUI or $42679e; // V16
  985. MUIM_Window_ScreenToBack = MUIB_MUI or $42913d; // V4
  986. MUIM_Window_ScreenToFront = MUIB_MUI or $4227a4; // V4
  987. MUIM_Window_Setup = MUIB_MUI or $42c34c; // V18 undoc For custom Classes only
  988. MUIM_Window_Snapshot = MUIB_MUI or $42945e; // V11
  989. MUIM_Window_ToBack = MUIB_MUI or $42152e; // V4
  990. MUIM_Window_ToFront = MUIB_MUI or $42554f; // V4
  991. // AROS specials
  992. MUIM_Window_AllocGadgetID = MUIB_Window or $1; // Zune: V1 - allocate a GadgetID for BOOPSI gadgets
  993. MUIM_Window_FreeGadgetID = MUIB_Window or $4; // Zune: V1 - free the GadgetID for BOOPSI gadgets
  994. type
  995. TMUIP_Window_ActionIconify = record
  996. MethodID: LongWord; // MUIM_Window_ActionIconify
  997. end;
  998. PMUIP_Window_ActionIconify = ^TMUIP_Window_ActionIconify;
  999. TMUIP_Window_AddEventHandler = record
  1000. MethodID: LongWord; // MUIM_Window_AddEventHandler
  1001. ehnode: PMUI_EventHandlerNode;
  1002. end;
  1003. PMUIP_Window_AddEventHandler = ^TMUIP_Window_AddEventHandler;
  1004. TMUIP_Window_Cleanup = record
  1005. MethodID: LongWord; // MUIM_Window_Cleanup
  1006. end;
  1007. PMUIP_Window_Cleanup = ^TMUIP_Window_Cleanup;
  1008. TMUIP_Window_RemEventHandler = record
  1009. MethodID: LongWord; // MUIM_Window_RemEventHandler
  1010. ehnode: PMUI_EventHandlerNode;
  1011. end;
  1012. PMUIP_Window_RemEventHandler = ^TMUIP_Window_RemEventHandler;
  1013. TMUIP_Window_ScreenToBack = record
  1014. MethodID: LongWord; // MUIM_Window_ScreenToBack
  1015. end;
  1016. PMUIP_Window_ScreenToBack = ^TMUIP_Window_ScreenToBack;
  1017. TMUIP_Window_ScreenToFront = record
  1018. MethodID: LongWord; // MUIM_Window_ScreenToFront
  1019. end;
  1020. PMUIP_Window_ScreenToFront = ^TMUIP_Window_ScreenToFront;
  1021. TMUIP_Window_Setup = record
  1022. MethodID: LongWord; // MUIM_Window_Setup
  1023. end;
  1024. PMUIP_Window_Setup = ^TMUIP_Window_Setup;
  1025. TMUIP_Window_Snapshot = record
  1026. MethodID: LongWord; // MUIM_Window_Snapshot
  1027. flags: LongInt;
  1028. end;
  1029. PMUIP_Window_Snapshot = ^TMUIP_Window_Snapshot;
  1030. TMUIP_Window_ToBack = record
  1031. MethodID: LongWord; // MUIM_Window_ToBack
  1032. end;
  1033. PMUIP_Window_ToBack = ^TMUIP_Window_ToBack;
  1034. TMUIP_Window_ToFront = record
  1035. MethodID: LongWord; // MUIM_Window_ToFront
  1036. end;
  1037. PMUIP_Window_ToFront = ^TMUIP_Window_ToFront;
  1038. TMUIP_Window_AddControlCharHandler = record
  1039. MethodID: LongWord;
  1040. ccnode: PMUI_EventHandlerNode;
  1041. end;
  1042. PMUIP_Window_AddControlCharHandler = ^TMUIP_Window_AddControlCharHandler;
  1043. TMUIP_Window_AllocGadgetID = record
  1044. MethodID: LongWord;
  1045. end;
  1046. PMUIP_Window_AllocGadgetID = ^TMUIP_Window_AllocGadgetID;
  1047. TMUIP_Window_DrawBackground = record
  1048. MethodID: LongWord;
  1049. left: LongInt;
  1050. top: LongInt;
  1051. width: LongInt;
  1052. height: LongInt;
  1053. xoffset: LongInt;
  1054. yoffset: LongInt;
  1055. flags: LongInt;
  1056. end;
  1057. PMUIP_Window_DrawBackground = ^TMUIP_Window_DrawBackground;
  1058. TMUIP_Window_DragObject = record
  1059. MethodID: LongWord;
  1060. obj: PObject_;
  1061. touchx: LongInt;
  1062. touchy: LongInt;
  1063. flags: LongWord;
  1064. end;
  1065. PMUIP_Window_DragObject = ^TMUIP_Window_DragObject;
  1066. TMUIP_Window_FreeGadgetID = record
  1067. MethodID: LongWord;
  1068. gadgetid: LongInt;
  1069. end;
  1070. PMUIP_Window_FreeGadgetID = ^TMUIP_Window_FreeGadgetID;
  1071. TMUIP_Window_RecalcDisplay = record
  1072. MethodID: LongWord;
  1073. originator: PObject_;
  1074. end;
  1075. PMUIP_Window_RecalcDisplay = ^TMUIP_Window_RecalcDisplay;
  1076. TMUIP_Window_RemControlCharHandler = record
  1077. MethodID: LongWord;
  1078. ccnode: PMUI_EventHandlerNode;
  1079. end;
  1080. PMUIP_Window_RemControlCharHandler = ^TMUIP_Window_RemControlCharHandler;
  1081. TMUIP_Window_UpdateMenu = record
  1082. MethodID: LongWord;
  1083. end;
  1084. {$ifdef MUI_OBSOLETE}
  1085. const
  1086. MUIM_Window_GetMenuCheck = MUIB_MUI or $420414; // V4
  1087. MUIM_Window_GetMenuState = MUIB_MUI or $420d2f; // V4
  1088. MUIM_Window_SetCycleChain = MUIB_MUI or $426510; // V4
  1089. MUIM_Window_SetMenuCheck = MUIB_MUI or $422243; // V4
  1090. MUIM_Window_SetMenuState = MUIB_MUI or $422b5e; // V4
  1091. type
  1092. TMUIP_Window_GetMenuCheck = record
  1093. MethodID: LongWord;
  1094. MenuID: LongWord;
  1095. end;
  1096. TMUIP_Window_GetMenuState = record
  1097. MethodID: LongWord;
  1098. MenuID: LongWord;
  1099. end;
  1100. TMUIP_Window_SetCycleChain = record
  1101. MethodID: LongWord;
  1102. obj: array[0..0] of PObject_;
  1103. end;
  1104. TMUIP_Window_SetMenuCheck = record
  1105. MethodID: LongWord;
  1106. MenuID: LongWord;
  1107. stat: LongInt;
  1108. end;
  1109. TMUIP_Window_SetMenuState = record
  1110. MethodID: LongWord;
  1111. MenuID: LongWord;
  1112. stat: LongInt;
  1113. end;
  1114. {$endif}
  1115. // Attributes
  1116. const
  1117. MUIA_Window_Activate = MUIB_MUI or $428d2f; // V4 isg WordBool
  1118. MUIA_Window_ActiveObject = MUIB_MUI or $427925; // V4 .sg PObject
  1119. MUIA_Window_AltHeight = MUIB_MUI or $42cce3; // V4 i.g LongInt
  1120. MUIA_Window_AltLeftEdge = MUIB_MUI or $422d65; // V4 i.g LongInt
  1121. MUIA_Window_AltTopEdge = MUIB_MUI or $42e99b; // V4 i.g LongInt
  1122. MUIA_Window_AltWidth = MUIB_MUI or $4260f4; // V4 i.g LongInt
  1123. MUIA_Window_AppWindow = MUIB_MUI or $4280cf; // V5 i.. WordBool
  1124. MUIA_Window_Backdrop = MUIB_MUI or $42c0bb; // V4 i.. WordBool
  1125. MUIA_Window_Borderless = MUIB_MUI or $429b79; // V4 i.. WordBool
  1126. MUIA_Window_CloseGadget = MUIB_MUI or $42a110; // V4 i.. WordBool
  1127. MUIA_Window_CloseRequest = MUIB_MUI or $42e86e; // V4 ..g WordBool
  1128. MUIA_Window_DefaultObject = MUIB_MUI or $4294d7; // V4 isg PObject
  1129. MUIA_Window_DepthGadget = MUIB_MUI or $421923; // V4 i.. WordBool
  1130. MUIA_Window_DisableKeys = MUIB_MUI or $424c36; // V15 isg LongWord undoc
  1131. MUIA_Window_DragBar = MUIB_MUI or $42045d; // V4 i.. WordBool
  1132. MUIA_Window_FancyDrawing = MUIB_MUI or $42bd0e; // V8 isg WordBool
  1133. MUIA_Window_Height = MUIB_MUI or $425846; // V4 i.g LongInt
  1134. MUIA_Window_ID = MUIB_MUI or $4201bd; // V4 isg LongWord
  1135. MUIA_Window_InputEvent = MUIB_MUI or $4247d8; // V4 ..g PInputEvent
  1136. MUIA_Window_IsSubWindow = MUIB_MUI or $42b5aa; // V4 isg WordPool
  1137. MUIA_Window_LeftEdge = MUIB_MUI or $426c65; // V4 i.g LongInt
  1138. MUIA_Window_MenuAction = MUIB_MUI or $427521; // V8 isg LongWord
  1139. MUIA_Window_Menustrip = MUIB_MUI or $42855e; // V8 i.g PObject
  1140. MUIA_Window_MouseObject = MUIB_MUI or $42bf9b; // V10 ..g PObject
  1141. MUIA_Window_NeedsMouseObject = MUIB_MUI or $42372a; // V10 i.. WordBool
  1142. MUIA_Window_NoMenus = MUIB_MUI or $429df5; // V4 is. WordBool
  1143. MUIA_Window_Open = MUIB_MUI or $428aa0; // V4 .sg WordBool
  1144. MUIA_Window_PublicScreen = MUIB_MUI or $4278e4; // V6 isg STRPTR
  1145. MUIA_Window_RefWindow = MUIB_MUI or $4201f4; // V4 is. PObject
  1146. MUIA_Window_RootObject = MUIB_MUI or $42cba5; // V4 isg PObject
  1147. MUIA_Window_Screen = MUIB_MUI or $42df4f; // V4 isg PScreen
  1148. MUIA_Window_ScreenTitle = MUIB_MUI or $4234b0; // V5 isg STRPTR
  1149. MUIA_Window_SizeGadget = MUIB_MUI or $42e33d; // V4 i.. WordBool
  1150. MUIA_Window_SizeRight = MUIB_MUI or $424780; // V4 i.. WordBool
  1151. MUIA_Window_Sleep = MUIB_MUI or $42e7db; // V4 .sg WordBool
  1152. MUIA_Window_Title = MUIB_MUI or $42ad3d; // V4 isg STRPTR
  1153. MUIA_Window_TopEdge = MUIB_MUI or $427c66; // V4 i.g LongInt
  1154. MUIA_Window_UseBottomBorderScroller = MUIB_MUI or $424e79; // V13 isg WordBool
  1155. MUIA_Window_UseLeftBorderScroller = MUIB_MUI or $42433e; // V13 isg WordBool
  1156. MUIA_Window_UseRightBorderScroller = MUIB_MUI or $42c05e; // V13 isg WordBool
  1157. MUIA_Window_Width = MUIB_MUI or $42dcae; // V4 i.g LongInt
  1158. MUIA_Window_Window = MUIB_MUI or $426a42; // V4 ..g PWindow
  1159. // AROS specials
  1160. MUIA_Window_EraseArea = MUIB_Window or $0; // Zune i.. WordBool default: True
  1161. MUIA_Window_ZoomGadget = MUIB_Window or $2; // Zune i.. WordBool Show ZoomGadget
  1162. MUIA_Window_ToolBox = MUIB_Window or $3; // Zune i.. WordBool default: False Window should be opened as ToolBox
  1163. // Values
  1164. MUIV_Window_ActiveObject_None = 0;
  1165. MUIV_Window_ActiveObject_Next = -1;
  1166. MUIV_Window_ActiveObject_Prev = -2;
  1167. MUIV_Window_AltHeight_Scaled = -1000;
  1168. MUIV_Window_AltLeftEdge_Centered = -1;
  1169. MUIV_Window_AltLeftEdge_Moused = -2;
  1170. MUIV_Window_AltLeftEdge_NoChange = -1000;
  1171. MUIV_Window_AltTopEdge_Centered = -1;
  1172. MUIV_Window_AltTopEdge_Moused = -2;
  1173. MUIV_Window_AltTopEdge_NoChange = -1000;
  1174. MUIV_Window_AltWidth_Scaled = -1000;
  1175. MUIV_Window_Height_Scaled = -1000;
  1176. MUIV_Window_Height_Default = -1001;
  1177. MUIV_Window_LeftEdge_Centered = -1;
  1178. MUIV_Window_LeftEdge_Moused = -2;
  1179. MUIV_Window_TopEdge_Centered = -1;
  1180. MUIV_Window_TopEdge_Moused = -2;
  1181. MUIV_Window_Width_Scaled = -1000;
  1182. MUIV_Window_Width_Default = -1001;
  1183. MUIV_Window_Button_MUI = 1;
  1184. MUIV_Window_Button_Snapshot = 2;
  1185. MUIV_Window_Button_Iconify = 4;
  1186. MUIV_Window_Button_Popup = 8;
  1187. {$ifdef MUI_OBSOLETE}
  1188. MUIA_Window_Menu = MUIB_MUI or $42db94; // V4 i.. PNewMenu
  1189. MUIV_Window_Menu_NoMenu = -1;
  1190. {$endif}
  1191. // *********************************************************************
  1192. // Area
  1193. const
  1194. MUIC_Area: PAnsiChar = 'Area.mui';
  1195. // Identifier base (for Zune extensions)
  1196. MUIB_Area = MUIB_ZUNE or $00000200;
  1197. // Methods
  1198. const
  1199. MUIM_AskMinMax = MUIB_MUI or $423874; // V4 for Custom Classes only
  1200. MUIM_Cleanup = MUIB_MUI or $42d985; // V4 for Custom Classes only
  1201. MUIM_ContextMenuBuild = MUIB_MUI or $429d2e; // V11
  1202. MUIM_ContextMenuChoice = MUIB_MUI or $420f0e; // V11
  1203. MUIM_CreateBubble = MUIB_MUI or $421c41; // V18
  1204. MUIM_CreateDragImage = MUIB_MUI or $42eb6f; // V18 for Custom Classes only, undoc
  1205. MUIM_CreateShortHelp = MUIB_MUI or $428e93; // V11
  1206. MUIM_CustomBackfill = MUIB_MUI or $428d73; // Undoc
  1207. MUIM_DeleteBubble = MUIB_MUI or $4211af; // V18
  1208. MUIM_DeleteDragImage = MUIB_MUI or $423037; // V18 for Custom Classes only, undoc
  1209. MUIM_DeleteShortHelp = MUIB_MUI or $42d35a; // V11
  1210. MUIM_DoDrag = MUIB_MUI or $4216bb; // V18 for Custom Classes only, undoc
  1211. MUIM_DragBegin = MUIB_MUI or $42c03a; // V11
  1212. MUIM_DragDrop = MUIB_MUI or $42c555; // V11
  1213. MUIM_DragFinish = MUIB_MUI or $4251f0; // V11
  1214. MUIM_DragQuery = MUIB_MUI or $420261; // V11
  1215. MUIM_DragReport = MUIB_MUI or $42edad; // V11
  1216. MUIM_Draw = MUIB_MUI or $426f3f; // V4 Custom Class
  1217. MUIM_DrawBackground = MUIB_MUI or $4238ca; // V11
  1218. MUIM_GoActive = MUIB_MUI or $42491a; // Undoc
  1219. MUIM_GoInactive = MUIB_MUI or $422c0c; // Undoc
  1220. MUIM_HandleEvent = MUIB_MUI or $426d66; // V16 Custom Class
  1221. MUIM_HandleInput = MUIB_MUI or $422a1a; // V4 Custom Class
  1222. MUIM_Hide = MUIB_MUI or $42f20f; // V4 Custom Class
  1223. MUIM_Setup = MUIB_MUI or $428354; // V4 Custom Class
  1224. MUIM_Show = MUIB_MUI or $42cc84; // V4 Custom Class
  1225. // AROS Specials
  1226. MUIM_UnknownDropDestination = MUIB_MUI or $425550; // Zune
  1227. MUIM_Layout = MUIB_Area or $0;
  1228. MUIM_DrawParentBackground = MUIB_Area or $1;
  1229. MUIV_CreateBubble_DontHidePointer = 1 shl 0;
  1230. MUIV_Application_OCW_ScreenPage = 1 shl 1; // show just the screen page of the config window
  1231. MUIV_ContextMenuBuild_Default = $ffffffff;
  1232. type
  1233. // MUI_MinMax structure holds information about minimum, maximum and default dimensions of an object.
  1234. TMUI_MinMax = record
  1235. MinWidth: SmallInt;
  1236. MinHeight: SmallInt;
  1237. MaxWidth: SmallInt;
  1238. MaxHeight: SmallInt;
  1239. DefWidth: SmallInt;
  1240. DefHeight: SmallInt;
  1241. end;
  1242. PMUI_MinMax = ^TMUI_MinMax;
  1243. TMUIP_AskMinMax = record
  1244. MethodID: LongWord; // MUIM_AskMinMax
  1245. MinMaxInfo: PMUI_MinMax;
  1246. end;
  1247. PMUIP_AskMinMax = ^TMUIP_AskMinMax;
  1248. TMUIP_Cleanup = record
  1249. MethodID: LongWord; // MUIM_Cleanup
  1250. end;
  1251. PMUIP_Cleanup = ^TMUIP_Cleanup;
  1252. TMUIP_ContextMenuBuild = record
  1253. MethodID: LongWord; // MUIM_ContextMenuBuild
  1254. mx: LongInt;
  1255. my: LongInt;
  1256. end;
  1257. PMUIP_ContextMenuBuild = ^TMUIP_ContextMenuBuild;
  1258. TMUIP_ContextMenuChoice = record
  1259. MethodID: LongWord; // MUIM_ContextMenuChoice
  1260. item: PObject_;
  1261. end;
  1262. PMUIP_ContextMenuChoice = ^TMUIP_ContextMenuChoice;
  1263. TMUIP_CreateBubble = record
  1264. MethodID: LongWord; // MUIM_CreateBubble
  1265. x: LongInt;
  1266. y: LongInt;
  1267. txt : PAnsiChar;
  1268. flags: LongWord;
  1269. end;
  1270. PMUIP_CreateBubble = ^TMUIP_CreateBubble;
  1271. TMUIP_CreateDragImage = record
  1272. MethodID: LongWord; // MUIM_CreateDragImage
  1273. touchx: LongInt;
  1274. touchy: LongInt;
  1275. flags: LongWord;
  1276. end;
  1277. PMUIP_CreateDragImage = ^TMUIP_CreateDragImage;
  1278. TMUIP_CreateShortHelp = record
  1279. MethodID: LongWord; // MUIM_CreateShortHelp
  1280. mx: LongInt;
  1281. my: LongInt;
  1282. end;
  1283. PMUIP_CreateShortHelp = ^TMUIP_CreateShortHelp;
  1284. TMUIP_CustomBackfill = record
  1285. MethodID: LongWord; // MUIM_CustomBackfill
  1286. left: LongInt;
  1287. top: LongInt;
  1288. right: LongInt;
  1289. bottom: LongInt;
  1290. xoffset: LongInt;
  1291. yoffset: LongInt;
  1292. end;
  1293. PMUIP_CustomBackfill = ^TMUIP_CustomBackfill;
  1294. TMUIP_DeleteBubble = record
  1295. MethodID: LongWord; // MUIM_DeleteBubble
  1296. bubble: APTR;
  1297. end;
  1298. PMUIP_DeleteBubble = ^TMUIP_DeleteBubble;
  1299. TMUIP_DeleteDragImage = record
  1300. MethodID: LongWord; // MUIM_DeleteDragImage
  1301. di: PMUI_DragImage;
  1302. end;
  1303. PMUIP_DeleteDragImage = ^TMUIP_DeleteDragImage;
  1304. TMUIP_DeleteShortHelp = record
  1305. MethodID: LongWord; // MUIM_DeleteShortHelp
  1306. help: STRPTR;
  1307. end;
  1308. PMUIP_DeleteShortHelp = ^TMUIP_DeleteShortHelp;
  1309. TMUIP_DoDrag = record
  1310. MethodID: LongWord; // MUIM_DoDrag
  1311. touchx: LongInt;
  1312. touchy: LongInt;
  1313. flags: LongWord;
  1314. end;
  1315. PMUIP_DoDrag = ^TMUIP_DoDrag;
  1316. TMUIP_UnknownDropDestination = record
  1317. MethodID: LongWord; // MUIM_UnknownDropDestination
  1318. imsg: PIntuiMessage;
  1319. end;
  1320. PMUIP_UnknownDropDestination = ^TMUIP_UnknownDropDestination;
  1321. TMUIP_DragBegin = record
  1322. MethodID: LongWord; // MUIM_DragBegin
  1323. obj: PObject_;
  1324. end;
  1325. PMUIP_DragBegin = ^TMUIP_DragBegin;
  1326. TMUIP_DragDrop = record
  1327. MethodID: LongWord; // MUIM_DragDrop
  1328. obj: PObject_;
  1329. x: LongInt;
  1330. y: LongInt;
  1331. end;
  1332. PMUIP_DragDrop = ^TMUIP_DragDrop;
  1333. TMUIP_DragFinish = record
  1334. MethodID: LongWord; // MUIM_DragFinish
  1335. obj: PObject_;
  1336. end;
  1337. PMUIP_DragFinish = ^TMUIP_DragFinish;
  1338. TMUIP_DragQuery = record
  1339. MethodID: LongWord; // MUIM_DragQuery
  1340. obj: PObject_;
  1341. end;
  1342. PMUIP_DragQuery = ^TMUIP_DragQuery;
  1343. TMUIP_DragReport = record
  1344. MethodID: LongWord; // MUIM_DragReport
  1345. obj: PObject_;
  1346. x: LongInt;
  1347. y: LongInt;
  1348. update: LongInt;
  1349. end;
  1350. PMUIP_DragReport = ^TMUIP_DragReport;
  1351. TMUIP_Draw = record
  1352. MethodID: LongWord; // MUIM_Draw
  1353. flags: LongWord;
  1354. end;
  1355. PMUIP_Draw = ^TMUIP_Draw;
  1356. TMUIP_DrawBackground = record
  1357. MethodID: LongWord; // MUIM_DrawBackground
  1358. left: LongInt;
  1359. top: LongInt;
  1360. width: LongInt;
  1361. height: LongInt;
  1362. xoffset: LongInt;
  1363. yoffset: LongInt;
  1364. flags: LongInt;
  1365. end;
  1366. PMUIP_DrawBackground = ^TMUIP_DrawBackground;
  1367. TMUIP_DrawBackgroundBuffered = record
  1368. MethodID: LongWord;
  1369. rp: PRastPort;
  1370. left: LongInt;
  1371. top: LongInt;
  1372. width: LongInt;
  1373. height: LongInt;
  1374. xoffset: LongInt;
  1375. yoffset: LongInt;
  1376. flags: LongInt;
  1377. end;
  1378. PMUIP_DrawBackgroundBuffered = ^TMUIP_DrawBackgroundBuffered;
  1379. TMUIP_GoActive = record
  1380. MethodID: LongWord; // MUIM_GoActive
  1381. end;
  1382. PMUIP_GoActive = ^TMUIP_GoActive;
  1383. TMUIP_GoInactive = record
  1384. MethodID: LongWord; // MUIM_GoInactive
  1385. end;
  1386. PMUIP_GoInactive = ^TMUIP_GoInactive;
  1387. TMUIP_HandleEvent = record
  1388. MethodID: LongWord; // MUIM_HandleEvent
  1389. imsg: PIntuiMessage;
  1390. muikey: LongInt;
  1391. end;
  1392. PMUIP_HandleEvent = ^TMUIP_HandleEvent;
  1393. TMUIP_HandleInput = record
  1394. MethodID: LongWord; // MUIM_HandleInput
  1395. imsg: PIntuiMessage;
  1396. muikey: LongInt;
  1397. end;
  1398. PMUIP_HandleInput = ^TMUIP_HandleInput;
  1399. TMUIP_Hide = record
  1400. MethodID: LongWord; // MUIM_Hide
  1401. end;
  1402. PMUIP_Hide = ^TMUIP_Hide;
  1403. TMUIP_Setup = record
  1404. MethodID: LongWord; // MUIM_Setup
  1405. RenderInfo: PMUI_RenderInfo;
  1406. end;
  1407. PMUIP_Setup = ^TMUIP_Setup;
  1408. TMUIP_Show = record
  1409. MethodID: LongWord; // MUIM_Show
  1410. end;
  1411. PMUIP_Show = ^TMUIP_Show;
  1412. TMUIP_Layout = record
  1413. MethodID: LongWord; // MUIM_Layout
  1414. end;
  1415. PMUIP_Layout = ^TMUIP_Layout;
  1416. TMUIP_DrawParentBackground = record
  1417. MethodID: LongWord; // MUIM_DrawParentBackground
  1418. left: LongInt;
  1419. top: LongInt;
  1420. width: LongInt;
  1421. height: LongInt;
  1422. xoffset: LongInt;
  1423. yoffset: LongInt;
  1424. flags: LongInt;
  1425. end;
  1426. PMUIP_DrawParentBackground = ^TMUIP_DrawParentBackground;
  1427. const
  1428. MUIF_DRAGIMAGE_HASMASK = 1 shl 0; // Use provided mask for drawing Not supported at the moment
  1429. MUIF_DRAGIMAGE_SOURCEALPHA = 1 shl 1; // Use drag image source alpha information for transparent drawing
  1430. // Attributes
  1431. const
  1432. MUIA_Background = MUIB_MUI or $42545b; // V4 is. LongInt
  1433. MUIA_BottomEdge = MUIB_MUI or $42e552; // V4 ..g LongInt
  1434. MUIA_ContextMenu = MUIB_MUI or $42b704; // V11 isg PObject
  1435. MUIA_ContextMenuTrigger = MUIB_MUI or $42a2c1; // V11 ..g PObject
  1436. MUIA_ControlChar = MUIB_MUI or $42120b; // V4 isg AnsiChar
  1437. MUIA_CycleChain = MUIB_MUI or $421ce7; // V11 isg LongInt
  1438. MUIA_Disabled = MUIB_MUI or $423661; // V4 isg WordBool
  1439. MUIA_DoubleBuffer = MUIB_MUI or $42a9c7; // V20 isg WordBool
  1440. MUIA_Draggable = MUIB_MUI or $420b6e; // V11 isg WordBool
  1441. MUIA_Dropable = MUIB_MUI or $42fbce; // V11 isg WordBool
  1442. MUIA_FillArea = MUIB_MUI or $4294a3; // V4 is. WordBool
  1443. MUIA_FixHeight = MUIB_MUI or $42a92b; // V4 i.. LongInt
  1444. MUIA_FixHeightTxt = MUIB_MUI or $4276f2; // V4 i.. STRPTR
  1445. MUIA_FixWidth = MUIB_MUI or $42a3f1; // V4 i.. LongInt
  1446. MUIA_FixWidthTxt = MUIB_MUI or $42d044; // V4 i.. STRPTR
  1447. MUIA_Font = MUIB_MUI or $42be50; // V4 i.g PTextFont
  1448. MUIA_Frame = MUIB_MUI or $42ac64; // V4 i.. LongInt
  1449. MUIA_FramePhantomHoriz = MUIB_MUI or $42ed76; // V4 i.. WordBool
  1450. MUIA_FrameTitle = MUIB_MUI or $42d1c7; // V4 i.. STRPTR
  1451. MUIA_Height = MUIB_MUI or $423237; // V4 ..g LongInt
  1452. MUIA_HorizDisappear = MUIB_MUI or $429615; // V11 isg LongInt
  1453. MUIA_HorizWeight = MUIB_MUI or $426db9; // V4 isg SmallInt
  1454. MUIA_InnerBottom = MUIB_MUI or $42f2c0; // V4 i.g LongInt
  1455. MUIA_InnerLeft = MUIB_MUI or $4228f8; // V4 i.g LongInt
  1456. MUIA_InnerRight = MUIB_MUI or $4297ff; // V4 i.g LongInt
  1457. MUIA_InnerTop = MUIB_MUI or $421eb6; // V4 i.g LongInt
  1458. MUIA_InputMode = MUIB_MUI or $42fb04; // V4 i.. LongInt
  1459. MUIA_LeftEdge = MUIB_MUI or $42bec6; // V4 ..g LongInt
  1460. MUIA_MaxHeight = MUIB_MUI or $4293e4; // V11 i.. LongInt
  1461. MUIA_MaxWidth = MUIB_MUI or $42f112; // V11 i.. LongInt
  1462. MUIA_Pressed = MUIB_MUI or $423535; // V4 ..g WordBool
  1463. MUIA_RightEdge = MUIB_MUI or $42ba82; // V4 ..g LongInt
  1464. MUIA_Selected = MUIB_MUI or $42654b; // V4 isg WordBool
  1465. MUIA_ShortHelp = MUIB_MUI or $428fe3; // V11 isg STRPTR
  1466. MUIA_ShowMe = MUIB_MUI or $429ba8; // V4 isg WordBool
  1467. MUIA_ShowSelState = MUIB_MUI or $42caac; // V4 i.. WordBool
  1468. MUIA_Timer = MUIB_MUI or $426435; // V4 ..g LongInt
  1469. MUIA_TopEdge = MUIB_MUI or $42509b; // V4 ..g LongInt
  1470. MUIA_VertDisappear = MUIB_MUI or $42d12f; // V11 isg LongInt
  1471. MUIA_VertWeight = MUIB_MUI or $4298d0; // V4 isg SmallInt
  1472. MUIA_Weight = MUIB_MUI or $421d1f; // V4 i.. SmallInt
  1473. MUIA_Width = MUIB_MUI or $42b59c; // V4 ..g LongInt
  1474. MUIA_Window = MUIB_MUI or $421591; // V4 ..g PWindow
  1475. MUIA_WindowObject = MUIB_MUI or $42669e; // V4 ..g PObject
  1476. // AROS Special
  1477. MUIA_NestedDisabled = MUIB_Area or $0; // Zune 20030530 isg WordBool
  1478. {$ifdef MUI_OBSOLETE}
  1479. MUIA_ExportID = MUIB_MUI or $42d76e; // V4 isg LongWord
  1480. {$endif}
  1481. type
  1482. TMUI_ImageSpec_intern = record
  1483. end;
  1484. PMUI_ImageSpec_intern = ^TMUI_ImageSpec_intern;
  1485. type
  1486. { (partial) instance data of area class }
  1487. TMUI_AreaData = record
  1488. mad_RenderInfo : PMUI_RenderInfo; // RenderInfo for this object
  1489. mad_Background: PMUI_ImageSpec_intern; // bg setting - private
  1490. mad_Font: PTextFont; // Font which is used to draw
  1491. mad_MinMax: TMUI_MinMax; // min/max/default sizes
  1492. mad_Box: TIBox; // coordinates and dim of this object after layout
  1493. mad_addleft: ShortInt; // left offset (frame & innerspacing)
  1494. mad_addtop: ShortInt; // top offset (frame & innerspacing)
  1495. mad_subwidth: ShortInt; // additional width (frame & innerspacing)
  1496. mad_subheight: ShortInt; // additional height (frame & innerspacing)
  1497. mad_Flags: LongWord; // see definitions below
  1498. mad_Flags2: LongWord;
  1499. // 40 bytes up to here
  1500. // The following data is private
  1501. end;
  1502. PMUI_AreaData = ^TMUI_AreaData;
  1503. const
  1504. // mad_Flags Flags during MUIM_Draw
  1505. MADF_DRAWOBJECT = 1 shl 0;
  1506. MADF_DRAWUPDATE = 1 shl 1; // only update yourself
  1507. MADF_DRAWALL = 1 shl 31;
  1508. MUIV_Frame_None = 0;
  1509. MUIV_Frame_Button = 1;
  1510. MUIV_Frame_ImageButton = 2;
  1511. MUIV_Frame_Text = 3;
  1512. MUIV_Frame_String = 4;
  1513. MUIV_Frame_ReadList = 5;
  1514. MUIV_Frame_InputList = 6;
  1515. MUIV_Frame_Prop = 7;
  1516. MUIV_Frame_Gauge = 8;
  1517. MUIV_Frame_Group = 9;
  1518. MUIV_Frame_PopUp = 10;
  1519. MUIV_Frame_Virtual = 11;
  1520. MUIV_Frame_Slider = 12;
  1521. MUIV_Frame_Knob = 13;
  1522. MUIV_Frame_Drag = 14;
  1523. MUIV_Frame_Count = 15;
  1524. MUIV_Frame_Register = 21;
  1525. MUIV_InputMode_None = 0; // $00
  1526. MUIV_InputMode_RelVerify = 1; // $40 (1 shl 6)
  1527. MUIV_InputMode_Immediate = 2; // $80 (1 shl 7)
  1528. MUIV_InputMode_Toggle = 3; // $c0 (1 shl 7) or (1 shl 6)
  1529. // *********************************************************************
  1530. // Group
  1531. const
  1532. MUIC_Group: PAnsiChar = 'Group.mui';
  1533. // Identifier base (for Zune extensions)
  1534. MUIB_Group = MUIB_ZUNE or $00001000;
  1535. // Methods
  1536. const
  1537. MUIM_Group_AddHead = MUIB_MUI or $42e200; // V8
  1538. MUIM_Group_AddTail = MUIB_MUI or $42d752; // V8
  1539. MUIM_Group_ExitChange = MUIB_MUI or $42d1cc; // V11
  1540. MUIM_Group_InitChange = MUIB_MUI or $420887; // V11
  1541. MUIM_Group_Sort = MUIB_MUI or $427417; // V4
  1542. MUIM_Group_Remove = MUIB_MUI or $42f8a9; // V8
  1543. // AROS special
  1544. MUIM_Group_DoMethodNoForward = MUIB_Group or $0;
  1545. type
  1546. TMUIP_Group_AddHead = record
  1547. MethodID: LongWord; // MUIM_Group_AddHead
  1548. obj: PObject_;
  1549. end;
  1550. PMUIP_Group_AddHead = ^TMUIP_Group_AddHead;
  1551. TMUIP_Group_AddTail = record
  1552. MethodID : LongWord; // MUIM_Group_AddTail
  1553. obj: PObject_;
  1554. end;
  1555. PMUIP_Group_AddTail = ^TMUIP_Group_AddTail;
  1556. TMUIP_Group_ExitChange = record
  1557. MethodID : LongWord; // MUIM_Group_ExitChange
  1558. end;
  1559. PMUIP_Group_ExitChange = ^TMUIP_Group_ExitChange;
  1560. TMUIP_Group_InitChange = record
  1561. MethodID: LongWord; // MUIM_Group_InitChange
  1562. end;
  1563. PMUIP_Group_InitChange = ^TMUIP_Group_InitChange;
  1564. TMUIP_Group_Sort = record
  1565. MethodID: LongWord; // MUIM_Group_Sort
  1566. obj: array[0..0] of PObject_;
  1567. end;
  1568. PMUIP_Group_Sort = ^TMUIP_Group_Sort;
  1569. TMUIP_Group_Remove = record
  1570. MethodID : LongWord; // MUIM_Group_Remove
  1571. obj: PObject_;
  1572. end;
  1573. PMUIP_Group_Remove = ^TMUIP_Group_Remove;
  1574. TMUIP_Group_DoMethodNoForward = record
  1575. MethodID: LongWord; // MUIM_Group_DoMethodNoForward
  1576. DoMethodID: LongWord;
  1577. end; // msg stuff follows
  1578. PMUIP_Group_DoMethodNoForward = ^TMUIP_Group_DoMethodNoForward;
  1579. // Attributes
  1580. const
  1581. MUIA_Group_ActivePage = MUIB_MUI or $424199; // V5 isg LongInt
  1582. MUIA_Group_Child = MUIB_MUI or $4226e6; // V4 i.. PObject_
  1583. MUIA_Group_ChildList = MUIB_MUI or $424748; // V4 ..g PList
  1584. MUIA_Group_Columns = MUIB_MUI or $42f416; // V4 is. LongInt
  1585. MUIA_Group_Forward = MUIB_MUI or $421422; // V11 .s. WordBool
  1586. MUIA_Group_Horiz = MUIB_MUI or $42536b; // V4 i.. WordBool
  1587. MUIA_Group_HorizSpacing = MUIB_MUI or $42c651; // V4 isg LongInt
  1588. MUIA_Group_LayoutHook = MUIB_MUI or $42c3b2; // V11 i.. PHook
  1589. MUIA_Group_PageMode = MUIB_MUI or $421a5f; // V5 i.. WordBool
  1590. MUIA_Group_Rows = MUIB_MUI or $42b68f; // V4 is. LongInt
  1591. MUIA_Group_SameHeight = MUIB_MUI or $42037e; // V4 i.. WordBool
  1592. MUIA_Group_SameSize = MUIB_MUI or $420860; // V4 i.. WordBool
  1593. MUIA_Group_SameWidth = MUIB_MUI or $42b3ec; // V4 i.. WordBool
  1594. MUIA_Group_Spacing = MUIB_MUI or $42866d; // V4 is. LongInt
  1595. MUIA_Group_VertSpacing = MUIB_MUI or $42e1bf; // V4 isg LongInt
  1596. // AROS special
  1597. MUIA_Group_Virtual = MUIB_Group or $0; // Zune V1 i.. WordBool
  1598. MUIV_Group_ActivePage_First = 0;
  1599. MUIV_Group_ActivePage_Last = -1;
  1600. MUIV_Group_ActivePage_Prev = -2;
  1601. MUIV_Group_ActivePage_Next = -3;
  1602. MUIV_Group_ActivePage_Advance = -4;
  1603. type
  1604. // This is the message you get if your custom layout hook is called
  1605. TMUI_LayoutMsg = record
  1606. lm_Type: LongWord; // type of message (see defines below)
  1607. lm_Children: PMinList; // list of this groups children, traverse with NextObject()
  1608. lm_MinMax: TMUI_MinMax; // results for MUILM_MINMAX
  1609. lm_Layout: record // size (and result) for MUILM_LAYOUT
  1610. Width: LongInt;
  1611. Height: LongInt;
  1612. priv5: LongWord;
  1613. priv6: LongWord;
  1614. end;
  1615. end;
  1616. PMUI_LayoutMsg = ^TMUI_LayoutMsg;
  1617. const
  1618. MUILM_MINMAX = 1; // MUI wants you to calc your min & max sizes
  1619. MUILM_LAYOUT = 2; // MUI wants you to layout your children
  1620. MUILM_UNKNOWN = -1; // return this if your hook doesn't implement lm_Type
  1621. // *********************************************************************
  1622. // Rectangle
  1623. const
  1624. MUIC_Rectangle: PAnsiChar = 'Rectangle.mui';
  1625. // Identifier base (for Zune extensions)
  1626. MUIB_Rectangle = MUIB_ZUNE or $00002b00;
  1627. // Attributes
  1628. const
  1629. MUIA_Rectangle_BarTitle = MUIB_MUI or $426689; // V11 i.g STRPTR
  1630. MUIA_Rectangle_HBar = MUIB_MUI or $42c943; // V7 i.g WordBool
  1631. MUIA_Rectangle_VBar = MUIB_MUI or $422204; // V7 i.g WordBool
  1632. // *********************************************************************
  1633. // Text
  1634. const
  1635. MUIC_Text: PAnsiChar = 'Text.mui';
  1636. // Identifier base (for Zune extensions)
  1637. MUIB_Text = MUIB_ZUNE or $00003500;
  1638. // Attributes
  1639. const
  1640. MUIA_Text_Contents = MUIB_MUI or $42f8dc; // V4 isg STRPTR
  1641. MUIA_Text_HiChar = MUIB_MUI or $4218ff; // V4 i.. AnsiChar
  1642. MUIA_Text_HiCharIdx = MUIB_MUI or $4214f5; // i.. AnsiChar
  1643. MUIA_Text_PreParse = MUIB_MUI or $42566d; // V4 isg STRPTR
  1644. MUIA_Text_SetMax = MUIB_MUI or $424d0a; // V4 i.. WordBool
  1645. MUIA_Text_SetMin = MUIB_MUI or $424e10; // V4 i.. WordBool
  1646. MUIA_Text_SetVMax = MUIB_MUI or $420d8b; // V11 i.. WordBool
  1647. // Control codes for text strings
  1648. MUIX_R = #27+'r'; // right justified
  1649. MUIX_C = #27+'c'; // centered
  1650. MUIX_L = #27+'l'; // left justified
  1651. MUIX_N = #27+'n'; // normal
  1652. MUIX_B = #27+'b'; // bold
  1653. MUIX_I = #27+'i'; // italic
  1654. MUIX_U = #27+'u'; // underlined
  1655. MUIX_PT = #27+'2'; // text pen
  1656. MUIX_PH = #27+'8'; // highlight text pen
  1657. // *********************************************************************
  1658. // Numeric
  1659. const
  1660. MUIC_Numeric: PAnsiChar = 'Numeric.mui';
  1661. // Identifier base (for Zune extensions)
  1662. MUIB_Numeric = MUIB_ZUNE or $00001e00;
  1663. // Methods
  1664. const
  1665. MUIM_Numeric_Decrease = MUIB_MUI or $4243a7; // V11
  1666. MUIM_Numeric_Increase = MUIB_MUI or $426ecd; // V11
  1667. MUIM_Numeric_ScaleToValue = MUIB_MUI or $42032c; // V11
  1668. MUIM_Numeric_SetDefault = MUIB_MUI or $42ab0a; // V11
  1669. MUIM_Numeric_Stringify = MUIB_MUI or $424891; // V11
  1670. MUIM_Numeric_ValueToScale = MUIB_MUI or $423e4f; // V11
  1671. // AROS special
  1672. MUIM_Numeric_ValueToScaleExt = MUIB_Numeric or $0; // ZUNE only
  1673. type
  1674. TMUIP_Numeric_Decrease = record
  1675. MethodID: LongWord; // MUIM_Numeric_Decrease
  1676. amount: LongInt;
  1677. end;
  1678. PMUIP_Numeric_Decrease = ^TMUIP_Numeric_Decrease;
  1679. TMUIP_Numeric_Increase = record
  1680. MethodID: LongWord; // MUIM_Numeric_Increase
  1681. amount: LongInt;
  1682. end;
  1683. PMUIP_Numeric_Increase = ^TMUIP_Numeric_Increase;
  1684. TMUIP_Numeric_ScaleToValue = record
  1685. MethodID: LongWord; // MUIM_Numeric_ScaleToValue
  1686. scalemin: LongInt;
  1687. scalemax: LongInt;
  1688. scale: LongInt;
  1689. end;
  1690. PMUIP_Numeric_ScaleToValue = ^TMUIP_Numeric_ScaleToValue;
  1691. TMUIP_Numeric_SetDefault = record
  1692. MethodID: LongWord; // MUIM_Numeric_SetDefault
  1693. end;
  1694. PMUIP_Numeric_SetDefault = ^TMUIP_Numeric_SetDefault;
  1695. TMUIP_Numeric_Stringify = record
  1696. MethodID: LongWord; // MUIM_Numeric_Stringify
  1697. value: LongInt;
  1698. end;
  1699. PMUIP_Numeric_Stringify = ^TMUIP_Numeric_Stringify;
  1700. TMUIP_Numeric_ValueToScale = record
  1701. MethodID: LongWord; // MUIM_Numeric_ValueToScale
  1702. scalemin: LongInt;
  1703. scalemax: LongInt;
  1704. end;
  1705. PMUIP_Numeric_ValueToScale = ^TMUIP_Numeric_ValueToScale;
  1706. TMUIP_Numeric_ValueToScaleExt = record
  1707. MethodID: LongWord; // MUIM_Numeric_ValueToScaleExt
  1708. value: LongInt;
  1709. scalemin: LongInt;
  1710. scalemax: LongInt;
  1711. end;
  1712. PMUIP_Numeric_ValueToScaleExt = ^TMUIP_Numeric_ValueToScaleExt;
  1713. // Attributes
  1714. const
  1715. MUIA_Numeric_CheckAllSizes = MUIB_MUI or $421594; // V11 isg WordBool
  1716. MUIA_Numeric_Default = MUIB_MUI or $4263e8; // V11 isg LongInt
  1717. MUIA_Numeric_Format = MUIB_MUI or $4263e9; // V11 isg STRPTR
  1718. MUIA_Numeric_Max = MUIB_MUI or $42d78a; // V11 isg LongInt
  1719. MUIA_Numeric_Min = MUIB_MUI or $42e404; // V11 isg LongInt
  1720. MUIA_Numeric_Reverse = MUIB_MUI or $42f2a0; // V11 isg WordBool
  1721. MUIA_Numeric_RevLeftRight = MUIB_MUI or $4294a7; // V11 isg WordBool
  1722. MUIA_Numeric_RevUpDown = MUIB_MUI or $4252dd; // V11 isg WordBool
  1723. MUIA_Numeric_Value = MUIB_MUI or $42ae3a; // V11 isg LongInt
  1724. // *********************************************************************
  1725. // Slider
  1726. const
  1727. MUIC_Slider: PAnsiChar = 'Slider.mui';
  1728. // Identifier base (for Zune extensions)
  1729. MUIB_Slider = MUIB_ZUNE or $00003300;
  1730. // Attributes
  1731. const
  1732. MUIA_Slider_Horiz = $8042fad1;{ V11 isg BOOL }
  1733. MUIA_Slider_Quiet = $80420b26;{ V6 i.. BOOL }
  1734. {$ifdef MUI_OBSOLETE}
  1735. MUIA_Slider_Level = MUIB_MUI or $42ae3a; // V4 isg LongInt
  1736. MUIA_Slider_Max = MUIB_MUI or $42d78a; // V4 isg LongInt
  1737. MUIA_Slider_Min = MUIB_MUI or $42e404; // V4 isg LongInt
  1738. MUIA_Slider_Reverse = MUIB_MUI or $42f2a0; // V4 isg WordBool
  1739. {$endif}
  1740. // *********************************************************************
  1741. // String
  1742. const
  1743. MUIC_String: PAnsiChar = 'String.mui';
  1744. // Identifier base (for Zune extensions)
  1745. MUIB_String = MUIB_ZUNE or $00003400;
  1746. // Attributes
  1747. const
  1748. MUIA_String_Accept = MUIB_MUI or $42e3e1; // V4 isg STRPTR
  1749. MUIA_String_Acknowledge = MUIB_MUI or $42026c; // V4 ..g STRPTR
  1750. MUIA_String_AdvanceOnCR = MUIB_MUI or $4226de; // V11 isg WordBool
  1751. MUIA_String_AttachedList = MUIB_MUI or $420fd2; // V4 isg PObject_
  1752. MUIA_String_BufferPos = MUIB_MUI or $428b6c; // V4 .sg LongInt
  1753. MUIA_String_Contents = MUIB_MUI or $428ffd; // V4 isg STRPTR
  1754. MUIA_String_DisplayPos = MUIB_MUI or $42ccbf; // V4 .sg LongInt
  1755. MUIA_String_EditHook = MUIB_MUI or $424c33; // V7 isg PHook
  1756. MUIA_String_Format = MUIB_MUI or $427484; // V4 i.g LongInt
  1757. MUIA_String_Integer = MUIB_MUI or $426e8a; // V4 isg LongWord
  1758. MUIA_String_LonelyEditHook = MUIB_MUI or $421569; // V11 isg WordBool
  1759. MUIA_String_MaxLen = MUIB_MUI or $424984; // V4 i.g LongInt
  1760. MUIA_String_Reject = MUIB_MUI or $42179c; // V4 isg STRPTR
  1761. MUIA_String_Secret = MUIB_MUI or $428769; // V4 i.g WordBool
  1762. MUIV_String_Format_Left = 0;
  1763. MUIV_String_Format_Center = 1;
  1764. MUIV_String_Format_Right = 2;
  1765. // Extended features taken over from Alan Odgaard's BetterString MCC.
  1766. // Attribute and method IDs match those of BetterString class.
  1767. MUIA_String_Columns = $ad001005; // Zune
  1768. MUIA_String_NoInput = $ad001007; // Zune
  1769. MUIA_String_SelectSize = $ad001001; // Zune
  1770. MUIA_String_StayActive = $ad001003; // Zune
  1771. MUIA_String_KeyUpFocus = $ad001008; // Zune
  1772. MUIA_String_KeyDownFocus = $ad001009; // Zune
  1773. MUIM_String_ClearSelected = $ad001004; // Zune
  1774. MUIM_String_FileNameStart = $ad001006; // Zune
  1775. MUIM_String_Insert = $ad001002; // Zune
  1776. MUIV_String_Insert_StartOfString = $00000000; // Zune
  1777. MUIV_String_Insert_EndOfString = $fffffffe; // Zune
  1778. MUIV_String_Insert_BufferPos = $ffffffff; // Zune
  1779. MUIV_String_BufferPos_End = $ffffffff; // Zune
  1780. MUIR_String_FileNameStart_Volume = $ffffffff; // Zune
  1781. type
  1782. TMUIP_String_ClearSelected = record
  1783. MethodID: LongWord; // MUIM_String_ClearSelected
  1784. end;
  1785. PMUIP_String_ClearSelected = ^TMUIP_String_ClearSelected;
  1786. TMUIP_String_FileNameStart = record
  1787. MethodID: LongWord; // MUIM_String_FileNameStart
  1788. buffer: STRPTR;
  1789. pos: LongInt;
  1790. end;
  1791. TMUIP_String_Insert = record
  1792. MethodID: LongWord;
  1793. text: STRPTR; // MUIM_String_Insert
  1794. pos: LongInt;
  1795. end;
  1796. // *********************************************************************
  1797. // Boopsi
  1798. const
  1799. MUIC_Boopsi: PAnsiChar = 'Boopsi.mui';
  1800. // Identifier base (for Zune extensions)
  1801. MUIB_Boopsi = MUIB_ZUNE or $00000600;
  1802. // Attributes
  1803. const
  1804. MUIA_Boopsi_Class = MUIB_MUI or $426999; // V4 isg PIClass
  1805. MUIA_Boopsi_ClassID = MUIB_MUI or $42bfa3; // V4 isg PAnsiChar
  1806. MUIA_Boopsi_MaxHeight = MUIB_MUI or $42757f; // V4 isg LongWord
  1807. MUIA_Boopsi_MaxWidth = MUIB_MUI or $42bcb1; // V4 isg LongWord
  1808. MUIA_Boopsi_MinHeight = MUIB_MUI or $422c93; // V4 isg LongWord
  1809. MUIA_Boopsi_MinWidth = MUIB_MUI or $428fb2; // V4 isg LongWord
  1810. MUIA_Boopsi_Object = MUIB_MUI or $420178; // V4 ..g PObject_
  1811. MUIA_Boopsi_Remember = MUIB_MUI or $42f4bd; // V4 i.. LongWord
  1812. MUIA_Boopsi_Smart = MUIB_MUI or $42b8d7; // V9 i.. BOOL
  1813. MUIA_Boopsi_TagDrawInfo = MUIB_MUI or $42bae7; // V4 isg LongWord
  1814. MUIA_Boopsi_TagScreen = MUIB_MUI or $42bc71; // V4 isg LongWord
  1815. MUIA_Boopsi_TagWindow = MUIB_MUI or $42e11d; // V4 isg LongWord
  1816. // *********************************************************************
  1817. // Prop
  1818. const
  1819. MUIC_Prop: PAnsiChar = 'Prop.mui';
  1820. // Identifier base (for Zune extensions)
  1821. MUIB_Prop = MUIB_ZUNE or $00002900;
  1822. // Methods
  1823. const
  1824. MUIM_Prop_Decrease = MUIB_MUI or $420dd1; // V16
  1825. MUIM_Prop_Increase = MUIB_MUI or $42cac0; // V16
  1826. type
  1827. TMUIP_Prop_Decrease = record
  1828. MethodID: LongWord; // MUIM_Prop_Decrease
  1829. amount: LongInt;
  1830. end;
  1831. PMUIP_Prop_Decrease = ^TMUIP_Prop_Decrease;
  1832. TMUIP_Prop_Increase = record
  1833. MethodID: LongWord; // MUIM_Prop_Increase
  1834. amount: LongInt;
  1835. end;
  1836. PMUIP_Prop_Increase = ^TMUIP_Prop_Increase;
  1837. // Attributes
  1838. const
  1839. MUIA_Prop_Entries = $8042fbdb; // V4 isg LongInt
  1840. MUIA_Prop_First = $8042d4b2; // V4 isg LongInt
  1841. MUIA_Prop_Horiz = $8042f4f3; // V4 i.g WordBool
  1842. MUIA_Prop_Slider = $80429c3a; // V4 isg WordBool
  1843. MUIA_Prop_UseWinBorder = $8042deee; // V13 i.. LongInt
  1844. MUIA_Prop_Visible = $8042fea6; // V4 isg LongInt
  1845. MUIV_Prop_UseWinBorder_None = 0;
  1846. MUIV_Prop_UseWinBorder_Left = 1;
  1847. MUIV_Prop_UseWinBorder_Right = 2;
  1848. MUIV_Prop_UseWinBorder_Bottom = 3;
  1849. MUIA_Prop_DeltaFactor = MUIB_MUI or $427c5e; // is. LongInt
  1850. MUIA_Prop_DoSmooth = MUIB_MUI or $4236ce; // V4 i.. LongInt
  1851. // *********************************************************************
  1852. // Scrollbar
  1853. const
  1854. MUIC_Scrollbar: PAnsiChar = 'Scrollbar.mui';
  1855. // Identifier base (for Zune extensions)
  1856. MUIB_Scrollbar = MUIB_ZUNE or $00002e00;
  1857. // Attributes
  1858. const
  1859. MUIA_Scrollbar_Type = MUIB_MUI or $42fb6b; // V11 i.. LongInt
  1860. MUIV_Scrollbar_Type_Default = 0;
  1861. MUIV_Scrollbar_Type_Bottom = 1;
  1862. MUIV_Scrollbar_Type_Top = 2;
  1863. MUIV_Scrollbar_Type_Sym = 3;
  1864. // *********************************************************************
  1865. // Register
  1866. const
  1867. MUIC_Register: PAnsiChar = 'Register.mui';
  1868. // Identifier base (for Zune extensions)
  1869. MUIB_Register = MUIB_ZUNE or $00002c00;
  1870. // Attributes
  1871. const
  1872. MUIA_Register_Frame = MUIB_MUI or $42349b; // V7 i.g BOOL
  1873. MUIA_Register_Titles = MUIB_MUI or $4297ec; // V7 i.g STRPTR
  1874. // AROS special
  1875. MUIA_Register_Columns = MUIB_Register or $0; // Zune V1 i..
  1876. // *********************************************************************
  1877. // Menustrip
  1878. const
  1879. MUIC_Menustrip: PAnsiChar = 'Menustrip.mui';
  1880. // Identifier base (for Zune extensions)
  1881. MUIB_Menustrip = MUIB_ZUNE or $00001a00;
  1882. // Attributes
  1883. const
  1884. MUIA_Menustrip_Enabled = MUIB_MUI or $42815b; // V8 isg WordBool
  1885. // *********************************************************************
  1886. // Menu
  1887. const
  1888. MUIC_Menu: PAnsiChar = 'Menu.mui';
  1889. // Identifier base (for Zune extensions)
  1890. MUIB_Menu = MUIB_ZUNE or $00001b00;
  1891. // Attributes }
  1892. const
  1893. MUIA_Menu_Enabled = MUIB_MUI or $42ed48; // V8 isg WordBool
  1894. MUIA_Menu_Title = MUIB_MUI or $42a0e3; // V8 isg STRPTR
  1895. // *********************************************************************
  1896. // Menuitem
  1897. const
  1898. MUIC_Menuitem: PAnsiChar = 'Menuitem.mui';
  1899. // Identifier base (for Zune extensions)
  1900. MUIB_Menuitem = MUIB_ZUNE or $00001c00;
  1901. // Attributes
  1902. const
  1903. MUIA_Menuitem_Checked = MUIB_MUI or $42562a; // V8 isg WordBool
  1904. MUIA_Menuitem_Checkit = MUIB_MUI or $425ace; // V8 isg WordBool
  1905. MUIA_Menuitem_CommandString = MUIB_MUI or $42b9cc; // V16 isg WordBool
  1906. MUIA_Menuitem_Enabled = MUIB_MUI or $42ae0f; // V8 isg WordBool
  1907. MUIA_Menuitem_Exclude = MUIB_MUI or $420bc6; // V8 isg LongInt
  1908. MUIA_Menuitem_Shortcut = MUIB_MUI or $422030; // V8 isg STRPTR
  1909. MUIA_Menuitem_Title = MUIB_MUI or $4218be; // V8 isg STRPTR
  1910. MUIA_Menuitem_Toggle = MUIB_MUI or $424d5c; // V8 isg WordBool
  1911. MUIA_Menuitem_Trigger = MUIB_MUI or $426f32; // V8 ..g PMenuItem
  1912. // AROS special
  1913. MUIA_Menuitem_NewMenu = MUIB_Menuitem or $0; // Zune: V1 ..g PNewMenu
  1914. MUIV_Menuitem_Shortcut_Check = -1;
  1915. // *********************************************************************
  1916. // Dataspace
  1917. const
  1918. MUIC_Dataspace: PAnsiChar = 'Dataspace.mui';
  1919. // Identifier base (for Zune extensions)
  1920. MUIB_Dataspace = MUIB_ZUNE or $00000b00;
  1921. // Methods
  1922. const
  1923. MUIM_Dataspace_Add = MUIB_MUI or $423366; // V11
  1924. MUIM_Dataspace_Clear = MUIB_MUI or $42b6c9; // V11
  1925. MUIM_Dataspace_Find = MUIB_MUI or $42832c; // V11
  1926. MUIM_Dataspace_Merge = MUIB_MUI or $423e2b; // V11
  1927. MUIM_Dataspace_ReadIFF = MUIB_MUI or $420dfb; // V11
  1928. MUIM_Dataspace_Remove = MUIB_MUI or $42dce1; // V11
  1929. MUIM_Dataspace_WriteIFF = MUIB_MUI or $425e8e; // V11
  1930. type
  1931. TMUIP_Dataspace_Add = record
  1932. MethodID: LongWord; // MUIM_Dataspace_Add
  1933. data: APTR;
  1934. len: LongInt;
  1935. id: LongWord;
  1936. end;
  1937. PMUIP_Dataspace_Add = ^TMUIP_Dataspace_Add;
  1938. TMUIP_Dataspace_Clear = record
  1939. MethodID: LongWord; // MUIM_Dataspace_Clear
  1940. end;
  1941. PMUIP_Dataspace_Clear = ^TMUIP_Dataspace_Clear;
  1942. TMUIP_Dataspace_Find = record
  1943. MethodID: LongWord; // MUIM_Dataspace_Find
  1944. id: LongWord;
  1945. end;
  1946. PMUIP_Dataspace_Find = ^TMUIP_Dataspace_Find;
  1947. TMUIP_Dataspace_Merge = record
  1948. MethodID: LongWord; // MUIM_Dataspace_Merge
  1949. dataspace: PObject_;
  1950. end;
  1951. PMUIP_Dataspace_Merge = ^TMUIP_Dataspace_Merge;
  1952. TMUIP_Dataspace_ReadIFF = record
  1953. MethodID: LongWord; // MUIM_Dataspace_ReadIFF
  1954. Handle: PIFFHandle;
  1955. end;
  1956. PMUIP_Dataspace_ReadIFF = ^TMUIP_Dataspace_ReadIFF;
  1957. TMUIP_Dataspace_Remove = record
  1958. MethodID: LongWord; // MUIM_Dataspace_Remove
  1959. id: LongWord;
  1960. end;
  1961. PMUIP_Dataspace_Remove = ^TMUIP_Dataspace_Remove;
  1962. TMUIP_Dataspace_WriteIFF = record
  1963. MethodID: LongWord; // MUIM_Dataspace_WriteIFF
  1964. handle: PIFFHandle;
  1965. type_: LongWord;
  1966. id: LongWord;
  1967. end;
  1968. PMUIP_Dataspace_WriteIFF = ^TMUIP_Dataspace_WriteIFF;
  1969. // Attributes
  1970. const
  1971. MUIA_Dataspace_Pool = MUIB_MUI or $424cf9; // V11 i.. APTR
  1972. // *********************************************************************
  1973. // Virtgroup
  1974. const
  1975. MUIC_Virtgroup: PAnsiChar = 'Virtgroup.mui';
  1976. // Identifier base (for Zune extensions)
  1977. MUIB_Virtgroup = MUIB_ZUNE or $00003700;
  1978. // Attributes
  1979. const
  1980. MUIA_Virtgroup_Height = MUIB_MUI or $423038; // V6 ..g LongInt
  1981. MUIA_Virtgroup_Input = MUIB_MUI or $427f7e; // V11 i.. WordBool
  1982. MUIA_Virtgroup_Left = MUIB_MUI or $429371; // V6 isg LongInt
  1983. MUIA_Virtgroup_Top = MUIB_MUI or $425200; // V6 isg LongInt
  1984. MUIA_Virtgroup_Width = MUIB_MUI or $427c49; // V6 ..g LongInt
  1985. // *********************************************************************
  1986. // Scrollgroup
  1987. const
  1988. MUIC_Scrollgroup: PAnsiChar = 'Scrollgroup.mui';
  1989. // Identifier base (for Zune extensions)
  1990. MUIB_Scrollgroup = MUIB_ZUNE or $00002f00;
  1991. // Attributes
  1992. const
  1993. MUIA_Scrollgroup_Contents = MUIB_MUI or $421261; // V4 i.g PObject_
  1994. MUIA_Scrollgroup_FreeHoriz = MUIB_MUI or $4292f3; // V9 i.. WordBool
  1995. MUIA_Scrollgroup_FreeVert = MUIB_MUI or $4224f2; // V9 i.. WordBool
  1996. MUIA_Scrollgroup_HorizBar = MUIB_MUI or $42b63d; // V16 ..g PObject_
  1997. MUIA_Scrollgroup_UseWinBorder = MUIB_MUI or $4284c1; // V13 i.. WordBool
  1998. MUIA_Scrollgroup_VertBar = MUIB_MUI or $42cdc0; // V16 ..g PObject_
  1999. // *********************************************************************
  2000. // ScrollButton
  2001. const
  2002. MUIC_Scrollbutton: PAnsiChar = 'Scrollbutton.mui';
  2003. // Identifier base
  2004. MUIB_Scrollbutton = MUIB_ZUNE or $00004100;
  2005. // Attributes
  2006. const
  2007. MUIA_Scrollbutton_NewPosition = MUIB_Scrollbutton or $0; // --G LongWord (2 x SmallInt)
  2008. MUIA_Scrollbutton_Horiz = MUIB_Scrollbutton or $1; // -SG SmallInt
  2009. MUIA_Scrollbutton_Vert = MUIB_Scrollbutton or $2; // -SG SmallInt
  2010. MUIA_Scrollbutton_HorizProp = MUIB_Scrollbutton or $3; // --G PObject_
  2011. MUIA_Scrollbutton_VertProp = MUIB_Scrollbutton or $4; // --G PObject_
  2012. // *********************************************************************
  2013. // Semaphore
  2014. const
  2015. MUIC_Semaphore: PAnsiChar = 'Semaphore.mui';
  2016. // Identifier base (for Zune extensions)
  2017. MUIB_Semaphore = MUIB_ZUNE or $00003000;
  2018. // Methods
  2019. const
  2020. MUIM_Semaphore_Attempt = MUIB_MUI or $426ce2; // V11
  2021. MUIM_Semaphore_AttemptShared = MUIB_MUI or $422551; // V11
  2022. MUIM_Semaphore_Obtain = MUIB_MUI or $4276f0; // V11
  2023. MUIM_Semaphore_ObtainShared = MUIB_MUI or $42ea02; // V11
  2024. MUIM_Semaphore_Release = MUIB_MUI or $421f2d; // V11
  2025. type
  2026. TMUIP_Semaphore_Attempt = record
  2027. MethodID: LongWord; // MUIM_Semaphore_Attempt
  2028. end;
  2029. PMUIP_Semaphore_Attempt = ^TMUIP_Semaphore_Attempt;
  2030. TMUIP_Semaphore_AttemptShared = record
  2031. MethodID: LongWord; // MUIM_Semaphore_AttemptShared
  2032. end;
  2033. PMUIP_Semaphore_AttemptShared = ^TMUIP_Semaphore_AttemptShared;
  2034. TMUIP_Semaphore_Obtain = record
  2035. MethodID: LongWord; // MUIM_Semaphore_Obtain
  2036. end;
  2037. PMUIP_Semaphore_Obtain = ^TMUIP_Semaphore_Obtain;
  2038. TMUIP_Semaphore_ObtainShared = record
  2039. MethodID: LongWord; // MUIM_Semaphore_ObtainShared
  2040. end;
  2041. PMUIP_Semaphore_ObtainShared = ^TMUIP_Semaphore_ObtainShared;
  2042. TMUIP_Semaphore_Release = record
  2043. MethodID: LongWord; // MUIM_Semaphore_Release
  2044. end;
  2045. PMUIP_Semaphore_Release = ^TMUIP_Semaphore_Release;
  2046. // *********************************************************************
  2047. // Bitmap
  2048. const
  2049. MUIC_Bitmap: PAnsiChar = 'Bitmap.mui';
  2050. // Identifier base (for Zune extensions)
  2051. MUIB_Bitmap = MUIB_ZUNE or $00000400;
  2052. // Attributes
  2053. const
  2054. MUIA_Bitmap_Alpha = MUIB_MUI or $423e71; // V20 isg LongWord
  2055. MUIA_Bitmap_Bitmap = MUIB_MUI or $4279bd; // V8 isg PBitMap
  2056. MUIA_Bitmap_Height = MUIB_MUI or $421560; // V8 isg LongInt
  2057. MUIA_Bitmap_MappingTable = MUIB_MUI or $42e23d; // V8 isg Byte
  2058. MUIA_Bitmap_Precision = MUIB_MUI or $420c74; // V11 isg LongInt
  2059. MUIA_Bitmap_RemappedBitmap = MUIB_MUI or $423a47; // V11 ..g PBitMap
  2060. MUIA_Bitmap_SourceColors = MUIB_MUI or $425360; // V8 isg LongWord
  2061. MUIA_Bitmap_Transparent = MUIB_MUI or $422805; // V8 isg LongInt
  2062. MUIA_Bitmap_UseFriend = MUIB_MUI or $4239d8; // V11 i.. WordBool
  2063. MUIA_Bitmap_Width = MUIB_MUI or $42eb3a; // V8 isg LongInt
  2064. // *********************************************************************
  2065. // Bodychunk
  2066. const
  2067. MUIC_Bodychunk : PAnsiChar = 'Bodychunk.mui';
  2068. // Identifier base (for Zune extensions)
  2069. MUIB_Bodychunk = MUIB_ZUNE or $00000500;
  2070. // Attributes
  2071. const
  2072. MUIA_Bodychunk_Body = MUIB_MUI or $42ca67; // V8 isg Byte
  2073. MUIA_Bodychunk_Compression = MUIB_MUI or $42de5f; // V8 isg Byte
  2074. MUIA_Bodychunk_Depth = MUIB_MUI or $42c392; // V8 isg LongInt
  2075. MUIA_Bodychunk_Masking = MUIB_MUI or $423b0e; // V8 isg Byte
  2076. // *********************************************************************
  2077. // ChunkyImage
  2078. const
  2079. MUIC_ChunkyImage : PAnsiChar = 'ChunkyImage.mui';
  2080. // Identifier base (for Zune extensions)
  2081. MUIB_ChunkyImage = MUIB_ZUNE or $00004000;
  2082. // Attributes
  2083. const
  2084. MUIA_ChunkyImage_Pixels = MUIB_ChunkyImage or $0; // V8 isg PByte
  2085. MUIA_ChunkyImage_Palette = MUIB_ChunkyImage or $1; // V8 isg PByte
  2086. MUIA_ChunkyImage_NumColors = MUIB_ChunkyImage or $2; // V8 isg LongInt
  2087. MUIA_ChunkyImage_Modulo = MUIB_ChunkyImage or $3; // V8 isg LongInt
  2088. // *********************************************************************
  2089. // Listview
  2090. const
  2091. MUIC_Listview: PAnsiChar = 'Listview.mui';
  2092. // Identifier base (for Zune extensions)
  2093. MUIB_Listview = MUIB_ZUNE or $00001900;
  2094. // Attributes
  2095. const
  2096. MUIA_Listview_ClickColumn = MUIB_MUI or $42d1b3; // V7 ..g LongInt
  2097. MUIA_Listview_DefClickColumn = MUIB_MUI or $42b296; // V7 isg LongInt
  2098. MUIA_Listview_DoubleClick = MUIB_MUI or $424635; // V4 i.g WordBool
  2099. MUIA_Listview_DragType = MUIB_MUI or $425cd3; // V11 isg LongInt
  2100. MUIA_Listview_Input = MUIB_MUI or $42682d; // V4 i.. WordBool
  2101. MUIA_Listview_List = MUIB_MUI or $42bcce; // V4 i.g PObject_
  2102. MUIA_Listview_MultiSelect = MUIB_MUI or $427e08; // V7 i.. LongInt
  2103. MUIA_Listview_ScrollerPos = MUIB_MUI or $42b1b4; // V10 i.. WordBool
  2104. MUIA_Listview_SelectChange = MUIB_MUI or $42178f; // V4 ..g WordBool
  2105. MUIV_Listview_DragType_None = 0;
  2106. MUIV_Listview_DragType_Immediate = 1;
  2107. MUIV_Listview_MultiSelect_None = 0;
  2108. MUIV_Listview_MultiSelect_Default = 1;
  2109. MUIV_Listview_MultiSelect_Shifted = 2;
  2110. MUIV_Listview_MultiSelect_Always = 3;
  2111. MUIV_Listview_ScrollerPos_Default = 0;
  2112. MUIV_Listview_ScrollerPos_Left = 1;
  2113. MUIV_Listview_ScrollerPos_Right = 2;
  2114. MUIV_Listview_ScrollerPos_None = 3;
  2115. // *********************************************************************
  2116. // List
  2117. const
  2118. MUIC_List: PAnsiChar = 'List.mui';
  2119. // Identifier base (for Zune extensions)
  2120. MUIB_List = MUIB_ZUNE or $00001400;
  2121. // Methods
  2122. const
  2123. MUIM_List_Clear = MUIB_MUI or $42ad89; // V4
  2124. MUIM_List_Compare = MUIB_MUI or $421b68; // V20
  2125. MUIM_List_Construct = MUIB_MUI or $42d662; // V20
  2126. MUIM_List_CreateImage = MUIB_MUI or $429804; // V11
  2127. MUIM_List_DeleteImage = MUIB_MUI or $420f58; // V11
  2128. MUIM_List_Exchange = MUIB_MUI or $42468c; // V4
  2129. MUIM_List_GetEntry = MUIB_MUI or $4280ec; // V4
  2130. MUIM_List_Insert = MUIB_MUI or $426c87; // V4
  2131. MUIM_List_InsertSingle = MUIB_MUI or $4254d5; // V7
  2132. MUIM_List_Jump = MUIB_MUI or $42baab; // V4
  2133. MUIM_List_Move = MUIB_MUI or $4253c2; // V9
  2134. MUIM_List_NextSelected = MUIB_MUI or $425f17; // V6
  2135. MUIM_List_Redraw = MUIB_MUI or $427993; // V4
  2136. MUIM_List_Remove = MUIB_MUI or $42647e; // V4
  2137. MUIM_List_Select = MUIB_MUI or $4252d8; // V4
  2138. MUIM_List_Sort = MUIB_MUI or $422275; // V4
  2139. MUIM_List_TestPos = MUIB_MUI or $425f48; // V11
  2140. type
  2141. TMUIP_List_Clear = record
  2142. MethodID: LongWord; // MUIM_List_Clear
  2143. end;
  2144. PMUIP_List_Clear = ^TMUIP_List_Clear;
  2145. TMUIP_List_Compare = record
  2146. MethodID: LongWord; // MUIM_List_Compare
  2147. entry1: APTR;
  2148. entry2: APTR;
  2149. sort_type1: LongInt;
  2150. sort_type2: LongInt;
  2151. end;
  2152. PMUIP_List_Compare = ^TMUIP_List_Compare;
  2153. TMUIP_List_Construct = record
  2154. MethodID: LongWord; // MUIM_List_Construct
  2155. entry: APTR;
  2156. pool: APTR;
  2157. end;
  2158. PMUIP_List_Construct = ^TMUIP_List_Construct;
  2159. TMUIP_List_CreateImage = record
  2160. MethodID: LongWord; // MUIM_List_CreateImage
  2161. obj: PObject_;
  2162. flags: LongWord;
  2163. end;
  2164. PMUIP_List_CreateImage = ^TMUIP_List_CreateImage;
  2165. TMUIP_List_DeleteImage = record
  2166. MethodID: LongWord; // MUIM_List_DeleteImage
  2167. listimg: APTR;
  2168. end;
  2169. PMUIP_List_DeleteImage = ^TMUIP_List_DeleteImage;
  2170. TMUIP_List_Exchange = record
  2171. MethodID: LongWord; // MUIM_List_Exchange
  2172. pos1: LongInt;
  2173. pos2: LongInt;
  2174. end;
  2175. PMUIP_List_Exchange = ^TMUIP_List_Exchange;
  2176. TMUIP_List_GetEntry = record
  2177. MethodID: LongWord; // MUIM_List_GetEntry
  2178. pos: LongInt;
  2179. entry: PAPTR;
  2180. end;
  2181. PMUIP_List_GetEntry = ^TMUIP_List_GetEntry;
  2182. TMUIP_List_Insert = record
  2183. MethodID: LongWord; // MUIM_List_Insert
  2184. entries: PAPTR;
  2185. count: LongInt;
  2186. pos: LongInt;
  2187. end;
  2188. PMUIP_List_Insert = ^TMUIP_List_Insert;
  2189. TMUIP_List_InsertSingle = record
  2190. MethodID: LongWord; // MUIM_List_InsertSingle
  2191. entry: APTR;
  2192. pos: LongInt;
  2193. end;
  2194. PMUIP_List_InsertSingle = ^TMUIP_List_InsertSingle;
  2195. TMUIP_List_Jump = record
  2196. MethodID: LongWord; // MUIM_List_Jump
  2197. pos: LongInt;
  2198. end;
  2199. PMUIP_List_Jump = ^TMUIP_List_Jump;
  2200. TMUIP_List_Move = record
  2201. MethodID: LongWord; // MUIM_List_Move
  2202. from: LongInt;
  2203. too: LongInt;
  2204. end;
  2205. PMUIP_List_Move = ^TMUIP_List_Move;
  2206. TMUIP_List_NextSelected = record
  2207. MethodID: LongWord; // MUIM_List_NextSelected
  2208. pos: PLongInt;
  2209. end;
  2210. PMUIP_List_NextSelected = ^TMUIP_List_NextSelected;
  2211. TMUIP_List_Redraw = record
  2212. MethodID: LongWord; // MUIM_List_Redraw
  2213. pos: LongInt;
  2214. end;
  2215. PMUIP_List_Redraw = ^TMUIP_List_Redraw;
  2216. TMUIP_List_Remove = record
  2217. MethodID: LongWord; // MUIM_List_Remove
  2218. pos: LongInt;
  2219. end;
  2220. PMUIP_List_Remove = ^TMUIP_List_Remove;
  2221. TMUIP_List_Select = record
  2222. MethodID: LongWord; // MUIM_List_Select
  2223. pos: LongInt;
  2224. seltype: LongInt;
  2225. state: PLongInt;
  2226. end;
  2227. PMUIP_List_Select = ^TMUIP_List_Select;
  2228. TMUIP_List_Sort = record
  2229. MethodID: LongWord; // MUIM_List_Sort
  2230. end;
  2231. PMUIP_List_Sort = ^TMUIP_List_Sort;
  2232. TMUIP_List_TestPos = record
  2233. MethodID: LongWord; // MUIM_List_TestPos
  2234. x: LongInt;
  2235. y: LongInt;
  2236. res: PMUI_List_TestPos_Result;
  2237. end;
  2238. PMUIP_List_TestPos = ^TMUIP_List_TestPos;
  2239. // Attributes
  2240. const
  2241. MUIA_List_Active = MUIB_MUI or $42391c; // V4 isg LongInt
  2242. MUIA_List_AdjustHeight = MUIB_MUI or $42850d; // V4 i.. WordBool
  2243. MUIA_List_AdjustWidth = MUIB_MUI or $42354a; // V4 i.. WordBool
  2244. MUIA_List_AutoVisible = MUIB_MUI or $42a445; // V11 isg WordBool
  2245. MUIA_List_CompareHook = MUIB_MUI or $425c14; // V4 is. PHook
  2246. MUIA_List_ConstructHook = MUIB_MUI or $42894f; // V4 is. PHook
  2247. MUIA_List_DestructHook = MUIB_MUI or $4297ce; // V4 is. PHook
  2248. MUIA_List_DisplayHook = MUIB_MUI or $42b4d5; // V4 is. PHook
  2249. MUIA_List_DragSortable = MUIB_MUI or $426099; // V11 isg WordBool
  2250. MUIA_List_DropMark = MUIB_MUI or $42aba6; // V11 ..g LongInt
  2251. MUIA_List_Entries = MUIB_MUI or $421654; // V4 ..g LongInt
  2252. MUIA_List_First = MUIB_MUI or $4238d4; // V4 ..g LongInt
  2253. MUIA_List_Format = MUIB_MUI or $423c0a; // V4 isg STRPTR
  2254. MUIA_List_InsertPosition = MUIB_MUI or $42d0cd; // V9 ..g LongInt
  2255. MUIA_List_MinLineHeight = MUIB_MUI or $42d1c3; // V4 i.. LongInt
  2256. MUIA_List_MultiTestHook = MUIB_MUI or $42c2c6; // V4 is. PHook
  2257. MUIA_List_Pool = MUIB_MUI or $423431; // V13 i.. APTR
  2258. MUIA_List_PoolPuddleSize = MUIB_MUI or $42a4eb; // V13 i.. LongWord
  2259. MUIA_List_PoolThreshSize = MUIB_MUI or $42c48c; // V13 i.. LongWord
  2260. MUIA_List_Quiet = MUIB_MUI or $42d8c7; // V4 .s. WordBool
  2261. MUIA_List_ShowDropMarks = MUIB_MUI or $42c6f3; // V11 isg WordBool
  2262. MUIA_List_SourceArray = MUIB_MUI or $42c0a0; // V4 i.. APTR
  2263. MUIA_List_Title = MUIB_MUI or $423e66; // V6 isg PAnsiChar
  2264. MUIA_List_Visible = MUIB_MUI or $42191f; // V4 ..g LongInt
  2265. MUIV_List_Active_Off = -1;
  2266. MUIV_List_Active_Top = -2;
  2267. MUIV_List_Active_Bottom = -3;
  2268. MUIV_List_Active_Up = -4;
  2269. MUIV_List_Active_Down = -5;
  2270. MUIV_List_Active_PageUp = -6;
  2271. MUIV_List_Active_PageDown = -7;
  2272. MUIV_List_ConstructHook_String = -1;
  2273. MUIV_List_DestructHook_String = -1;
  2274. MUIV_List_CopyHook_String = -1;
  2275. MUIV_List_CursorType_None = 0;
  2276. MUIV_List_CursorType_Bar = 1;
  2277. MUIV_List_CursorType_Rect = 2;
  2278. MUIV_List_Insert_Top = 0;
  2279. MUIV_List_Insert_Active = -1;
  2280. MUIV_List_Insert_Sorted = -2;
  2281. MUIV_List_Insert_Bottom = -3;
  2282. MUIV_List_Remove_First = 0;
  2283. MUIV_List_Remove_Active = -1;
  2284. MUIV_List_Remove_Last = -2;
  2285. MUIV_List_Remove_Selected = -3;
  2286. MUIV_List_Select_Off = 0;
  2287. MUIV_List_Select_On = 1;
  2288. MUIV_List_Select_Toggle = 2;
  2289. MUIV_List_Select_Ask = 3;
  2290. MUIV_List_GetEntry_Active = -1;
  2291. MUIV_List_EditEntry_Active = -1;
  2292. MUIV_List_Select_Active = -1;
  2293. MUIV_List_Select_All = -2;
  2294. MUIV_List_Redraw_Active = -1;
  2295. MUIV_List_Redraw_All = -2;
  2296. MUIV_List_Redraw_Entry = -3;
  2297. MUIV_List_Move_Top = 0;
  2298. MUIV_List_Move_Active = -1;
  2299. MUIV_List_Move_Bottom = -2;
  2300. MUIV_List_Move_Next = -3; // only valid for second parameter
  2301. MUIV_List_Move_Previous = -4; // only valid for second parameter
  2302. MUIV_List_Exchange_Top = 0;
  2303. MUIV_List_Exchange_Active = -1;
  2304. MUIV_List_Exchange_Bottom = -2;
  2305. MUIV_List_Exchange_Next = -3; // only valid for second parameter
  2306. MUIV_List_Exchange_Previous = -4; // only valid for second parameter
  2307. MUIV_List_Jump_Top = 0;
  2308. MUIV_List_Jump_Active = -1;
  2309. MUIV_List_Jump_Bottom = -2;
  2310. MUIV_List_Jump_Up = -4;
  2311. MUIV_List_Jump_Down = -3;
  2312. MUIV_List_NextSelected_Start = -1;
  2313. MUIV_List_NextSelected_End = -1;
  2314. MUIV_NList_SelectChange_Flag_Multi = 1 shl 0;
  2315. // *********************************************************************
  2316. // Scrmodelist
  2317. const
  2318. MUIC_Scrmodelist: PAnsiChar = 'Scrmodelist.mui';
  2319. // Identifier base (for Zune extensions)
  2320. MUIB_Scrmodelist = MUIB_ZUNE or $00001700;
  2321. // *********************************************************************
  2322. // Floattext
  2323. const
  2324. MUIC_Floattext: PAnsiChar = 'Floattext.mui';
  2325. // Identifier base (for Zune extensions)
  2326. MUIB_Floattext = MUIB_ZUNE or $00001500;
  2327. // Methods
  2328. MUIM_Floattext_Append = MUIB_MUI or $42a221; // V20
  2329. type
  2330. TMUIP_Floattext_Append = record
  2331. MethodID: LongWord; // MUIM_Floattext_Append
  2332. Text: STRPTR;
  2333. end;
  2334. PMUIP_Floattext_Append = ^TMUIP_Floattext_Append;
  2335. // Attributes
  2336. const
  2337. MUIA_Floattext_Justify = MUIB_MUI or $42dc03; // V4 isg WordBool
  2338. MUIA_Floattext_SkiPChars = MUIB_MUI or $425c7d; // V4 is. STRPTR
  2339. MUIA_Floattext_TabSize = MUIB_MUI or $427d17; // V4 is. LongInt
  2340. MUIA_Floattext_Text = MUIB_MUI or $42d16a; // V4 isg STRPTR
  2341. // *********************************************************************
  2342. // Popstring
  2343. const
  2344. MUIC_Popstring: PAnsiChar = 'Popstring.mui';
  2345. // Identifier base (for Zune extensions)
  2346. MUIB_Popstring = MUIB_ZUNE or $00002800;
  2347. // Methods
  2348. const
  2349. MUIM_Popstring_Close = MUIB_MUI or $42dc52; // V7
  2350. MUIM_Popstring_Open = MUIB_MUI or $4258ba; // V7
  2351. type
  2352. TMUIP_Popstring_Close = record
  2353. MethodID: LongWord; // MUIM_Popstring_Close
  2354. result: LongInt;
  2355. end;
  2356. PMUIP_Popstring_Close = ^TMUIP_Popstring_Close;
  2357. TMUIP_Popstring_Open = record
  2358. MethodID: LongWord; // MUIM_Popstring_Open
  2359. end;
  2360. PMUIP_Popstring_Open = ^TMUIP_Popstring_Open;
  2361. // Attributes
  2362. const
  2363. MUIA_Popstring_Button = MUIB_MUI or $42d0b9; // V7 i.g PObject_
  2364. MUIA_Popstring_CloseHook = MUIB_MUI or $4256bf; // V7 isg PHook
  2365. MUIA_Popstring_OpenHook = MUIB_MUI or $429d00; // V7 isg PHook
  2366. MUIA_Popstring_String = MUIB_MUI or $4239ea; // V7 i.g PObject_
  2367. MUIA_Popstring_Toggle = MUIB_MUI or $422b7a; // V7 isg WordBool
  2368. // *********************************************************************
  2369. // Popobject
  2370. const
  2371. MUIC_Popobject: PAnsiChar = 'Popobject.mui';
  2372. // Identifier base
  2373. MUIB_Popobject = MUIB_ZUNE or $00002400;
  2374. // Attributes
  2375. const
  2376. MUIA_Popobject_Follow = MUIB_MUI or $424cb5; // V7 isg WordBool
  2377. MUIA_Popobject_Light = MUIB_MUI or $42a5a3; // V7 isg WordBool
  2378. MUIA_Popobject_Object = MUIB_MUI or $4293e3; // V7 i.g PObject_
  2379. MUIA_Popobject_ObjStrHook = MUIB_MUI or $42db44; // V7 isg PHook
  2380. MUIA_Popobject_StrObjHook = MUIB_MUI or $42fbe1; // V7 isg PHook
  2381. MUIA_Popobject_Volatile = MUIB_MUI or $4252ec; // V7 isg WordBool
  2382. MUIA_Popobject_WindowHook = MUIB_MUI or $42f194; // V9 isg PHook
  2383. // *********************************************************************
  2384. // Cycle
  2385. const
  2386. MUIC_Cycle: PAnsiChar = 'Cycle.mui';
  2387. // Identifier base (for Zune extensions)
  2388. MUIB_Cycle = MUIB_ZUNE or $00000a00;
  2389. // Attributes
  2390. const
  2391. MUIA_Cycle_Active = MUIB_MUI or $421788; // V4 isg LongInt
  2392. MUIA_Cycle_Entries = MUIB_MUI or $420629; // V4 i.. STRPTR
  2393. MUIV_Cycle_Active_Next = -1;
  2394. MUIV_Cycle_Active_Prev = -2;
  2395. // *********************************************************************
  2396. // Gauge
  2397. const
  2398. MUIC_Gauge: PAnsiChar = 'Gauge.mui';
  2399. // Identifier base (for Zune extensions)
  2400. MUIB_Gauge = MUIB_ZUNE or $00000f00;
  2401. // Attributes
  2402. const
  2403. MUIA_Gauge_Current = MUIB_MUI or $42f0dd; // V4 isg LongInt
  2404. MUIA_Gauge_Divide = MUIB_MUI or $42d8df; // V4 isg WordBool
  2405. MUIA_Gauge_Horiz = MUIB_MUI or $4232dd; // V4 i.. WordBool
  2406. MUIA_Gauge_InfoText = MUIB_MUI or $42bf15; // V7 isg STRPTR
  2407. MUIA_Gauge_Max = MUIB_MUI or $42bcdb; // V4 isg LongInt
  2408. // AROS special
  2409. MUIA_Gauge_DupInfoText = MUIB_Gauge or $0; // ZUNE: V1 i.. WordBool - defaults to False
  2410. // *********************************************************************
  2411. // Image
  2412. const
  2413. MUIC_Image: PAnsiChar = 'Image.mui';
  2414. // Identifier base (for Zune extensions)
  2415. MUIB_Image = MUIB_ZUNE or $00001300;
  2416. // Attributes
  2417. const
  2418. MUIA_Image_FontMatch = MUIB_MUI or $42815d; // V4 i.. WordBool
  2419. MUIA_Image_FontMatchHeight = MUIB_MUI or $429f26; // V4 i.. WordBool
  2420. MUIA_Image_FontMatchWidth = MUIB_MUI or $4239bf; // V4 i.. WordBool
  2421. MUIA_Image_FreeHoriz = MUIB_MUI or $42da84; // V4 i.. WordBool
  2422. MUIA_Image_FreeVert = MUIB_MUI or $42ea28; // V4 i.. WordBool
  2423. MUIA_Image_OldImage = MUIB_MUI or $424f3d; // V4 i.. PImage
  2424. MUIA_Image_Spec = MUIB_MUI or $4233d5; // V4 i.. PAnsiChar
  2425. MUIA_Image_State = MUIB_MUI or $42a3ad; // V4 is. LongInt
  2426. // *********************************************************************
  2427. // Imagedisplay
  2428. const
  2429. MUIC_Imagedisplay: PAnsiChar = 'Imagedisplay.mui';
  2430. // Identifier base (for Zune extensions)
  2431. MUIB_Imagedisplay = MUIB_ZUNE or $00001200;
  2432. // Attributes
  2433. MUIA_Imagedisplay_Spec = MUIB_MUI or $42a547; // V11 isg PMUI_ImageSpec
  2434. MUIA_Imagedisplay_UseDefSize = MUIB_MUI or $42186d; // V11 i.. WordBool undoc
  2435. // Aros Special
  2436. MUIA_Imagedisplay_FreeHoriz = MUIB_Imagedisplay or $0; // Zune 20030323 i.. WordBool default: True
  2437. MUIA_Imagedisplay_FreeVert = MUIB_Imagedisplay or $1; // Zune 20030323 i.. WordBool default: True
  2438. // *********************************************************************
  2439. // Popasl
  2440. const
  2441. MUIC_Popasl: PAnsiChar = 'Popasl.mui';
  2442. // Identifier base (for Zune extensions)
  2443. MUIB_Popasl = MUIB_ZUNE or $00002100;
  2444. // Attributes
  2445. const
  2446. MUIA_Popasl_Active = MUIB_MUI or $421b37; // V7 ..g WordBool
  2447. MUIA_Popasl_StartHook = MUIB_MUI or $42b703; // V7 isg PHook
  2448. MUIA_Popasl_StopHook = MUIB_MUI or $42d8d2; // V7 isg PHook
  2449. MUIA_Popasl_Type = MUIB_MUI or $42df3d; // V7 i.g LongWord
  2450. // *********************************************************************
  2451. // Settingsgroup
  2452. const
  2453. MUIC_Settingsgroup: PAnsiChar = 'Settingsgroup.mui';
  2454. // Identifier base (for Zune extensions)
  2455. MUIB_Settingsgroup = MUIB_ZUNE or $00003100;
  2456. // Methods
  2457. const
  2458. MUIM_Settingsgroup_ConfigToGadgets = MUIB_MUI or $427043; // V11
  2459. MUIM_Settingsgroup_GadgetsToConfig = MUIB_MUI or $425242; // V11
  2460. type
  2461. TMUIP_Settingsgroup_ConfigToGadgets = record
  2462. MethodID: LongWord; // MUIM_Settingsgroup_ConfigToGadgets
  2463. configdata: PObject_;
  2464. end;
  2465. PMUIP_Settingsgroup_ConfigToGadgets = ^TMUIP_Settingsgroup_ConfigToGadgets;
  2466. TMUIP_Settingsgroup_GadgetsToConfig = record
  2467. MethodID: LongWord; // MUIM_Settingsgroup_GadgetsToConfig
  2468. configdata: PObject_;
  2469. end;
  2470. PMUIP_Settingsgroup_GadgetsToConfig = ^TMUIP_Settingsgroup_GadgetsToConfig;
  2471. // *********************************************************************
  2472. // Settings
  2473. const
  2474. MUIC_Settings: PAnsiChar = 'Settings.mui';
  2475. // Identifier base (for Zune extensions)
  2476. MUIB_Settings = MUIB_ZUNE or $00003200;
  2477. // *********************************************************************
  2478. // Aboutmui
  2479. const
  2480. MUIC_Aboutmui: PAnsiChar = 'Aboutmui.mui';
  2481. // Identifier base (for Zune extensions)
  2482. MUIB_Aboutmui = MUIB_ZUNE or $0;
  2483. // Attributes
  2484. const
  2485. MUIA_Aboutmui_Application = MUIB_MUI or $422523; // V11 i.. PObject
  2486. // *********************************************************************
  2487. // Configdata
  2488. const
  2489. MUIC_Configdata : PAnsiChar = 'Configdata.mui';
  2490. // Identifier base (for Zune extensions)
  2491. MUIB_Configdata = MUIB_ZUNE or $00000900;
  2492. // Methods
  2493. MUIM_Configdata_GetWindowPos = MUIB_Configdata or $0000002A;
  2494. MUIM_Configdata_SetWindowPos = MUIB_Configdata or $0000002B;
  2495. MUIM_Configdata_GetString = MUIB_Configdata or $00000000;
  2496. MUIM_Configdata_GetULong = MUIB_Configdata or $00000001;
  2497. MUIM_Configdata_SetULong = MUIB_Configdata or $00000002;
  2498. MUIM_Configdata_SetImspec = MUIB_Configdata or $00000003;
  2499. MUIM_Configdata_SetFramespec = MUIB_Configdata or $00000004;
  2500. MUIM_Configdata_SetFont = MUIB_Configdata or $00000005;
  2501. MUIM_Configdata_Save = MUIB_Configdata or $00000006;
  2502. MUIM_Configdata_Load = MUIB_Configdata or $00000007;
  2503. MUIM_Configdata_SetPenspec = MUIB_Configdata or $00000008;
  2504. MUIM_Configdata_SetString = MUIB_Configdata or $00000009;
  2505. type
  2506. TMUIP_Configdata_GetString = record
  2507. MethodID: LongWord;
  2508. id: LongWord;
  2509. end;
  2510. PMUIP_Configdata_GetString = ^TMUIP_Configdata_GetString;
  2511. TMUIP_Configdata_GetULong = record
  2512. MethodID: LongWord;
  2513. id: LongWord;
  2514. end;
  2515. PMUIP_Configdata_GetULong = ^TMUIP_Configdata_GetULong;
  2516. TMUIP_Configdata_SetULong = record
  2517. MethodID: LongWord;
  2518. id: LongWord;
  2519. val: LongWord;
  2520. end;
  2521. PMUIP_Configdata_SetULong = ^TMUIP_Configdata_SetULong;
  2522. TMUIP_Configdata_SetImspec = record
  2523. MethodID: LongWord;
  2524. id: LongWord;
  2525. imspec: STRPTR;
  2526. end;
  2527. PMUIP_Configdata_SetImspec = ^TMUIP_Configdata_SetImspec;
  2528. TMUIP_Configdata_SetFramespec = record
  2529. MethodID: LongWord;
  2530. id: LongWord;
  2531. framespec: STRPTR;
  2532. end;
  2533. PMUIP_Configdata_SetFramespec = ^TMUIP_Configdata_SetFramespec;
  2534. TMUIP_Configdata_SetFont = record
  2535. MethodID: LongWord;
  2536. id: LongWord;
  2537. font: STRPTR;
  2538. end;
  2539. PMUIP_Configdata_SetFont = ^TMUIP_Configdata_SetFont;
  2540. TMUIP_Configdata_Save = record
  2541. MethodID: LongWord;
  2542. filename: STRPTR;
  2543. end;
  2544. PMUIP_Configdata_Save = ^TMUIP_Configdata_Save;
  2545. TMUIP_Configdata_Load = record
  2546. MethodID: LongWord;
  2547. filename: STRPTR;
  2548. end;
  2549. PMUIP_Configdata_Load = ^TMUIP_Configdata_Load;
  2550. TMUIP_Configdata_SetPenspec = record
  2551. MethodID: LongWord;
  2552. id: LongWord;
  2553. penspec: STRPTR;
  2554. end;
  2555. PMUIP_Configdata_SetPenspec = ^TMUIP_Configdata_SetPenspec;
  2556. TMUIP_Configdata_SetString = record
  2557. MethodID: LongWord;
  2558. id: LongWord;
  2559. Newstring: STRPTR;
  2560. end;
  2561. PMUIP_Configdata_SetString = ^TMUIP_Configdata_SetString;
  2562. // Attributes
  2563. const
  2564. MUIA_Configdata_Application = MUIB_Configdata or $00000000; // Zune V1: i.. PObject_
  2565. MUIA_Configdata_ApplicationBase = MUIB_Configdata or $00000002; // Zune V1: i.. PObject_
  2566. // The config items for MUIM_GetConfigItem
  2567. MUICFG_Invalid = -1;
  2568. MUICFG_Window_Spacing_Left = $01; // LongWord, horiz pixels (def=4)
  2569. MUICFG_Window_Spacing_Right = $02; // LongWord, horiz pixels (def=4)
  2570. MUICFG_Window_Spacing_Top = $03; // LongWord, vert pixels (def=3)
  2571. MUICFG_Window_Spacing_Bottom = $04; // LongWord, vert pixels (def=3)
  2572. MUICFG_Radio_HSpacing = $05; // LongWord, horiz pixels (def=4)
  2573. MUICFG_Radio_VSpacing = $06; // LongWord, vertical pixels (def=1)
  2574. MUICFG_Group_HSpacing = $07; // LongWord, horiz pixels (def=6)
  2575. MUICFG_Group_VSpacing = $08; // LongWord, vertical pixels (def=3)
  2576. MUICFG_Scrollbar_Arrangement = $09; // LongWord, top = 0 (def), middle, bottom
  2577. MUICFG_Listview_Refresh = $0a; // LongWord, linear, mixed = 1 (def)
  2578. MUICFG_Listview_Font_Leading = $0b; // LongWord, vertical pixels (def=1)
  2579. MUICFG_Listview_SmoothVal = $0c; // LongWord, ? (def=0)
  2580. MUICFG_Listview_Multi = $0d; // LongWord, shifted = 0 (def), always
  2581. MUICFG_GroupTitle_Position = $0f; // LongWord, 1=centered
  2582. MUICFG_GroupTitle_Color = $10; // LongWord, 0=normal
  2583. MUICFG_Cycle_MenuCtrl_Level = $11; // LongWord, num of entries (def=2)
  2584. MUICFG_Cycle_MenuCtrl_Position = $12; // LongWord, below = 0 (def), on active
  2585. MUICFG_Frame_Drag = $18;
  2586. MUICFG_Cycle_Menu_Recessed = $19; // LongWord, false = 0 (def), true
  2587. MUICFG_Cycle_MenuCtrl_Speed = $1a; // LongWord, num of ticks (0..50) (def=0)
  2588. MUICFG_Listview_Smoothed = $1b; // LongWord, false = 0 (def), true
  2589. MUICFG_Window_Redraw = $1d; // LongWord, no clear, clear = 1 (def)
  2590. MUICFG_Font_Normal = $1e;
  2591. MUICFG_Font_List = $1f;
  2592. MUICFG_Font_Tiny = $20;
  2593. MUICFG_Font_Fixed = $21;
  2594. MUICFG_Font_Title = $22;
  2595. MUICFG_Font_Big = $23;
  2596. MUICFG_PublicScreen = $24;
  2597. MUICFG_Frame_Button = $2b;
  2598. MUICFG_Frame_ImageButton = $2c;
  2599. MUICFG_Frame_Text = $2d;
  2600. MUICFG_Frame_String = $2e;
  2601. MUICFG_Frame_ReadList = $2f;
  2602. MUICFG_Frame_InputList = $30;
  2603. MUICFG_Frame_Prop = $31;
  2604. MUICFG_Frame_Gauge = $32;
  2605. MUICFG_Frame_Group = $33;
  2606. MUICFG_Frame_PopUp = $34;
  2607. MUICFG_Frame_Virtual = $35;
  2608. MUICFG_Frame_Slider = $36;
  2609. MUICFG_Background_Window = $37;
  2610. MUICFG_Background_Requester = $38;
  2611. MUICFG_Background_Button = $39;
  2612. MUICFG_Background_List = $3a;
  2613. MUICFG_Background_Text = $3b;
  2614. MUICFG_Background_Prop = $3c;
  2615. MUICFG_Background_PopUp = $3d;
  2616. MUICFG_Background_Selected = $3e;
  2617. MUICFG_Background_ListCursor = $3f;
  2618. MUICFG_Background_ListSelect = $40;
  2619. MUICFG_Background_ListSelCur = $41;
  2620. MUICFG_Image_ArrowUp = $42;
  2621. MUICFG_Image_ArrowDown = $43;
  2622. MUICFG_Image_ArrowLeft = $44;
  2623. MUICFG_Image_ArrowRight = $45;
  2624. MUICFG_Image_CheckMark = $46;
  2625. MUICFG_Image_RadioButton = $47;
  2626. MUICFG_Image_Cycle = $48;
  2627. MUICFG_Image_PopUp = $49;
  2628. MUICFG_Image_PopFile = $4a;
  2629. MUICFG_Image_PopDrawer = $4b;
  2630. MUICFG_Image_PropKnob = $4c;
  2631. MUICFG_Image_Drawer = $4d;
  2632. MUICFG_Image_HardDisk = $4e;
  2633. MUICFG_Image_Disk = $4f;
  2634. MUICFG_Image_Chip = $50;
  2635. MUICFG_Image_Volume = $51;
  2636. MUICFG_Image_Network = $52;
  2637. MUICFG_Image_Assign = $53;
  2638. MUICFG_Background_Register = $54;
  2639. MUICFG_Image_TapePlay = $55;
  2640. MUICFG_Image_TapePlayBack = $56;
  2641. MUICFG_Image_TapePause = $57;
  2642. MUICFG_Image_TapeStop = $58;
  2643. MUICFG_Image_TapeRecord = $59;
  2644. MUICFG_Background_Framed = $5a;
  2645. MUICFG_Background_Slider = $5b;
  2646. MUICFG_Background_SliderKnob = $5c;
  2647. MUICFG_Image_TapeUp = $5d;
  2648. MUICFG_Image_TapeDown = $5e;
  2649. MUICFG_Keyboard_Press = $5f;
  2650. MUICFG_Keyboard_Toggle = $60;
  2651. MUICFG_Keyboard_Up = $61;
  2652. MUICFG_Keyboard_Down = $62;
  2653. MUICFG_Keyboard_PageUp = $63;
  2654. MUICFG_Keyboard_PageDown = $64;
  2655. MUICFG_Keyboard_Top = $65;
  2656. MUICFG_Keyboard_Bottom = $66;
  2657. MUICFG_Keyboard_Left = $67;
  2658. MUICFG_Keyboard_Right = $68;
  2659. MUICFG_Keyboard_WordLeft = $69;
  2660. MUICFG_Keyboard_WordRight = $6a;
  2661. MUICFG_Keyboard_LineStart = $6b;
  2662. MUICFG_Keyboard_LineEnd = $6c;
  2663. MUICFG_Keyboard_NextGadget = $6d;
  2664. MUICFG_Keyboard_PrevGadget = $6e;
  2665. MUICFG_Keyboard_GadgetOff = $6f;
  2666. MUICFG_Keyboard_CloseWindow = $70;
  2667. MUICFG_Keyboard_NextWindow = $71;
  2668. MUICFG_Keyboard_PrevWindow = $72;
  2669. MUICFG_Keyboard_Help = $73;
  2670. MUICFG_Keyboard_Popup = $74;
  2671. MUICFG_Window_Positions = $7a;
  2672. MUICFG_Balance_Look = $7b; // LongWord, frame = 0 (def), object
  2673. MUICFG_Font_Button = $80;
  2674. MUICFG_Scrollbar_Type = $83; // LongWord, standard = 0 (def), newlook, custom
  2675. MUICFG_String_Background = $84;
  2676. MUICFG_String_Text = $85;
  2677. MUICFG_String_ActiveBackground = $86;
  2678. MUICFG_String_ActiveText = $87;
  2679. MUICFG_Font_Knob = $88;
  2680. MUICFG_Drag_LeftButton = $89; // LongWord, false, true (def)
  2681. MUICFG_Drag_MiddleButton = $8a; // LongWord, false (def), true
  2682. MUICFG_Drag_LMBModifier = $8b; // key desc (def = control)
  2683. MUICFG_Drag_MMBModifier = $8c; // key desc
  2684. MUICFG_Drag_Autostart = $8d; // LongWord, false = 0, true (def)
  2685. MUICFG_Drag_Autostart_Length = $8e; // LongWord, pixels (def = 3)
  2686. MUICFG_ActiveObject_Color = $8f; // penspec
  2687. MUICFG_Frame_Knob = $90;
  2688. MUICFG_Dragndrop_Look = $94; // LongWord, solid, ghosted on obj (def), ...
  2689. MUICFG_Background_Page = $95;
  2690. MUICFG_Background_ReadList = $96;
  2691. MUICFG_String_Cursor = $400;
  2692. MUICFG_String_MarkedBackground = $401;
  2693. MUICFG_String_MarkedText = $402;
  2694. MUICFG_Register_TruncateTitles = $403;
  2695. MUICFG_Window_Refresh = $404;
  2696. MUICFG_Screen_Mode = $505;
  2697. MUICFG_Screen_Mode_ID = $506;
  2698. MUICFG_Screen_Width = $507;
  2699. MUICFG_Screen_Height = $508;
  2700. MUICFG_WindowPos = $509;
  2701. MUICFG_Window_Buttons = $50a;
  2702. MUICFG_CustomFrame_1 = $600;
  2703. MUICFG_CustomFrame_2 = $601;
  2704. MUICFG_CustomFrame_3 = $602;
  2705. MUICFG_CustomFrame_4 = $603;
  2706. MUICFG_CustomFrame_5 = $604;
  2707. MUICFG_CustomFrame_6 = $605;
  2708. MUICFG_CustomFrame_7 = $606;
  2709. MUICFG_CustomFrame_8 = $607;
  2710. MUICFG_CustomFrame_9 = $608;
  2711. MUICFG_CustomFrame_10 = $609;
  2712. MUICFG_CustomFrame_11 = $60a;
  2713. MUICFG_CustomFrame_12 = $60b;
  2714. MUICFG_CustomFrame_13 = $60c;
  2715. MUICFG_CustomFrame_14 = $60d;
  2716. MUICFG_CustomFrame_15 = $60e;
  2717. MUICFG_CustomFrame_16 = $60f;
  2718. MUICFG_PublicScreen_PopToFront = $700;
  2719. MUICFG_Iconification_Hotkey = $701;
  2720. MUICFG_Iconification_ShowIcon = $702;
  2721. MUICFG_Iconification_ShowMenu = $703;
  2722. MUICFG_Iconification_OnStartup = $704;
  2723. MUICFG_Interfaces_EnableARexx = $705;
  2724. MUICFG_BubbleHelp_FirstDelay = $706;
  2725. MUICFG_BubbleHelp_NextDelay = $707;
  2726. // *********************************************************************
  2727. // Imageadjust
  2728. const
  2729. MUIC_Imageadjust: PAnsiChar = 'Imageadjust.mui';
  2730. // Identifier base (for AROS extensions)
  2731. MUIB_Imageadjust = MUIB_ZUNE or $00001100;
  2732. // Attributes
  2733. const
  2734. MUIA_Imageadjust_Type = MUIB_MUI or $422f2b; // V11 i.. LongInt
  2735. MUIA_Imageadjust_Spec = MUIB_MUI or $4279e1; // ??? .g. PAnsiChar
  2736. // AROS special
  2737. MUIA_Imageadjust_Originator = MUIB_Imageadjust or $0; // Zune: i.. PObject_
  2738. MUIV_Imageadjust_Type_All = 0;
  2739. MUIV_Imageadjust_Type_Image = 1;
  2740. MUIV_Imageadjust_Type_Background = 2;
  2741. MUIV_Imageadjust_Type_Pen = 3;
  2742. // *********************************************************************
  2743. // Popimage
  2744. const
  2745. MUIC_Popimage: PAnsiChar = 'Popimage.mui';
  2746. // Identifier base (for Zune extensions)
  2747. MUIB_Popimage = MUIB_ZUNE or $00002300;
  2748. // *********************************************************************
  2749. // Scale
  2750. const
  2751. MUIC_Scale: PAnsiChar = 'Scale.mui';
  2752. // Identifier base (for Zune extensions)
  2753. MUIB_Scale = MUIB_ZUNE or $00002d00;
  2754. // Attributes
  2755. const
  2756. MUIA_Scale_Horiz = MUIB_MUI or $42919a; // V4 isg WordBool
  2757. // *********************************************************************
  2758. // Radio
  2759. const
  2760. MUIC_Radio: PAnsiChar = 'Radio.mui';
  2761. // Identifier base (for Zune extensions)
  2762. MUIB_Radio = MUIB_ZUNE or $00002a00;
  2763. // Attributes
  2764. const
  2765. MUIA_Radio_Active = MUIB_MUI or $429b41; // V4 isg LongInt
  2766. MUIA_Radio_Entries = MUIB_MUI or $42b6a1; // V4 i.. STRPTR
  2767. // *********************************************************************
  2768. // Balance
  2769. const
  2770. MUIC_Balance: PAnsiChar = 'Balance.mui';
  2771. // Identifier base (for Zune extensions)
  2772. MUIB_Balance = MUIB_ZUNE or $00000300;
  2773. // Attributes
  2774. MUIA_Balance_Quiet = MUIB_Balance or $0; // Zune V20 i.. LongInt
  2775. // *********************************************************************
  2776. // Pendisplay
  2777. const
  2778. MUIC_Pendisplay: PAnsiChar = 'Pendisplay.mui';
  2779. // Identifier base (for Zune extensions)
  2780. MUIB_Pendisplay = MUIB_ZUNE or $00002000;
  2781. // Methods
  2782. const
  2783. MUIM_Pendisplay_SetColormap = MUIB_MUI or $426c80; // V13
  2784. MUIM_Pendisplay_SetMUIPen = MUIB_MUI or $42039d; // V13
  2785. MUIM_Pendisplay_SetRGB = MUIB_MUI or $42c131; // V13
  2786. type
  2787. TMUIP_Pendisplay_SetColormap = record
  2788. MethodID: LongWord; // MUIM_Pendisplay_SetColormap
  2789. colormap: LongInt;
  2790. end;
  2791. PMUIP_Pendisplay_SetColormap = ^TMUIP_Pendisplay_SetColormap;
  2792. TMUIP_Pendisplay_SetMUIPen = record
  2793. MethodID: LongWord; // MUIM_Pendisplay_SetMUIPen
  2794. muipen: LongInt;
  2795. end;
  2796. PMUIP_Pendisplay_SetMUIPen = ^TMUIP_Pendisplay_SetMUIPen;
  2797. TMUIP_Pendisplay_SetRGB = record
  2798. MethodID: LongWord; // MUIM_Pendisplay_SetRGB
  2799. red: LongWord;
  2800. green: LongWord;
  2801. blue: LongWord;
  2802. end;
  2803. PMUIP_Pendisplay_SetRGB = ^TMUIP_Pendisplay_SetRGB;
  2804. // Attributes
  2805. const
  2806. MUIA_Pendisplay_Pen = MUIB_MUI or $42a748; // V13 ..g PObject_
  2807. MUIA_Pendisplay_Reference = MUIB_MUI or $42dc24; // V13 isg PObject_
  2808. MUIA_Pendisplay_RGBcolor = MUIB_MUI or $42a1a9; // V11 isg PMUI_RGBcolor
  2809. MUIA_Pendisplay_Spec = MUIB_MUI or $42a204; // V11 isg PMUI_PenSpec
  2810. // *********************************************************************
  2811. // Penadjust
  2812. const
  2813. MUIC_Penadjust: PAnsiChar= 'Penadjust.mui';
  2814. // Identifier base (for Zune extensions)
  2815. MUIB_Penadjust = MUIB_ZUNE or $00001f00;
  2816. // Attributes
  2817. const
  2818. MUIA_Penadjust_PSIMode = MUIB_MUI or $421cbb; // V11 i.. WordBool
  2819. // *********************************************************************
  2820. // Poppen
  2821. const
  2822. MUIC_Poppen: PAnsiChar = 'Poppen.mui';
  2823. // Identifier base (for Zune extensions)
  2824. MUIB_Poppen = MUIB_ZUNE or $00002700;
  2825. // *********************************************************************
  2826. // Colorfield
  2827. const
  2828. MUIC_Colorfield: PAnsiChar = 'Colorfield.mui';
  2829. // Identifier base (for Zune extensions)
  2830. MUIB_Colorfield = MUIB_ZUNE or $00000800;
  2831. // Attributes
  2832. const
  2833. MUIA_Colorfield_Blue = MUIB_MUI or $42d3b0; // V4 isg LongWord
  2834. MUIA_Colorfield_Green = MUIB_MUI or $424466; // V4 isg LongWord
  2835. MUIA_Colorfield_Pen = MUIB_MUI or $42713a; // V4 ..g LongWord
  2836. MUIA_Colorfield_Red = MUIB_MUI or $4279f6; // V4 isg LongWord
  2837. MUIA_Colorfield_RGB = MUIB_MUI or $42677a; // V4 isg LongWord
  2838. // *********************************************************************
  2839. // Coloradjust
  2840. const
  2841. MUIC_Coloradjust: PAnsiChar = 'Coloradjust.mui';
  2842. // Identifier base (for Zune extensions)
  2843. MUIB_Coloradjust = MUIB_ZUNE or $00000700;
  2844. // Attributes
  2845. const
  2846. MUIA_Coloradjust_Blue = MUIB_MUI or $42b8a3; // V4 isg LongWord
  2847. MUIA_Coloradjust_Green = MUIB_MUI or $4285ab; // V4 isg LongWord
  2848. MUIA_Coloradjust_ModeID = MUIB_MUI or $42ec59; // V4 isg LongWord
  2849. MUIA_Coloradjust_Red = MUIB_MUI or $420eaa; // V4 isg LongWord
  2850. MUIA_Coloradjust_RGB = MUIB_MUI or $42f899; // V4 isg LongWord
  2851. // *********************************************************************
  2852. // Mccprefs
  2853. const
  2854. MUIC_Mccprefs: PAnsiChar = 'Mccprefs.mui';
  2855. // *********************************************************************
  2856. // Frameadjust
  2857. const
  2858. MUIC_Frameadjust: PAnsiChar = 'Frameadjust.mui';
  2859. // Identifier base (for Zune extensions)
  2860. MUIB_Frameadjust = MUIB_ZUNE or $00000d00;
  2861. // Attributes
  2862. MUIA_Frameadjust_Spec = MUIB_Frameadjust or $0; // Zune 20030330 ig. STRPTR
  2863. // *********************************************************************
  2864. // Framedisplay
  2865. const
  2866. MUIC_Framedisplay: PAnsiChar = 'Framedisplay.mui';
  2867. // Identifier base (for Zune extensions)
  2868. MUIB_Framedisplay = MUIB_ZUNE or $00000e00;
  2869. // Attributes
  2870. MUIA_Framedisplay_Spec = MUIB_MUI or $421794; // MUI: V?? isg PMUI_FrameSpec
  2871. // *********************************************************************
  2872. // Popframe
  2873. const
  2874. MUIC_Popframe: PAnsiChar = 'Popframe.mui';
  2875. // Identifier base (for Zune extensions)
  2876. MUIB_Popframe = MUIB_ZUNE or $00002200;
  2877. // *********************************************************************
  2878. // Volumelist
  2879. const
  2880. MUIC_Volumelist: PAnsiChar = 'Volumelist.mui';
  2881. // Identifier base (for Zune extensions)
  2882. MUIB_Volumelist = MUIB_ZUNE or $1600;
  2883. // *********************************************************************
  2884. // Dirlist
  2885. const
  2886. MUIC_Dirlist: PAnsiChar = 'Dirlist.mui';
  2887. // Identifer base (for Zune extensions)
  2888. MUIB_Dirlist = MUIB_ZUNE or $00001800;
  2889. // Methods
  2890. const
  2891. MUIM_Dirlist_ReRead = MUIB_MUI or $422d71; // V4
  2892. type
  2893. TMUIP_Dirlist_ReRead = record
  2894. MethodID : LongWord; // MUIM_Dirlist_ReRead
  2895. end;
  2896. // Attributes
  2897. const
  2898. MUIA_Dirlist_AcceptPattern = MUIB_MUI or $42760a; // V4 is. STRPTR
  2899. MUIA_Dirlist_Directory = MUIB_MUI or $42ea41; // V4 isg STRPTR
  2900. MUIA_Dirlist_DrawersOnly = MUIB_MUI or $42b379; // V4 is. WordBool
  2901. MUIA_Dirlist_FilesOnly = MUIB_MUI or $42896a; // V4 is. WordBool
  2902. MUIA_Dirlist_FilterDrawers = MUIB_MUI or $424ad2; // V4 is. WordBool
  2903. MUIA_Dirlist_FilterHook = MUIB_MUI or $42ae19; // V4 is. PHook
  2904. MUIA_Dirlist_MultiSelDirs = MUIB_MUI or $428653; // V6 is. WordBool
  2905. MUIA_Dirlist_NumBytes = MUIB_MUI or $429e26; // V4 ..g LongInt
  2906. MUIA_Dirlist_NumDrawers = MUIB_MUI or $429cb8; // V4 ..g LongInt
  2907. MUIA_Dirlist_NumFiles = MUIB_MUI or $42a6f0; // V4 ..g LongInt
  2908. MUIA_Dirlist_Path = MUIB_MUI or $426176; // V4 ..g STRPTR
  2909. MUIA_Dirlist_RejectIcons = MUIB_MUI or $424808; // V4 is. WordBool
  2910. MUIA_Dirlist_RejectPattern = MUIB_MUI or $4259c7; // V4 is. STRPTR
  2911. MUIA_Dirlist_SortDirs = MUIB_MUI or $42bbb9; // V4 is. LongInt
  2912. MUIA_Dirlist_SortHighLow = MUIB_MUI or $421896; // V4 is. WordBool
  2913. MUIA_Dirlist_SortType = MUIB_MUI or $4228bc; // V4 is. LongInt
  2914. MUIA_Dirlist_Status = MUIB_MUI or $4240de; // V4 ..g LongInt
  2915. MUIV_Dirlist_SortDirs_First = 0;
  2916. MUIV_Dirlist_SortDirs_Last = 1;
  2917. MUIV_Dirlist_SortDirs_Mix = 2;
  2918. MUIV_Dirlist_SortType_Name = 0;
  2919. MUIV_Dirlist_SortType_Date = 1;
  2920. MUIV_Dirlist_SortType_Size = 2;
  2921. MUIV_Dirlist_Status_Invalid = 0;
  2922. MUIV_Dirlist_Status_Reading = 1;
  2923. MUIV_Dirlist_Status_Valid = 2;
  2924. // *********************************************************************
  2925. // Numericbutton
  2926. const
  2927. MUIC_Numericbutton: PAnsiChar = 'Numericbutton.mui';
  2928. // *********************************************************************
  2929. // Poplist
  2930. const
  2931. MUIC_Poplist: PAnsiChar = 'Poplist.mui';
  2932. // Identifier base (for Zune extensions)
  2933. MUIB_Poplist = MUIB_ZUNE or $00002500;
  2934. // Attributes
  2935. const
  2936. MUIA_Poplist_Array = MUIB_MUI or $42084c; // V8 i.. PPAnsiChar
  2937. // *********************************************************************
  2938. // Popscreen
  2939. const
  2940. MUIC_Popscreen: PAnsiChar = 'Popscreen.mui';
  2941. // Identifier base (for Zune extensions)
  2942. MUIB_Popscreen = MUIB_ZUNE or $00002600;
  2943. // *********************************************************************
  2944. // Crawling
  2945. const
  2946. MUIC_Crawling: PAnsiChar = 'Crawling.mui';
  2947. // *********************************************************************
  2948. // Levelmeter
  2949. const
  2950. MUIC_Levelmeter: PAnsiChar = 'Levelmeter.mui';
  2951. // Attributes
  2952. const
  2953. MUIA_Levelmeter_Label = MUIB_MUI or $420dd5; // V11 isg STRPTR
  2954. // *********************************************************************
  2955. // Knob
  2956. const
  2957. MUIC_Knob: PAnsiChar = 'Knob.mui';
  2958. // *********************************************************************
  2959. // Dtpic
  2960. const
  2961. MUIC_Dtpic: PAnsiChar = 'Dtpic.mui';
  2962. // Identifier base (for Zune extensions)
  2963. MUIB_Palette = MUIB_ZUNE or $00008a00;
  2964. // Attributes
  2965. const
  2966. MUIA_Dtpic_Alpha = MUIB_MUI or $42b4db; // V20 isg LongInt
  2967. MUIA_Dtpic_DarkenSelState = MUIB_MUI or $423247; // V20 i.g WordBool
  2968. MUIA_Dtpic_Fade = MUIB_MUI or $420429; // V20 isg LongInt
  2969. MUIA_Dtpic_LightenOnMouse = MUIB_MUI or $42966a; // V20 i.g WordBool
  2970. MUIA_Dtpic_Name = MUIB_MUI or $423d72; // V18 isg STRPTR
  2971. // *********************************************************************
  2972. // Palette
  2973. const
  2974. MUIC_Palette: PAnsiChar = 'Palette.mui';
  2975. // Attributes
  2976. const
  2977. MUIA_Palette_Entries = $8042a3d8;{ V6 i.g struct MUI_Palette_Entry }
  2978. MUIA_Palette_Groupable = $80423e67;{ V6 isg BOOL }
  2979. MUIA_Palette_Names = $8042c3a2;{ V6 isg AnsiChar }
  2980. // *********************************************************************
  2981. // Title
  2982. const
  2983. MUIC_Title: PAnsiChar = 'Title.mui';
  2984. // *********************************************************************
  2985. // Process
  2986. const
  2987. MUIC_Process: PAnsiChar = 'Process.mui';
  2988. // Methods
  2989. MUIM_Process_Kill = MUIB_MUI or $4264cf; // V20
  2990. MUIM_Process_Launch = MUIB_MUI or $425df7; // V20
  2991. MUIM_Process_Process = MUIB_MUI or $4230aa; // V20
  2992. MUIM_Process_Signal = MUIB_MUI or $42e791; // V20
  2993. type
  2994. TMUIP_Process_Kill = record
  2995. MethodID : LongWord;
  2996. maxdelay: LongInt;
  2997. end;
  2998. TMUIP_Process_Launch = record
  2999. MethodID : LongWord;
  3000. end;
  3001. TMUIP_Process_Process = record
  3002. MethodID : LongWord;
  3003. kill: PLongWord;
  3004. proc: PObject_;
  3005. end;
  3006. TMUIP_Process_Signal = record
  3007. MethodID : LongWord;
  3008. sigs: LongWord;
  3009. end;
  3010. // Attributes
  3011. const
  3012. MUIA_Process_AutoLaunch = MUIB_MUI or $428855; // V20 i.. LongWord
  3013. MUIA_Process_Name = MUIB_MUI or $42732b; // V20 i.. LongWord
  3014. MUIA_Process_Priority = MUIB_MUI or $422a54; // V20 i.. LongWord
  3015. MUIA_Process_SourceClass = MUIB_MUI or $42cf8b; // V20 i.. LongWord
  3016. MUIA_Process_SourceObject = MUIB_MUI or $4212a2; // V20 i.. LongWord
  3017. MUIA_Process_StackSize = MUIB_MUI or $4230d0; // V20 i.. LongWord
  3018. MUIA_Process_Task = MUIB_MUI or $42b123; // V20 ..g LongWord
  3019. // *********************************************************************
  3020. // Pixmap
  3021. const
  3022. MUIC_Pixmap: PAnsiChar = 'Pixmap.mui';
  3023. // Identifier base (for Zune extensions)
  3024. MUIB_Pixmap = MUIB_ZUNE or $00003600;
  3025. /// Methods
  3026. MUIM_Pixmap_DrawSection = MUIB_MUI or $42ce0f; // private, V20
  3027. type
  3028. TMUIP_Pixmap_DrawSection = record // private
  3029. MethodID: LongWord; // MUIM_Pixmap_DrawSection
  3030. sx: LongInt;
  3031. sy: LongInt;
  3032. sw: LongInt;
  3033. sh: LongInt;
  3034. mri: PMUI_RenderInfo;
  3035. dx: LongInt;
  3036. dy: LongInt;
  3037. end;
  3038. // Attributes
  3039. const
  3040. MUIA_Pixmap_Alpha = MUIB_MUI or $421fef; // V20 isg LongWord
  3041. MUIA_Pixmap_CLUT = MUIB_MUI or $42042a; // V20 isg LongWord
  3042. MUIA_Pixmap_CompressedSize = MUIB_MUI or $42e7e4; // V20 isg LongWord
  3043. MUIA_Pixmap_Compression = MUIB_MUI or $42ce74; // V20 isg LongWord
  3044. MUIA_Pixmap_Data = MUIB_MUI or $429ea0; // V20 isg APTR
  3045. MUIA_Pixmap_Format = MUIB_MUI or $42ab14; // V20 isg LongWord
  3046. MUIA_Pixmap_Height = MUIB_MUI or $4288be; // V20 isg LongInt
  3047. MUIA_Pixmap_UncompressedData = MUIB_MUI or $42b085; // V20 ..g APTR
  3048. MUIA_Pixmap_Width = MUIB_MUI or $42ccb8; // V20 isg LongInt
  3049. MUIV_Pixmap_Compression_None = 0;
  3050. MUIV_Pixmap_Compression_RLE = 1;
  3051. MUIV_Pixmap_Compression_BZip2 = 2;
  3052. MUIV_Pixmap_Format_CLUT8 = 0;
  3053. MUIV_Pixmap_Format_RGB24 = 1;
  3054. MUIV_Pixmap_Format_ARGB32 = 2;
  3055. // *********************************************************************
  3056. // Gadget
  3057. const
  3058. MUIC_Gadget: PAnsiChar = 'Gadget.mui';
  3059. // Attributes
  3060. const
  3061. MUIA_Gadget_Gadget = MUIB_MUI or $42ec1a; // V11 ..g PGadget
  3062. // *********************************************************************
  3063. // Applist
  3064. const
  3065. MUIC_Applist: PAnsiChar = 'Applist.mui';
  3066. // *********************************************************************
  3067. // Cclist
  3068. const
  3069. MUIC_Cclist: PAnsiChar = 'Cclist.mui';
  3070. type
  3071. // Instance data of notify class
  3072. TMUI_NotifyData = record
  3073. mnd_GlobalInfo: PMUI_GlobalInfo;
  3074. mnd_UserData: LongWord;
  3075. mnd_ObjectID: LongWord;
  3076. priv1: LongWord;
  3077. priv2: LongWord;
  3078. priv3: LongWord;
  3079. priv4: LongWord;
  3080. end;
  3081. PMUI_NotifyData = ^TMUI_NotifyData;
  3082. const
  3083. // special maximum dimension in case it is unlimited
  3084. MUI_MAXMAX = 10000;
  3085. type
  3086. T__dummyAreaData__ = record
  3087. mnd: TMUI_NotifyData;
  3088. mad: TMUI_AreaData;
  3089. end;
  3090. P__dummyAreaData__ = ^T__dummyAreaData__;
  3091. const
  3092. // Possible keyevents (user configurable)
  3093. MUIKEY_RELEASE = -2; // this one is faked only, so not configurable
  3094. MUIKEY_NONE = -1;
  3095. MUIKEY_PRESS = 0;
  3096. MUIKEY_TOGGLE = 1;
  3097. MUIKEY_UP = 2;
  3098. MUIKEY_DOWN = 3;
  3099. MUIKEY_PAGEUP = 4;
  3100. MUIKEY_PAGEDOWN = 5;
  3101. MUIKEY_TOP = 6;
  3102. MUIKEY_BOTTOM = 7;
  3103. MUIKEY_LEFT = 8;
  3104. MUIKEY_RIGHT = 9;
  3105. MUIKEY_WORDLEFT = 10;
  3106. MUIKEY_WORDRIGHT = 11;
  3107. MUIKEY_LINESTART = 12;
  3108. MUIKEY_LINEEND = 13;
  3109. MUIKEY_GADGET_NEXT = 14;
  3110. MUIKEY_GADGET_PREV = 15;
  3111. MUIKEY_GADGET_OFF = 16;
  3112. MUIKEY_WINDOW_CLOSE = 17;
  3113. MUIKEY_WINDOW_NEXT = 18;
  3114. MUIKEY_WINDOW_PREV = 19;
  3115. MUIKEY_HELP = 20;
  3116. MUIKEY_POPUP = 21;
  3117. MUIKEY_COUNT = 22;
  3118. // The mask definitions of the above keys
  3119. MUIKEYF_PRESS = 1 shl MUIKEY_PRESS;
  3120. MUIKEYF_TOGGLE = 1 shl MUIKEY_TOGGLE;
  3121. MUIKEYF_UP = 1 shl MUIKEY_UP;
  3122. MUIKEYF_DOWN = 1 shl MUIKEY_DOWN;
  3123. MUIKEYF_PAGEUP = 1 shl MUIKEY_PAGEUP;
  3124. MUIKEYF_PAGEDOWN = 1 shl MUIKEY_PAGEDOWN;
  3125. MUIKEYF_TOP = 1 shl MUIKEY_TOP;
  3126. MUIKEYF_BOTTOM = 1 shl MUIKEY_BOTTOM;
  3127. MUIKEYF_LEFT = 1 shl MUIKEY_LEFT;
  3128. MUIKEYF_RIGHT = 1 shl MUIKEY_RIGHT;
  3129. MUIKEYF_WORDLEFT = 1 shl MUIKEY_WORDLEFT;
  3130. MUIKEYF_WORDRIGHT = 1 shl MUIKEY_WORDRIGHT;
  3131. MUIKEYF_LINESTART = 1 shl MUIKEY_LINESTART;
  3132. MUIKEYF_LINEEND = 1 shl MUIKEY_LINEEND;
  3133. MUIKEYF_GADGET_NEXT = 1 shl MUIKEY_GADGET_NEXT;
  3134. MUIKEYF_GADGET_PREV = 1 shl MUIKEY_GADGET_PREV;
  3135. MUIKEYF_GADGET_OFF = 1 shl MUIKEY_GADGET_OFF;
  3136. MUIKEYF_WINDOW_CLOSE = 1 shl MUIKEY_WINDOW_CLOSE;
  3137. MUIKEYF_WINDOW_NEXT = 1 shl MUIKEY_WINDOW_NEXT;
  3138. MUIKEYF_WINDOW_PREV = 1 shl MUIKEY_WINDOW_PREV;
  3139. MUIKEYF_HELP = 1 shl MUIKEY_HELP;
  3140. MUIKEYF_POPUP = 1 shl MUIKEY_POPUP;
  3141. // MUI_CustomClass returned by MUI_CreateCustomClass()
  3142. // use for whatever you want MUI has opened these libraries for you automatically. You can use them or decide to open
  3143. type
  3144. TMUI_CustomClass = record
  3145. mcc_UserData: APTR; // freely usable
  3146. // Zune/MUI had the following libraries opened for you
  3147. mcc_UtilityBase: PLibrary;
  3148. mcc_DOSBase: PLibrary;
  3149. mcc_GfxBase: PLibrary;
  3150. mcc_IntuitionBase: PLibrary;
  3151. mcc_Super: PIClass; // the boopsi class' superclass
  3152. mcc_Class: PIClass; // the boopsi class
  3153. // the following stuff is private
  3154. mcc_Module: PLibrary; // non-null if external class
  3155. end;
  3156. PMUI_CustomClass = ^TMUI_CustomClass;
  3157. var
  3158. MUIMasterBase: PLibrary = nil;
  3159. IMui: PInterface = nil;
  3160. function MUIObtain(): LongWord; syscall IMui 60;
  3161. function MUIRelease(): LongWord; syscall IMui 64;
  3162. // 68 Expunge not implemented
  3163. // 72 Clone not implemented
  3164. function MUI_NewObjectA(const ClassID: STRPTR; Tags: PTagItem): PObject_; syscall IMui 76;
  3165. // 80 MUI_NewObject
  3166. procedure MUI_DisposeObject(Obj: PObject_); syscall IMui 84;
  3167. function MUI_RequestA(App: PObject_; Win: PObject_; Flags: LongWord; const Title: STRPTR; const Gadgets: STRPTR; const Format: STRPTR; Params: APTR): LongInt; syscall IMui 88;
  3168. // 92 MUI_Request
  3169. function MUI_AllocAslRequest(Type_: LongWord; TagList: PTagItem): Pointer; syscall IMui 96;
  3170. // 100 MUI_AllocAslRequestTags
  3171. function MUI_AslRequest(Req: APTR; TagList: PTagItem): LongBool; syscall IMui 104;
  3172. // 108 MUI_AslRequestTags
  3173. procedure MUI_FreeAslRequest(Req: APTR); syscall IMui 112;
  3174. function MUI_Error: LongInt; syscall IMui 116;
  3175. function MUI_SetError(ErrNum: LongInt): LongInt; syscall IMui 120;
  3176. function MUI_GetClass(const ClassID: STRPTR): PIClass; syscall IMui 124;
  3177. procedure MUI_FreeClass(Cl: PIClass); syscall IMui 128;
  3178. procedure MUI_RequestIDCMP(Obj: PObject_; Flags: LongWord); syscall IMui 132;
  3179. procedure MUI_RejectIDCMP(Obj: PObject_; Flags: LongWord); syscall IMui 136;
  3180. procedure MUI_Redraw(Obj: PObject_; Flags: LongWord); syscall IMui 140;
  3181. function MUI_CreateCustomClass(Base: PLibrary; const Supername: STRPTR; Supermcc: PMUI_CustomClass; DataSize: LongWord; Dispatcher: APTR): PMUI_CustomClass; syscall IMui 144;
  3182. function MUI_DeleteCustomClass(Mcc: PMUI_CustomClass): LongBool; syscall IMui 148;
  3183. function MUI_MakeObjectA(Type_: LongInt; Params: PLongWord): PObject_; syscall IMui 152;
  3184. // 156 MUI_MakeObject
  3185. function MUI_Layout(Obj: PObject_; l, t, w, h: LongInt; Flags: LongWord): LongBool; syscall IMui 160;
  3186. // 164 - 176 Private
  3187. function MUI_ObtainPen(Mri: PMUI_RenderInfo; Spec: PMUI_PenSpec; Flags: LongWord) : LongInt; syscall IMui 180;
  3188. procedure MUI_ReleasePen(Mri: PMUI_RenderInfo; Pen: LongInt); syscall IMui 184;
  3189. function MUI_AddClipping(Mri: PMUI_RenderInfo; l, t, w, h: LongInt): APTR; syscall IMui 188;
  3190. procedure MUI_RemoveClipping(Mri: PMUI_RenderInfo; h: APTR); syscall IMui 192;
  3191. function MUI_AddClipRegion(Mri: PMUI_RenderInfo; Region: PRegion): APTR; syscall IMui 196;
  3192. procedure MUI_RemoveClipRegion(Mri: PMUI_RenderInfo; Region: APTR); syscall IMui 200;
  3193. function MUI_BeginRefresh(Mri: PMUI_RenderInfo; Flags: LongWord): LongBool; syscall IMui 204;
  3194. procedure MUI_EndRefresh(Mri: PMUI_RenderInfo; Flags: LongWord); syscall IMui 208;
  3195. // 212 - 216 private
  3196. function MUI_Show(Obj: PObject_): LongWord; syscall IMui 220;
  3197. function MUI_Hide(Obj: PObject_): LongWord; syscall IMui 224;
  3198. function MUI_LayoutObj(Obj: PObject_; l, t, w, h: LongInt; Flags: LongWord): LongBool; syscall IMui 228;
  3199. function MUI_Offset(Obj: PObject_; X, Y: LongInt): LongBool; syscall IMui 232;
  3200. // 236 - 572 private
  3201. // some procedures to get some information about our object
  3202. function MUINotifyData(Obj: APTR): PMUI_NotifyData;
  3203. function MUIAreaData(Obj: APTR): PMUI_AreaData;
  3204. function MUIGlobalInfo(Obj: APTR): PMUI_GlobalInfo;
  3205. function MUIUserData(Obj: APTR): Pointer ;
  3206. function MUIRenderInfo(Obj: APTR): PMUI_RenderInfo;
  3207. function MUIPen(Pen: LongInt): LongInt;
  3208. // some more specialized functions to retain information about special
  3209. // object-data like rastport, window, etc.
  3210. // NOTE: These macros may only be used in custom classes and are
  3211. // only valid if your class is inbetween the specified methods!
  3212. function OBJ_App(Obj: APTR): PObject_; // valid between MUIM_Setup/Cleanup
  3213. function OBJ_Win(Obj: APTR): PObject_; // valid between MUIM_Setup/Cleanup
  3214. function OBJ_Dri(Obj: APTR): PDrawInfo; // valid between MUIM_Setup/Cleanup
  3215. function OBJ_Screen(Obj: APTR): PScreen; // valid between MUIM_Setup/Cleanup
  3216. function OBJ_Pens(Obj: APTR): PWord; // valid between MUIM_Setup/Cleanup
  3217. function OBJ_Window(Obj: APTR): PWindow; // valid between MUIM_Show/Hide
  3218. function OBJ_Rp(Obj: APTR): PRastPort; // valid between MUIM_Show/Hide
  3219. function OBJ_Left(Obj: APTR): SmallInt; // valid during MUIM_Draw
  3220. function OBJ_Top(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3221. function OBJ_Width(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3222. function OBJ_Height(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3223. function OBJ_Right(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3224. function OBJ_Bottom(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3225. function OBJ_AddLeft(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3226. function OBJ_AddTop(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3227. function OBJ_SubWidth(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3228. function OBJ_SubHeight(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3229. function OBJ_MLeft(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3230. function OBJ_MTop(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3231. function OBJ_MWidth(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3232. function OBJ_MHeight(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3233. function OBJ_MRight(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3234. function OBJ_MBottom(Obj: APTR): SmallInt; // valid during MUIM_Draw *)
  3235. function OBJ_Font(Obj: APTR): PTextFont; // valid between MUIM_Setup/Cleanup *)
  3236. function OBJ_MinWidth(Obj: APTR): LongWord; // valid between MUIM_Show/Hide *)
  3237. function OBJ_MinHeight(Obj: APTR): LongWord; // valid between MUIM_Show/Hide *)
  3238. function OBJ_MaxWidth(Obj: APTR): LongWord; // valid between MUIM_Show/Hide *)
  3239. function OBJ_MaxHeight(Obj: APTR): LongWord; // valid between MUIM_Show/Hide *)
  3240. function OBJ_DefWidth(Obj: APTR): LongWord; // valid between MUIM_Show/Hide *)
  3241. function OBJ_DefHeight(Obj: APTR): LongWord; // valid between MUIM_Show/Hide *)
  3242. function OBJ_Flags(Obj: APTR): LongWord;
  3243. function OBJ_Between(a, x, b: SmallInt): Boolean;
  3244. function OBJ_IsInObject(x, y: SmallInt; Obj: PObject_): Boolean;
  3245. function MUIV_Window_AltHeight_MinMax(p: LongInt): LongInt;
  3246. function MUIV_Window_AltHeight_Visible(p: LongInt): LongInt;
  3247. function MUIV_Window_AltHeight_Screen(p: LongInt): LongInt;
  3248. function MUIV_Window_AltTopEdge_Delta(p: LongInt): LongInt;
  3249. function MUIV_Window_AltWidth_MinMax(p: LongInt): LongInt;
  3250. function MUIV_Window_AltWidth_Visible(p: LongInt): LongInt;
  3251. function MUIV_Window_AltWidth_Screen(p: LongInt): LongInt;
  3252. function MUIV_Window_Height_MinMax(p: LongInt): LongInt;
  3253. function MUIV_Window_Height_Visible(p: LongInt): LongInt;
  3254. function MUIV_Window_Height_Screen(p: LongInt): LongInt;
  3255. function MUIV_Window_TopEdge_Delta(p: LongInt): LongInt;
  3256. function MUIV_Window_Width_MinMax(p: LongInt): LongInt;
  3257. function MUIV_Window_Width_Visible(p: LongInt): LongInt;
  3258. function MUIV_Window_Width_Screen(p: LongInt): LongInt;
  3259. // Functions and procedures with array of const go here
  3260. function MUI_AllocAslRequestTags(ReqTyp: Longword; const Tags: array of PtrUInt): Pointer;
  3261. function MUI_AslRequestTags(req: Pointer; const Tags : array of PtrUInt): LongBool;
  3262. function MUI_MakeObject(_Type: LongInt; const Params : array of PtrUInt): PObject_;
  3263. function MUI_NewObject(a0arg: PAnsiChar; const Tags: array of PtrUInt): PObject_;
  3264. function MUI_Request(App: Pointer; win: Pointer; Flags: LongWord; Title: PAnsiChar; Gadgets: PAnsiChar; Format: PAnsiChar; const Params: Array Of PtrUInt): LongInt;
  3265. implementation
  3266. function MUINotifyData(Obj: APTR): PMUI_NotifyData; inline;
  3267. begin
  3268. MUINotifyData := PMUI_NotifyData(@P__dummyAreaData__(Obj)^.mnd);
  3269. end;
  3270. function MUIAreaData(Obj: APTR): PMUI_AreaData; inline;
  3271. begin
  3272. MUIAreaData := PMUI_AreaData(@P__dummyAreaData__(Obj)^.mad);
  3273. end;
  3274. function MUIGlobalInfo(Obj: APTR): PMUI_GlobalInfo; inline;
  3275. begin
  3276. MUIGlobalInfo := PMUI_GlobalInfo(P__dummyAreaData__(Obj)^.mnd.mnd_GlobalInfo);
  3277. end;
  3278. function MUIUserData(Obj: APTR): Pointer; inline;
  3279. begin
  3280. MUIUserData := Pointer(p__dummyAreaData__(obj)^.mnd.mnd_GlobalInfo);
  3281. end;
  3282. function MUIRenderInfo(Obj: APTR): PMUI_RenderInfo; inline;
  3283. begin
  3284. MUIRenderInfo := PMUI_RenderInfo(P__dummyAreaData__(obj)^.mad.mad_RenderInfo);
  3285. end;
  3286. function MUIPen(Pen: LongInt): LongInt; inline;
  3287. begin
  3288. MUIPen := LongInt(Pen and MUIPEN_Mask);
  3289. end;
  3290. function OBJ_App(Obj: APTR): PObject_; inline;
  3291. begin
  3292. OBJ_App := MUIGlobalInfo(Obj)^.mgi_ApplicationObject;
  3293. end;
  3294. function OBJ_Win(Obj: APTR): PObject_; inline;
  3295. begin
  3296. OBJ_Win := MUIRenderInfo(Obj)^.mri_WindowObject;
  3297. end;
  3298. function OBJ_Dri(Obj: APTR): PDrawInfo; inline;
  3299. begin
  3300. OBJ_Dri := MUIRenderInfo(obj)^.mri_DrawInfo;
  3301. end;
  3302. function OBJ_Screen(Obj: APTR): PScreen; inline;
  3303. begin
  3304. OBJ_Screen := MUIRenderInfo(Obj)^.mri_Screen;
  3305. end;
  3306. function OBJ_Pens(Obj: APTR): PWord; inline;
  3307. begin
  3308. OBJ_Pens := MUIRenderInfo(obj)^.mri_Pens;
  3309. end;
  3310. function OBJ_Window(Obj: APTR): PWindow; inline;
  3311. begin
  3312. OBJ_Window := MUIRenderInfo(obj)^.mri_Window;
  3313. end;
  3314. function OBJ_Rp(Obj: APTR): PRastPort; inline;
  3315. begin
  3316. OBJ_Rp := MUIRenderInfo(Obj)^.mri_RastPort;
  3317. end;
  3318. function OBJ_Left(Obj: APTR): SmallInt; inline;
  3319. begin
  3320. OBJ_Left := MUIAreaData(Obj)^.mad_Box.Left;
  3321. end;
  3322. function OBJ_Top(Obj: APTR): SmallInt; inline;
  3323. begin
  3324. OBJ_Top := MUIAreaData(Obj)^.mad_Box.Top;
  3325. end;
  3326. function OBJ_Width(Obj: APTR): SmallInt; inline;
  3327. begin
  3328. OBJ_Width := MUIAreaData(Obj)^.mad_Box.Width;
  3329. end;
  3330. function OBJ_Height(Obj: APTR): SmallInt; inline;
  3331. begin
  3332. OBJ_Height := MUIAreaData(Obj)^.mad_Box.Height;
  3333. end;
  3334. function OBJ_Right(Obj: APTR): SmallInt; inline;
  3335. begin
  3336. OBJ_Right := OBJ_Left(Obj) + OBJ_Width(Obj) - 1;
  3337. end;
  3338. function OBJ_Bottom(Obj: APTR): SmallInt; inline;
  3339. begin
  3340. OBJ_Bottom := OBJ_Top(Obj) + OBJ_Height(Obj) - 1;
  3341. end;
  3342. function OBJ_AddLeft(Obj: APTR): SmallInt; inline;
  3343. begin
  3344. OBJ_AddLeft := MUIAreaData(obj)^.mad_AddLeft;
  3345. end;
  3346. function OBJ_AddTop(Obj: APTR): SmallInt; inline;
  3347. begin
  3348. OBJ_AddTop := MUIAreaData(obj)^.mad_AddTop;
  3349. end;
  3350. function OBJ_SubWidth(Obj: APTR): SmallInt; inline;
  3351. begin
  3352. OBJ_SubWidth := MUIAreaData(obj)^.mad_SubWidth;
  3353. end;
  3354. function OBJ_SubHeight(Obj: APTR): SmallInt; inline;
  3355. begin
  3356. OBJ_SubHeight := MUIAreaData(obj)^.mad_SubHeight;
  3357. end;
  3358. function OBJ_MLeft(Obj: APTR): SmallInt; inline;
  3359. begin
  3360. OBJ_MLeft := OBJ_Left(obj) + OBJ_AddLeft(obj);
  3361. end;
  3362. function OBJ_MTop(Obj: APTR): SmallInt; inline;
  3363. begin
  3364. OBJ_MTop := OBJ_Top(obj) + OBJ_AddTop(obj);
  3365. end;
  3366. function OBJ_MWidth(Obj: APTR): SmallInt; inline;
  3367. begin
  3368. OBJ_MWidth := OBJ_Width(obj) - OBJ_SubWidth(obj);
  3369. end;
  3370. function OBJ_MHeight(Obj: APTR): SmallInt; inline;
  3371. begin
  3372. OBJ_MHeight := OBJ_Height(obj) - OBJ_SubHeight(obj);
  3373. end;
  3374. function OBJ_MRight(Obj: APTR): SmallInt; inline;
  3375. begin
  3376. OBJ_MRight := OBJ_MLeft(obj) + OBJ_MWidth(obj) - 1;
  3377. end;
  3378. function OBJ_MBottom(Obj: APTR): SmallInt; inline;
  3379. begin
  3380. OBJ_MBottom := OBJ_MTop(obj) + OBJ_MHeight(obj) - 1;
  3381. end;
  3382. function OBJ_Font(Obj: APTR): PTextFont; inline;
  3383. begin
  3384. OBJ_Font := MUIAreaData(obj)^.mad_Font;
  3385. end;
  3386. function OBJ_MinWidth(Obj: APTR): LongWord; inline;
  3387. begin
  3388. OBJ_MinWidth := MUIAreaData(obj)^.mad_MinMax.MinWidth;
  3389. end;
  3390. function OBJ_MinHeight(Obj: APTR): LongWord; inline;
  3391. begin
  3392. OBJ_MinHeight := MUIAreaData(obj)^.mad_MinMax.MinHeight;
  3393. end;
  3394. function OBJ_MaxWidth(Obj: APTR): LongWord; inline;
  3395. begin
  3396. OBJ_maxWidth := MUIAreaData(obj)^.mad_MinMax.MaxWidth;
  3397. end;
  3398. function OBJ_MaxHeight(Obj: APTR): LongWord; inline;
  3399. begin
  3400. OBJ_maxHeight := MUIAreaData(obj)^.mad_MinMax.MaxHeight;
  3401. end;
  3402. function OBJ_DefWidth(Obj: APTR): LongWord; inline;
  3403. begin
  3404. OBJ_DefWidth := MUIAreaData(obj)^.mad_MinMax.DefWidth;
  3405. end;
  3406. function OBJ_DefHeight(Obj: APTR): LongWord; inline;
  3407. begin
  3408. OBJ_DefHeight := MUIAreaData(obj)^.mad_MinMax.DefHeight;
  3409. end;
  3410. function OBJ_Flags(Obj: APTR): LongWord; inline;
  3411. begin
  3412. OBJ_Flags := MUIAreaData(obj)^.mad_Flags;
  3413. end;
  3414. // 2 useful procedures for testing if some coordinates are inside your object (converted from the ones in class3.c. So look there how to use... )
  3415. function OBJ_Between(a,x,b : SmallInt): boolean; inline;
  3416. begin
  3417. OBJ_Between := (x >= a) and (x <= b);
  3418. end;
  3419. function OBJ_IsInObject(x, y: SmallInt; Obj: PObject_): boolean; inline;
  3420. begin
  3421. OBJ_IsInObject := OBJ_Between(OBJ_MLeft(obj), x, OBJ_MRight(obj)) and OBJ_Between(OBJ_MTop(obj), y, OBJ_MBottom(obj));
  3422. end;
  3423. function MUIV_Window_AltHeight_MinMax(p: LongInt): LongInt; inline;
  3424. begin
  3425. MUIV_Window_AltHeight_MinMax := 0 - p;
  3426. end;
  3427. function MUIV_Window_AltHeight_Visible(p: LongInt): LongInt; inline;
  3428. begin
  3429. MUIV_Window_AltHeight_Visible := -100 - p;
  3430. end;
  3431. function MUIV_Window_AltHeight_Screen(p: LongInt): LongInt; inline;
  3432. begin
  3433. MUIV_Window_AltHeight_Screen := -200 - p;
  3434. end;
  3435. function MUIV_Window_AltTopEdge_Delta(p: LongInt): LongInt; inline;
  3436. begin
  3437. MUIV_Window_AltTopEdge_Delta := -3 - p;
  3438. end;
  3439. function MUIV_Window_AltWidth_MinMax(p: LongInt): LongInt; inline;
  3440. begin
  3441. MUIV_Window_AltWidth_MinMax := 0 - p;
  3442. end;
  3443. function MUIV_Window_AltWidth_Visible(p: LongInt): LongInt; inline;
  3444. begin
  3445. MUIV_Window_AltWidth_Visible := -100 - p;
  3446. end;
  3447. function MUIV_Window_AltWidth_Screen(p: LongInt): LongInt; inline;
  3448. begin
  3449. MUIV_Window_AltWidth_Screen := -200 - p;
  3450. end;
  3451. function MUIV_Window_Height_MinMax(p: LongInt): LongInt; inline;
  3452. begin
  3453. MUIV_Window_Height_MinMax := 0 - p;
  3454. end;
  3455. function MUIV_Window_Height_Visible(p: LongInt): LongInt; inline;
  3456. begin
  3457. MUIV_Window_Height_Visible := -100 - p;
  3458. end;
  3459. function MUIV_Window_Height_Screen(p: LongInt): LongInt; inline;
  3460. begin
  3461. MUIV_Window_Height_Screen := -200 - p;
  3462. end;
  3463. function MUIV_Window_TopEdge_Delta(p: LongInt): LongInt; inline;
  3464. begin
  3465. MUIV_Window_TopEdge_Delta := -3 - p;
  3466. end;
  3467. function MUIV_Window_Width_MinMax(p: LongInt): LongInt; inline;
  3468. begin
  3469. MUIV_Window_Width_MinMax := 0 - p;
  3470. end;
  3471. function MUIV_Window_Width_Visible(p: LongInt): LongInt; inline;
  3472. begin
  3473. MUIV_Window_Width_Visible := -100 - p;
  3474. end;
  3475. function MUIV_Window_Width_Screen(p : LongInt) : LongInt; inline;
  3476. begin
  3477. MUIV_Window_Width_Screen := (-200 - (p));
  3478. end;
  3479. // Functions and procedures with array of const go here
  3480. function MUI_AllocAslRequestTags(ReqTyp : longword; const Tags: array of PtrUInt) : Pointer; inline;
  3481. begin
  3482. MUI_AllocAslRequestTags := MUI_AllocAslRequest(ReqTyp, @Tags);
  3483. end;
  3484. function MUI_AslRequestTags(Req: Pointer; const Tags: array of PtrUInt) : LongBool; inline;
  3485. begin
  3486. MUI_AslRequestTags := MUI_AslRequest(Req, @Tags);
  3487. end;
  3488. function MUI_MakeObject(_Type : LongInt; const Params: array of PtrUInt): PObject_; inline;
  3489. begin
  3490. MUI_MakeObject := MUI_MakeObjectA(_Type, @Params);
  3491. end;
  3492. function MUI_NewObject(a0arg: PAnsiChar; const Tags: array of PtrUInt): PObject_; inline;
  3493. begin
  3494. MUI_NewObject := MUI_NewObjectA(a0arg , @Tags);
  3495. end;
  3496. function MUI_Request(App: Pointer; win: Pointer; Flags: LongWord; Title: PAnsiChar; Gadgets: PAnsiChar; Format: PAnsiChar; const Params: Array Of PtrUInt): LongInt;
  3497. begin
  3498. MUI_Request := MUI_RequestA(App, Win, Flags, Title, Gadgets, Format, @Params);
  3499. end;
  3500. const
  3501. // Change LIBVERSION to proper values
  3502. LIBVERSION: LongWord = 0;
  3503. initialization
  3504. MUIMasterBase := OpenLibrary(MUIMASTER_NAME, LIBVERSION);
  3505. if Assigned(MUIMasterBase) then
  3506. IMui := GetInterface(MUIMasterBase, 'main', 1, nil);
  3507. finalization
  3508. if Assigned(IMui) then
  3509. DropInterface(IMui);
  3510. if Assigned(MUIMasterBase) then
  3511. CloseLibrary(MUIMasterBase);
  3512. end.