Appearance.pas 173 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025
  1. {
  2. File: HIToolbox/Appearance.h
  3. Contains: Appearance Manager Interfaces.
  4. Version: HIToolbox-624~3
  5. Copyright: © 1994-2008 by Apple Computer, Inc., all rights reserved
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://bugs.freepascal.org
  9. }
  10. { Pascal Translation Updated: Peter N Lewis, <[email protected]>, August 2005 }
  11. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2009 }
  12. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2012 }
  13. {
  14. Modified for use with Free Pascal
  15. Version 308
  16. Please report any bugs to <[email protected]>
  17. }
  18. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  19. {$mode macpas}
  20. {$modeswitch cblocks}
  21. {$packenum 1}
  22. {$macro on}
  23. {$inline on}
  24. {$calling mwpascal}
  25. {$IFNDEF FPC_DOTTEDUNITS}
  26. unit Appearance;
  27. {$ENDIF FPC_DOTTEDUNITS}
  28. interface
  29. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  30. {$setc GAP_INTERFACES_VERSION := $0308}
  31. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  32. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  33. {$endc}
  34. {$ifc defined CPUPOWERPC and defined CPUI386}
  35. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  36. {$endc}
  37. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  38. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  39. {$endc}
  40. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  41. {$setc __ppc__ := 1}
  42. {$elsec}
  43. {$setc __ppc__ := 0}
  44. {$endc}
  45. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  46. {$setc __ppc64__ := 1}
  47. {$elsec}
  48. {$setc __ppc64__ := 0}
  49. {$endc}
  50. {$ifc not defined __i386__ and defined CPUI386}
  51. {$setc __i386__ := 1}
  52. {$elsec}
  53. {$setc __i386__ := 0}
  54. {$endc}
  55. {$ifc not defined __x86_64__ and defined CPUX86_64}
  56. {$setc __x86_64__ := 1}
  57. {$elsec}
  58. {$setc __x86_64__ := 0}
  59. {$endc}
  60. {$ifc not defined __arm__ and defined CPUARM}
  61. {$setc __arm__ := 1}
  62. {$elsec}
  63. {$setc __arm__ := 0}
  64. {$endc}
  65. {$ifc not defined __arm64__ and defined CPUAARCH64}
  66. {$setc __arm64__ := 1}
  67. {$elsec}
  68. {$setc __arm64__ := 0}
  69. {$endc}
  70. {$ifc defined cpu64}
  71. {$setc __LP64__ := 1}
  72. {$elsec}
  73. {$setc __LP64__ := 0}
  74. {$endc}
  75. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  76. {$error Conflicting definitions for __ppc__ and __i386__}
  77. {$endc}
  78. {$ifc defined __ppc__ and __ppc__}
  79. {$setc TARGET_CPU_PPC := TRUE}
  80. {$setc TARGET_CPU_PPC64 := FALSE}
  81. {$setc TARGET_CPU_X86 := FALSE}
  82. {$setc TARGET_CPU_X86_64 := FALSE}
  83. {$setc TARGET_CPU_ARM := FALSE}
  84. {$setc TARGET_CPU_ARM64 := FALSE}
  85. {$setc TARGET_OS_MAC := TRUE}
  86. {$setc TARGET_OS_IPHONE := FALSE}
  87. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  88. {$setc TARGET_OS_EMBEDDED := FALSE}
  89. {$elifc defined __ppc64__ and __ppc64__}
  90. {$setc TARGET_CPU_PPC := FALSE}
  91. {$setc TARGET_CPU_PPC64 := TRUE}
  92. {$setc TARGET_CPU_X86 := FALSE}
  93. {$setc TARGET_CPU_X86_64 := FALSE}
  94. {$setc TARGET_CPU_ARM := FALSE}
  95. {$setc TARGET_CPU_ARM64 := FALSE}
  96. {$setc TARGET_OS_MAC := TRUE}
  97. {$setc TARGET_OS_IPHONE := FALSE}
  98. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  99. {$setc TARGET_OS_EMBEDDED := FALSE}
  100. {$elifc defined __i386__ and __i386__}
  101. {$setc TARGET_CPU_PPC := FALSE}
  102. {$setc TARGET_CPU_PPC64 := FALSE}
  103. {$setc TARGET_CPU_X86 := TRUE}
  104. {$setc TARGET_CPU_X86_64 := FALSE}
  105. {$setc TARGET_CPU_ARM := FALSE}
  106. {$setc TARGET_CPU_ARM64 := FALSE}
  107. {$ifc defined iphonesim}
  108. {$setc TARGET_OS_MAC := FALSE}
  109. {$setc TARGET_OS_IPHONE := TRUE}
  110. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  111. {$elsec}
  112. {$setc TARGET_OS_MAC := TRUE}
  113. {$setc TARGET_OS_IPHONE := FALSE}
  114. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  115. {$endc}
  116. {$setc TARGET_OS_EMBEDDED := FALSE}
  117. {$elifc defined __x86_64__ and __x86_64__}
  118. {$setc TARGET_CPU_PPC := FALSE}
  119. {$setc TARGET_CPU_PPC64 := FALSE}
  120. {$setc TARGET_CPU_X86 := FALSE}
  121. {$setc TARGET_CPU_X86_64 := TRUE}
  122. {$setc TARGET_CPU_ARM := FALSE}
  123. {$setc TARGET_CPU_ARM64 := FALSE}
  124. {$ifc defined iphonesim}
  125. {$setc TARGET_OS_MAC := FALSE}
  126. {$setc TARGET_OS_IPHONE := TRUE}
  127. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  128. {$elsec}
  129. {$setc TARGET_OS_MAC := TRUE}
  130. {$setc TARGET_OS_IPHONE := FALSE}
  131. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  132. {$endc}
  133. {$setc TARGET_OS_EMBEDDED := FALSE}
  134. {$elifc defined __arm__ and __arm__}
  135. {$setc TARGET_CPU_PPC := FALSE}
  136. {$setc TARGET_CPU_PPC64 := FALSE}
  137. {$setc TARGET_CPU_X86 := FALSE}
  138. {$setc TARGET_CPU_X86_64 := FALSE}
  139. {$setc TARGET_CPU_ARM := TRUE}
  140. {$setc TARGET_CPU_ARM64 := FALSE}
  141. {$setc TARGET_OS_MAC := FALSE}
  142. {$setc TARGET_OS_IPHONE := TRUE}
  143. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  144. {$setc TARGET_OS_EMBEDDED := TRUE}
  145. {$elifc defined __arm64__ and __arm64__}
  146. {$setc TARGET_CPU_PPC := FALSE}
  147. {$setc TARGET_CPU_PPC64 := FALSE}
  148. {$setc TARGET_CPU_X86 := FALSE}
  149. {$setc TARGET_CPU_X86_64 := FALSE}
  150. {$setc TARGET_CPU_ARM := FALSE}
  151. {$setc TARGET_CPU_ARM64 := TRUE}
  152. {$ifc defined ios}
  153. {$setc TARGET_OS_MAC := FALSE}
  154. {$setc TARGET_OS_IPHONE := TRUE}
  155. {$setc TARGET_OS_EMBEDDED := TRUE}
  156. {$elsec}
  157. {$setc TARGET_OS_MAC := TRUE}
  158. {$setc TARGET_OS_IPHONE := FALSE}
  159. {$setc TARGET_OS_EMBEDDED := FALSE}
  160. {$endc}
  161. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  162. {$elsec}
  163. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
  164. {$endc}
  165. {$ifc defined __LP64__ and __LP64__ }
  166. {$setc TARGET_CPU_64 := TRUE}
  167. {$elsec}
  168. {$setc TARGET_CPU_64 := FALSE}
  169. {$endc}
  170. {$ifc defined FPC_BIG_ENDIAN}
  171. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  172. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  173. {$elifc defined FPC_LITTLE_ENDIAN}
  174. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  175. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  176. {$elsec}
  177. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  178. {$endc}
  179. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  180. {$setc CALL_NOT_IN_CARBON := FALSE}
  181. {$setc OLDROUTINENAMES := FALSE}
  182. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  183. {$setc OPAQUE_UPP_TYPES := TRUE}
  184. {$setc OTCARBONAPPLICATION := TRUE}
  185. {$setc OTKERNEL := FALSE}
  186. {$setc PM_USE_SESSION_APIS := TRUE}
  187. {$setc TARGET_API_MAC_CARBON := TRUE}
  188. {$setc TARGET_API_MAC_OS8 := FALSE}
  189. {$setc TARGET_API_MAC_OSX := TRUE}
  190. {$setc TARGET_CARBON := TRUE}
  191. {$setc TARGET_CPU_68K := FALSE}
  192. {$setc TARGET_CPU_MIPS := FALSE}
  193. {$setc TARGET_CPU_SPARC := FALSE}
  194. {$setc TARGET_OS_UNIX := FALSE}
  195. {$setc TARGET_OS_WIN32 := FALSE}
  196. {$setc TARGET_RT_MAC_68881 := FALSE}
  197. {$setc TARGET_RT_MAC_CFM := FALSE}
  198. {$setc TARGET_RT_MAC_MACHO := TRUE}
  199. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  200. {$setc TYPE_BOOL := FALSE}
  201. {$setc TYPE_EXTENDED := FALSE}
  202. {$setc TYPE_LONGLONG := TRUE}
  203. {$IFDEF FPC_DOTTEDUNITS}
  204. uses MacOsApi.MacTypes,MacOsApi.CFBase,MacOsApi.CGContext,MacOsApi.Collections,MacOsApi.QuickdrawText,MacOsApi.QuickdrawTypes,MacOsApi.MacErrors;
  205. {$ELSE FPC_DOTTEDUNITS}
  206. uses MacTypes,CFBase,CGContext,Collections,QuickdrawText,QuickdrawTypes,MacErrors;
  207. {$ENDIF FPC_DOTTEDUNITS}
  208. {$endc} {not MACOSALLINCLUDE}
  209. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  210. { Appearance Manager constants, etc. }
  211. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  212. { Appearance Manager Apple Events (1.1 and later) }
  213. {$ifc TARGET_OS_MAC}
  214. {$ALIGN MAC68K}
  215. const
  216. kAppearanceEventClass = FourCharCode('appr'); { Event Class }
  217. kAEAppearanceChanged = FourCharCode('thme'); { Appearance changed (e.g. platinum to hi-tech) }
  218. kAESystemFontChanged = FourCharCode('sysf'); { system font changed }
  219. kAESmallSystemFontChanged = FourCharCode('ssfn'); { small system font changed }
  220. kAEViewsFontChanged = FourCharCode('vfnt'); { views font changed }
  221. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  222. { Appearance Manager file types }
  223. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  224. const
  225. kThemeDataFileType = FourCharCode('thme'); { file type for theme files }
  226. kThemePlatinumFileType = FourCharCode('pltn'); { file type for platinum appearance }
  227. kThemeCustomThemesFileType = FourCharCode('scen'); { file type for user themes }
  228. kThemeSoundTrackFileType = FourCharCode('tsnd');
  229. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  230. { Appearance Manager Supported Themes }
  231. { Use CopyThemeIdentifier to get the current theme ID }
  232. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  233. {$ifc USE_CFSTR_CONSTANT_MACROS}
  234. {$definec kThemeAppearancePlatinum CFSTRP('com.apple.theme.appearance.platinum')}
  235. {$endc}
  236. {$ifc USE_CFSTR_CONSTANT_MACROS}
  237. {$definec kThemeAppearanceAqua CFSTRP('com.apple.theme.appearance.aqua')}
  238. {$endc}
  239. {$ifc USE_CFSTR_CONSTANT_MACROS}
  240. {$definec kThemeAppearanceAquaBlue CFSTRP('com.apple.theme.appearance.aqua.blue')}
  241. {$endc}
  242. {$ifc USE_CFSTR_CONSTANT_MACROS}
  243. {$definec kThemeAppearanceAquaGraphite CFSTRP('com.apple.theme.appearance.aqua.graphite')}
  244. {$endc}
  245. {
  246. * AppearancePartCode
  247. *
  248. * Summary:
  249. * These are part codes returned by a few of the hit testing
  250. * Appearance APIs. Many of the Control Manager's ControlPartCodes
  251. * are based on these part codes.
  252. }
  253. type
  254. AppearancePartCode = SInt16;
  255. const
  256. {
  257. * This represents the lack of a part. It will be returned when the
  258. * Appearance Manager's hit testing logic determines that the input
  259. * point is not in any part of the widget.
  260. }
  261. kAppearancePartMetaNone = 0;
  262. {
  263. * This represents a widget which is not currently clickable because
  264. * it is disabled.
  265. }
  266. kAppearancePartMetaDisabled = 254;
  267. {
  268. * This represents a widget which is inactive, presumably because it
  269. * is in a window that is inactive.
  270. }
  271. kAppearancePartMetaInactive = 255;
  272. {
  273. * The part of a widget which indicates the widget's value. Scroll
  274. * bar thumbs and slider thumbs are the two main examples.
  275. }
  276. kAppearancePartIndicator = 129;
  277. {
  278. * The part of a widget which moves its value visually upward. Scroll
  279. * bar up arrows are the main example.
  280. }
  281. kAppearancePartUpButton = 20;
  282. {
  283. * The part of a widget which moves its value visually downward.
  284. * Scroll bar down arrows are the main example.
  285. }
  286. kAppearancePartDownButton = 21;
  287. {
  288. * The part of a widget which moves its value visually leftward.
  289. * Scroll bar left arrows are the main example.
  290. }
  291. kAppearancePartLeftButton = kAppearancePartUpButton;
  292. {
  293. * The part of a widget which moves its value visually rightward.
  294. * Scroll bar right arrows are the main example.
  295. }
  296. kAppearancePartRightButton = kAppearancePartDownButton;
  297. {
  298. * The part of a widget which moves its value visually upward one
  299. * whole page. Scroll bar page up areas are the main example.
  300. }
  301. kAppearancePartPageUpArea = 22;
  302. {
  303. * The part of a widget which moves its value visually downward one
  304. * whole page. Scroll bar page down areas are the main example.
  305. }
  306. kAppearancePartPageDownArea = 23;
  307. {
  308. * The part of a widget which moves its value visually leftward one
  309. * whole page. Scroll bar page left areas are the main example.
  310. }
  311. kAppearancePartPageLeftArea = kAppearancePartPageUpArea;
  312. {
  313. * The part of a widget which moves its value visually rightward one
  314. * whole page. Scroll bar page right areas are the main example.
  315. }
  316. kAppearancePartPageRightArea = kAppearancePartPageDownArea;
  317. {
  318. * AppearanceRegionCode
  319. *
  320. * Summary:
  321. * These are region codes used by a few of window-related Appearance
  322. * APIs. Many of the Window Manager's WindowRegionCodes are based on
  323. * these region codes.
  324. }
  325. type
  326. AppearanceRegionCode = UInt16;
  327. const
  328. kAppearanceRegionTitleBar = 0;
  329. kAppearanceRegionTitleText = 1;
  330. kAppearanceRegionCloseBox = 2;
  331. kAppearanceRegionZoomBox = 3;
  332. kAppearanceRegionDrag = 5;
  333. kAppearanceRegionGrow = 6;
  334. kAppearanceRegionCollapseBox = 7;
  335. kAppearanceRegionTitleProxyIcon = 8; { Mac OS 8.5 forward}
  336. kAppearanceRegionStructure = 32;
  337. kAppearanceRegionContent = 33; { Content area of the window; empty when the window is collapsed}
  338. kAppearanceRegionToolbarButton = 41;
  339. {
  340. * Discussion:
  341. * ThemeBrushes
  342. }
  343. const
  344. {
  345. * Use with kModalWindowClass.
  346. }
  347. kThemeBrushDialogBackgroundActive = 1;
  348. {
  349. * Use with kModalWindowClass.
  350. }
  351. kThemeBrushDialogBackgroundInactive = 2;
  352. {
  353. * Use with kAlertWindowClass and kMovableAlertWindowClass.
  354. }
  355. kThemeBrushAlertBackgroundActive = 3;
  356. {
  357. * Use with kAlertWindowClass and kMovableAlertWindowClass.
  358. }
  359. kThemeBrushAlertBackgroundInactive = 4;
  360. {
  361. * Use with kDocumentWindowClass.
  362. }
  363. kThemeBrushModelessDialogBackgroundActive = 5;
  364. {
  365. * Use with kDocumentWindowClass.
  366. }
  367. kThemeBrushModelessDialogBackgroundInactive = 6;
  368. {
  369. * Use with kFloatingWindowClass and kUtilityWindowClass.
  370. }
  371. kThemeBrushUtilityWindowBackgroundActive = 7;
  372. {
  373. * Use with kFloatingWindowClass and kUtilityWindowClass.
  374. }
  375. kThemeBrushUtilityWindowBackgroundInactive = 8;
  376. {
  377. * The background used for Finder list views.
  378. }
  379. kThemeBrushListViewSortColumnBackground = 9;
  380. kThemeBrushListViewBackground = 10;
  381. kThemeBrushIconLabelBackground = 11;
  382. kThemeBrushListViewSeparator = 12;
  383. kThemeBrushChasingArrows = 13;
  384. kThemeBrushDragHilite = 14;
  385. {
  386. * Use with kDocumentWindowClass.
  387. }
  388. kThemeBrushDocumentWindowBackground = 15;
  389. kThemeBrushFinderWindowBackground = 16;
  390. {
  391. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  392. }
  393. kThemeBrushScrollBarDelimiterActive = 17;
  394. {
  395. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  396. }
  397. kThemeBrushScrollBarDelimiterInactive = 18;
  398. {
  399. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  400. }
  401. kThemeBrushFocusHighlight = 19;
  402. {
  403. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  404. }
  405. kThemeBrushPopupArrowActive = 20;
  406. {
  407. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  408. }
  409. kThemeBrushPopupArrowPressed = 21;
  410. {
  411. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  412. }
  413. kThemeBrushPopupArrowInactive = 22;
  414. {
  415. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  416. }
  417. kThemeBrushAppleGuideCoachmark = 23;
  418. {
  419. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  420. }
  421. kThemeBrushIconLabelBackgroundSelected = 24;
  422. {
  423. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  424. }
  425. kThemeBrushStaticAreaFill = 25;
  426. {
  427. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  428. }
  429. kThemeBrushActiveAreaFill = 26;
  430. {
  431. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  432. }
  433. kThemeBrushButtonFrameActive = 27;
  434. {
  435. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  436. }
  437. kThemeBrushButtonFrameInactive = 28;
  438. {
  439. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  440. }
  441. kThemeBrushButtonFaceActive = 29;
  442. {
  443. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  444. }
  445. kThemeBrushButtonFaceInactive = 30;
  446. {
  447. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  448. }
  449. kThemeBrushButtonFacePressed = 31;
  450. {
  451. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  452. }
  453. kThemeBrushButtonActiveDarkShadow = 32;
  454. {
  455. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  456. }
  457. kThemeBrushButtonActiveDarkHighlight = 33;
  458. {
  459. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  460. }
  461. kThemeBrushButtonActiveLightShadow = 34;
  462. {
  463. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  464. }
  465. kThemeBrushButtonActiveLightHighlight = 35;
  466. {
  467. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  468. }
  469. kThemeBrushButtonInactiveDarkShadow = 36;
  470. {
  471. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  472. }
  473. kThemeBrushButtonInactiveDarkHighlight = 37;
  474. {
  475. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  476. }
  477. kThemeBrushButtonInactiveLightShadow = 38;
  478. {
  479. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  480. }
  481. kThemeBrushButtonInactiveLightHighlight = 39;
  482. {
  483. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  484. }
  485. kThemeBrushButtonPressedDarkShadow = 40;
  486. {
  487. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  488. }
  489. kThemeBrushButtonPressedDarkHighlight = 41;
  490. {
  491. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  492. }
  493. kThemeBrushButtonPressedLightShadow = 42;
  494. {
  495. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  496. }
  497. kThemeBrushButtonPressedLightHighlight = 43;
  498. {
  499. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  500. }
  501. kThemeBrushBevelActiveLight = 44;
  502. {
  503. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  504. }
  505. kThemeBrushBevelActiveDark = 45;
  506. {
  507. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  508. }
  509. kThemeBrushBevelInactiveLight = 46;
  510. {
  511. * Available in Appearance 1.1 (Mac OS 8.5) and later.
  512. }
  513. kThemeBrushBevelInactiveDark = 47;
  514. {
  515. * Available in Appearance 1.1.1 (Mac OS 9.0) and later.
  516. }
  517. kThemeBrushNotificationWindowBackground = 48;
  518. {
  519. * Use with kMovableModalWindowClass windows. Available in Mac OS X,
  520. * and CarbonLib 1.3 and later.
  521. }
  522. kThemeBrushMovableModalBackground = 49;
  523. {
  524. * Use with kSheetWindowClass and kSheetAlertWindowClass. This is the
  525. * backwardly compatible sheet background.
  526. * kThemeBrushSheetBackgroundTransparent is preferred. Available in
  527. * Mac OS X, and CarbonLib 1.3 and later.
  528. }
  529. kThemeBrushSheetBackgroundOpaque = 50;
  530. {
  531. * Use with kDrawerWindowClass. Available in Mac OS X, and CarbonLib
  532. * 1.3 and later.
  533. }
  534. kThemeBrushDrawerBackground = 51;
  535. {
  536. * Use with kToolbarWindowClass. Available in Mac OS X, and Carbon
  537. * Lib 1.6 and later.
  538. }
  539. kThemeBrushToolbarBackground = 52;
  540. {
  541. * Use with kSheetWindowClass and kSheetAlertWindowClass. Not fully
  542. * transparent -- this brush is the semi-transparent background seen
  543. * with modern sheets. Available in Mac OS X 10.1 and CarbonLib 1.6,
  544. * and later.
  545. }
  546. kThemeBrushSheetBackgroundTransparent = 53;
  547. {
  548. * Available in Mac OS X 10.1 and CarbonLib 1.6, and later.
  549. }
  550. kThemeBrushMenuBackground = 54;
  551. {
  552. * Available in Mac OS X 10.1 and CarbonLib 1.6, and later.
  553. }
  554. kThemeBrushMenuBackgroundSelected = 55;
  555. {
  556. * For lists that use different colors as the background for odd and
  557. * even rows (like iTunes), this brush is the background for the odd
  558. * numbered rows. Available in Mac OS X 10.3 and later.
  559. }
  560. kThemeBrushListViewOddRowBackground = 56;
  561. {
  562. * For lists that use different colors as the background for odd and
  563. * even rows (like iTunes), this brush is the background for the even
  564. * numbered rows. Available in Mac OS X 10.3 and later.
  565. }
  566. kThemeBrushListViewEvenRowBackground = 57;
  567. {
  568. * The color for the divider lines drawn between columns in some list
  569. * views. This brush may have an alpha value associated with it.
  570. * Drawing this brush with QuickDraw or fetching it as an RGBColor
  571. * will not necessarily yield satisfactory results. Available in Mac
  572. * OS X 10.3 and later.
  573. }
  574. kThemeBrushListViewColumnDivider = 58;
  575. {
  576. * kThemeBrushSheetBackgroundOpaque synonym.
  577. * kThemeBrushSheetBackgroundOpaque is preferred
  578. }
  579. kThemeBrushSheetBackground = kThemeBrushSheetBackgroundOpaque;
  580. {
  581. * This is a theme meta-brush. It is a specific color that does not
  582. * change from theme to theme. Use it instead of a direct RGB value.
  583. * Available in Mac OS 10.1 and CarbonLib 1.6, and later.
  584. }
  585. kThemeBrushBlack = -1;
  586. {
  587. * This is a theme meta-brush. It is a specific color that does not
  588. * change from theme to theme. Use it instead of a direct RGB value.
  589. * Available in Mac OS 10.1 and CarbonLib 1.6, and later.
  590. }
  591. kThemeBrushWhite = -2;
  592. {
  593. * This is a theme meta-brush. It is a specific color that does not
  594. * change from theme to theme. Use it instead of a direct RGB value.
  595. * Available in Mac OS 10.1 and CarbonLib 1.6, and later.
  596. }
  597. kThemeBrushPrimaryHighlightColor = -3;
  598. {
  599. * This is a theme meta-brush. It is a specific color that does not
  600. * change from theme to theme. Use it instead of a direct RGB value.
  601. * Available in Mac OS 10.1 and CarbonLib 1.6, and later.
  602. }
  603. kThemeBrushSecondaryHighlightColor = -4;
  604. {
  605. * This is a theme meta-brush. It is a specific color that does not
  606. * change from theme to theme. Use it instead of a direct RGB value.
  607. * Available in Mac OS 10.1 and CarbonLib 1.6, and later.
  608. }
  609. kThemeBrushAlternatePrimaryHighlightColor = -5;
  610. type
  611. ThemeBrush = SInt16;
  612. const
  613. kThemeTextColorDialogActive = 1;
  614. kThemeTextColorDialogInactive = 2;
  615. kThemeTextColorAlertActive = 3;
  616. kThemeTextColorAlertInactive = 4;
  617. kThemeTextColorModelessDialogActive = 5;
  618. kThemeTextColorModelessDialogInactive = 6;
  619. kThemeTextColorWindowHeaderActive = 7;
  620. kThemeTextColorWindowHeaderInactive = 8;
  621. kThemeTextColorPlacardActive = 9;
  622. kThemeTextColorPlacardInactive = 10;
  623. kThemeTextColorPlacardPressed = 11;
  624. kThemeTextColorPushButtonActive = 12;
  625. kThemeTextColorPushButtonInactive = 13;
  626. kThemeTextColorPushButtonPressed = 14;
  627. kThemeTextColorBevelButtonActive = 15;
  628. kThemeTextColorBevelButtonInactive = 16;
  629. kThemeTextColorBevelButtonPressed = 17;
  630. kThemeTextColorPopupButtonActive = 18;
  631. kThemeTextColorPopupButtonInactive = 19;
  632. kThemeTextColorPopupButtonPressed = 20;
  633. kThemeTextColorIconLabel = 21;
  634. kThemeTextColorListView = 22;
  635. { Text Colors available in Appearance 1.0.1 or later }
  636. const
  637. kThemeTextColorDocumentWindowTitleActive = 23;
  638. kThemeTextColorDocumentWindowTitleInactive = 24;
  639. kThemeTextColorMovableModalWindowTitleActive = 25;
  640. kThemeTextColorMovableModalWindowTitleInactive = 26;
  641. kThemeTextColorUtilityWindowTitleActive = 27;
  642. kThemeTextColorUtilityWindowTitleInactive = 28;
  643. kThemeTextColorPopupWindowTitleActive = 29;
  644. kThemeTextColorPopupWindowTitleInactive = 30;
  645. kThemeTextColorRootMenuActive = 31;
  646. kThemeTextColorRootMenuSelected = 32;
  647. kThemeTextColorRootMenuDisabled = 33;
  648. kThemeTextColorMenuItemActive = 34;
  649. kThemeTextColorMenuItemSelected = 35;
  650. kThemeTextColorMenuItemDisabled = 36;
  651. kThemeTextColorPopupLabelActive = 37;
  652. kThemeTextColorPopupLabelInactive = 38;
  653. { Text colors available in Appearance 1.1 or later }
  654. const
  655. kThemeTextColorTabFrontActive = 39;
  656. kThemeTextColorTabNonFrontActive = 40;
  657. kThemeTextColorTabNonFrontPressed = 41;
  658. kThemeTextColorTabFrontInactive = 42;
  659. kThemeTextColorTabNonFrontInactive = 43;
  660. kThemeTextColorIconLabelSelected = 44;
  661. kThemeTextColorBevelButtonStickyActive = 45;
  662. kThemeTextColorBevelButtonStickyInactive = 46;
  663. { Text colors available in Appearance 1.1.1 or later }
  664. const
  665. kThemeTextColorNotification = 47;
  666. { Text colors only available later than OS X 10.1.3 }
  667. const
  668. kThemeTextColorSystemDetail = 48;
  669. { These values are specific colors that do not change from }
  670. { theme to theme. You can use them instead of using direct RGB values. }
  671. const
  672. kThemeTextColorBlack = -1;
  673. kThemeTextColorWhite = -2;
  674. type
  675. ThemeTextColor = SInt16;
  676. { States to draw primitives: disabled, active, and pressed (hilited) }
  677. const
  678. kThemeStateInactive = 0;
  679. kThemeStateActive = 1;
  680. kThemeStatePressed = 2;
  681. kThemeStateRollover = 6;
  682. kThemeStateUnavailable = 7;
  683. kThemeStateUnavailableInactive = 8;
  684. { obsolete name }
  685. const
  686. kThemeStateDisabled = 0;
  687. const
  688. kThemeStatePressedUp = 2; { draw with up pressed (increment/decrement buttons) }
  689. kThemeStatePressedDown = 3; { draw with down pressed (increment/decrement buttons) }
  690. type
  691. ThemeDrawState = UInt32;
  692. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  693. { Theme cursor selectors available in Appearance 1.1 or later }
  694. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  695. const
  696. kThemeArrowCursor = 0;
  697. kThemeCopyArrowCursor = 1;
  698. kThemeAliasArrowCursor = 2;
  699. kThemeContextualMenuArrowCursor = 3;
  700. kThemeIBeamCursor = 4;
  701. kThemeCrossCursor = 5;
  702. kThemePlusCursor = 6;
  703. kThemeWatchCursor = 7; { Can Animate }
  704. kThemeClosedHandCursor = 8;
  705. kThemeOpenHandCursor = 9;
  706. kThemePointingHandCursor = 10;
  707. kThemeCountingUpHandCursor = 11; { Can Animate }
  708. kThemeCountingDownHandCursor = 12; { Can Animate }
  709. kThemeCountingUpAndDownHandCursor = 13; { Can Animate }
  710. kThemeSpinningCursor = 14; { Can Animate }
  711. kThemeResizeLeftCursor = 15;
  712. kThemeResizeRightCursor = 16;
  713. kThemeResizeLeftRightCursor = 17;
  714. kThemeNotAllowedCursor = 18; { available on Mac OS X 10.2 and later }
  715. {
  716. * Available in Mac OS X 10.3 or later.
  717. }
  718. kThemeResizeUpCursor = 19;
  719. {
  720. * Available in Mac OS X 10.3 or later.
  721. }
  722. kThemeResizeDownCursor = 20;
  723. {
  724. * Available in Mac OS X 10.3 or later.
  725. }
  726. kThemeResizeUpDownCursor = 21;
  727. {
  728. * A special cursor to indicate that letting up the mouse will cause
  729. * a dragged item to go away. When the item goes away, a poof cloud
  730. * animation should occur. This cursor should be updated dynamically
  731. * depending on whether the mouse up action will remove the item.
  732. * Available in Mac OS X 10.3 or later.
  733. }
  734. kThemePoofCursor = 22;
  735. type
  736. ThemeCursor = UInt32;
  737. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  738. { Theme menu bar drawing states }
  739. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  740. const
  741. kThemeMenuBarNormal = 0;
  742. kThemeMenuBarSelected = 1;
  743. type
  744. ThemeMenuBarState = UInt16;
  745. { attributes }
  746. const
  747. kThemeMenuSquareMenuBar = 1 shl 0;
  748. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  749. { Theme menu drawing states }
  750. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  751. const
  752. kThemeMenuActive = 0;
  753. kThemeMenuSelected = 1;
  754. kThemeMenuDisabled = 3;
  755. type
  756. ThemeMenuState = UInt16;
  757. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  758. { MenuType: add kThemeMenuTypeInactive to menu type for DrawThemeMenuBackground if entire }
  759. { menu is inactive }
  760. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  761. const
  762. kThemeMenuTypePullDown = 0;
  763. kThemeMenuTypePopUp = 1;
  764. kThemeMenuTypeHierarchical = 2;
  765. kThemeMenuTypeInactive = $0100;
  766. type
  767. ThemeMenuType = UInt16;
  768. const
  769. kThemeMenuItemPlain = 0;
  770. kThemeMenuItemHierarchical = 1; { item has hierarchical arrow}
  771. kThemeMenuItemScrollUpArrow = 2; { for scrollable menus, indicates item is scroller}
  772. kThemeMenuItemScrollDownArrow = 3;
  773. kThemeMenuItemAtTop = $0100; { indicates item is being drawn at top of menu}
  774. kThemeMenuItemAtBottom = $0200; { indicates item is being drawn at bottom of menu}
  775. kThemeMenuItemHierBackground = $0400; { item is within a hierarchical menu}
  776. kThemeMenuItemPopUpBackground = $0800; { item is within a popped up menu}
  777. kThemeMenuItemHasIcon = $8000; { add into non-arrow type when icon present}
  778. kThemeMenuItemNoBackground = $4000; { don't draw the menu background while drawing this item (Mac OS X only)}
  779. kThemeMenuItemAlignRight = $2000; { right-align the content of this menu item (SnowLeopard and later)}
  780. type
  781. ThemeMenuItemType = UInt16;
  782. {
  783. * Discussion:
  784. * ThemeBackgroundKinds
  785. }
  786. const
  787. {
  788. * The theme background used to draw the fill of a tab pane.
  789. }
  790. kThemeBackgroundTabPane = 1;
  791. {
  792. * The theme background used to draw the fill of a window placard.
  793. }
  794. kThemeBackgroundPlacard = 2;
  795. {
  796. * The theme background used to draw the window header of a window of
  797. * a window that does not contain content that has a hard-lined top
  798. * edge. An example of this would be icon view in the non side panel
  799. * Finder.
  800. }
  801. kThemeBackgroundWindowHeader = 3;
  802. {
  803. * The theme background used to draw the window header of a window of
  804. * a window that does contain content that has a hard-lined top edge.
  805. * An example of this would be list view in the non side panel Finder.
  806. }
  807. kThemeBackgroundListViewWindowHeader = 4;
  808. {
  809. * The theme background used to draw the fill of a secondary group
  810. * box.
  811. }
  812. kThemeBackgroundSecondaryGroupBox = 5;
  813. {
  814. * A special theme brush for drawing metal backgrounds. Currently,
  815. * this brush only works with HIThemeDrawBackground.
  816. }
  817. kThemeBackgroundMetal = 6;
  818. type
  819. ThemeBackgroundKind = UInt32;
  820. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  821. { Theme Collection tags for Get/SetTheme }
  822. { X ALERT: Please note that Get/SetTheme are severely neutered under Mac OS X at present. }
  823. { The first group of tags below are available to get under both 9 and X. The }
  824. { second group is 9 only. None of the tags can be used in SetTheme on X, as it }
  825. { is completely inert on X, and will return unimpErr. }
  826. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  827. const
  828. kThemeNameTag = FourCharCode('name'); { Str255}
  829. kThemeVariantNameTag = FourCharCode('varn'); { Str255}
  830. kThemeVariantBaseTintTag = FourCharCode('tint'); { RGBColor (10.1 and later)}
  831. kThemeHighlightColorTag = FourCharCode('hcol'); { RGBColor}
  832. kThemeScrollBarArrowStyleTag = FourCharCode('sbar'); { ThemeScrollBarArrowStyle}
  833. kThemeScrollBarThumbStyleTag = FourCharCode('sbth'); { ThemeScrollBarThumbStyle}
  834. kThemeSoundsEnabledTag = FourCharCode('snds'); { Boolean}
  835. kThemeDblClickCollapseTag = FourCharCode('coll'); { Boolean}
  836. const
  837. kThemeAppearanceFileNameTag = FourCharCode('thme'); { Str255}
  838. kThemeSystemFontTag = FourCharCode('lgsf'); { Str255}
  839. kThemeSmallSystemFontTag = FourCharCode('smsf'); { Str255}
  840. kThemeViewsFontTag = FourCharCode('vfnt'); { Str255}
  841. kThemeViewsFontSizeTag = FourCharCode('vfsz'); { SInt16}
  842. kThemeDesktopPatternNameTag = FourCharCode('patn'); { Str255}
  843. kThemeDesktopPatternTag = FourCharCode('patt'); { <variable-length data> (flattened pattern)}
  844. kThemeDesktopPictureNameTag = FourCharCode('dpnm'); { Str255}
  845. kThemeDesktopPictureAliasTag = FourCharCode('dpal'); { <alias handle>}
  846. kThemeDesktopPictureAlignmentTag = FourCharCode('dpan'); { UInt32 (see the Picture Alignments below)}
  847. kThemeHighlightColorNameTag = FourCharCode('hcnm'); { Str255}
  848. kThemeExamplePictureIDTag = FourCharCode('epic'); { SInt16}
  849. kThemeSoundTrackNameTag = FourCharCode('sndt'); { Str255}
  850. kThemeSoundMaskTag = FourCharCode('smsk'); { UInt32}
  851. kThemeUserDefinedTag = FourCharCode('user'); { Boolean (this should _always_ be true if present - used by Control Panel).}
  852. kThemeSmoothFontEnabledTag = FourCharCode('smoo'); { Boolean}
  853. kThemeSmoothFontMinSizeTag = FourCharCode('smos'); { UInt16 (must be >= 12 and <= 24)}
  854. { Picture Aligmnents that might be reported in the data for kThemeDesktopPictureAlignmentTag}
  855. const
  856. kTiledOnScreen = 1; { draws picture repeatedly}
  857. kCenterOnScreen = 2; { "actual size", shows pattern on sides or clips picture if necessary}
  858. kFitToScreen = 3; { shrinks if necessary}
  859. kFillScreen = 4; { messes up aspect ratio if necessary}
  860. kUseBestGuess = 5; { heuristically determines the best way to display the picture based on picture and monitor sizes}
  861. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  862. { Theme Control Settings }
  863. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  864. const
  865. kThemeCheckBoxClassicX = 0; { check box with an 'X'}
  866. kThemeCheckBoxCheckMark = 1; { check box with a real check mark}
  867. type
  868. ThemeCheckBoxStyle = UInt16;
  869. const
  870. kThemeScrollBarArrowsSingle = 0; { single arrow on each end}
  871. kThemeScrollBarArrowsLowerRight = 1; { double arrows only on right or bottom}
  872. type
  873. ThemeScrollBarArrowStyle = UInt16;
  874. const
  875. kThemeScrollBarThumbNormal = 0; { normal, classic thumb size}
  876. kThemeScrollBarThumbProportional = 1; { proportional thumbs}
  877. type
  878. ThemeScrollBarThumbStyle = UInt16;
  879. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  880. { Font constants }
  881. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  882. {
  883. * Summary:
  884. * A ThemeFontID value is a virtual font ID which can be passed to
  885. * one of the Appearance Manager's text-related routines. Within
  886. * those routines, the ThemeFontID is mapped into the appropriate
  887. * real font (or fonts), size, and style based on the system
  888. * appearance (Platinum on Mac OS 9, Aqua on Mac OS X), the string
  889. * to be rendered (if any), the language/ script that the app is
  890. * running in, and possibly other factors. The ThemeFontIDs allow
  891. * you to get the correct text appearance for the platform your app
  892. * is currently running on.
  893. }
  894. const
  895. {
  896. * The font used to draw most interface elements. If you can't find a
  897. * more appropriate font from the list below, you should use this
  898. * one. This font is suitable for drawing titles on most custom
  899. * widgets/buttons, as well as most static text in dialogs and
  900. * windows.
  901. }
  902. kThemeSystemFont = 0;
  903. {
  904. * The font used to draw interface elements when space is at a
  905. * premium. It draws a slightly smaller font compared to
  906. * kThemeSystemFont.
  907. }
  908. kThemeSmallSystemFont = 1;
  909. {
  910. * Identical to kThemeSmallSystemFont, except it draws bolded (or
  911. * otherwise emphasized in some fashion appropriate to your
  912. * application's language/script).
  913. }
  914. kThemeSmallEmphasizedSystemFont = 2;
  915. {
  916. * The font used to draw file and folder names in Finder windows or
  917. * other browsable lists.
  918. }
  919. kThemeViewsFont = 3;
  920. {
  921. * Identical to kThemeSystemFont, except it draws bolded (or
  922. * otherwise emphasized in some fashion appropriate to your
  923. * application's language/script). Only available on Mac OS X or
  924. * CarbonLib 1.3 or later.
  925. }
  926. kThemeEmphasizedSystemFont = 4;
  927. {
  928. * An analog to the Script Manager's notion of the Application Font.
  929. * This font is a suitable default choice for your application's
  930. * document-style text editing areas. Only available on Mac OS X or
  931. * CarbonLib 1.3 or later.
  932. }
  933. kThemeApplicationFont = 5;
  934. {
  935. * Generally smaller than kThemeSmallSystemFont, this font is
  936. * appropriate for drawing text labels next to image content that
  937. * reinforces the text's meaning (such as on a bevel button). Only
  938. * available on Mac OS X or CarbonLib 1.3 or later.
  939. }
  940. kThemeLabelFont = 6;
  941. kThemeSystemFontDetail = 7;
  942. kThemeSystemFontDetailEmphasized = 8;
  943. {
  944. * The font used to draw menu titles in the menu bar. Only available
  945. * on Mac OS X or CarbonLib 1.3 or later.
  946. }
  947. kThemeMenuTitleFont = 100;
  948. {
  949. * The font used to draw menu items in the menus. Only available on
  950. * Mac OS X or CarbonLib 1.3 or later.
  951. }
  952. kThemeMenuItemFont = 101;
  953. {
  954. * The font used to draw menu item marks in the menus. Only available
  955. * on Mac OS X or CarbonLib 1.3 or later.
  956. }
  957. kThemeMenuItemMarkFont = 102;
  958. {
  959. * The font used to draw menu item command key equivalents in the
  960. * menus. Only available on Mac OS X or CarbonLib 1.3 or later.
  961. }
  962. kThemeMenuItemCmdKeyFont = 103;
  963. {
  964. * The font used to draw text in most window title bars. Only
  965. * available on Mac OS X or CarbonLib 1.3 or later.
  966. }
  967. kThemeWindowTitleFont = 104;
  968. {
  969. * The font used to draw text labels on push buttons. Only available
  970. * on Mac OS X or CarbonLib 1.3 or later.
  971. }
  972. kThemePushButtonFont = 105;
  973. {
  974. * The font used to draw text in utility window title bars. Only
  975. * available on Mac OS X or CarbonLib 1.3 or later.
  976. }
  977. kThemeUtilityWindowTitleFont = 106;
  978. {
  979. * The font used to draw the first (and most important) message of an
  980. * alert window. Only available on Mac OS X or CarbonLib 1.3 or later.
  981. }
  982. kThemeAlertHeaderFont = 107;
  983. {
  984. * The font used to draw the label of a toolbar item. Available in
  985. * Mac OS X 10.2 or later.
  986. }
  987. kThemeToolbarFont = 108;
  988. {
  989. * The appropriate system font for mini-sized controls. Available in
  990. * Mac OS X 10.3 or later.
  991. }
  992. kThemeMiniSystemFont = 109;
  993. {
  994. * Unlike the other ThemeFontIDs, this one doesn't map to a font
  995. * appropriate to your application's language or script. It maps
  996. * directly to the font, size, and style of the current Quickdraw
  997. * port. This allows you to get somewhat customized behavior out of
  998. * the APIs which take ThemeFontIDs. Note, however, that
  999. * kThemeCurrentPortFont does not (and will never) support all
  1000. * Quickdraw styles on all platforms; in particular, outline and
  1001. * shadow style are not supported on Mac OS X. Additionally,
  1002. * kThemeCurrentPortFont is not (and will never be) completely
  1003. * unicode savvy; use of kThemeCurrentPortFont may result in errors
  1004. * having to do with the current port's font not being appropriate
  1005. * for rendering or measuring all glyphs in a given unicode string.
  1006. * Because of overhead associated with gathering Quickdraw font
  1007. * information and converting it to the native font format on Mac OS
  1008. * X, use of kThemeCurrentPortFont may slow down your text drawing
  1009. * and measuring significantly compared to other ThemeFontIDs.
  1010. * Instead of using kThemeCurrentPortFont, your application will
  1011. * probably be better served by using one of the other ThemeFontIDs;
  1012. * use kThemeCurrentPortFont only as a last resort. Only available on
  1013. * Mac OS X or CarbonLib 1.3 or later.
  1014. }
  1015. kThemeCurrentPortFont = 200;
  1016. {
  1017. * Only to be used as a fontID parameter in the HIThemeTextInfo
  1018. * structure. It allows the caller to measure and draw text using a
  1019. * CTFontRef and is the correct method for using custom fonts due to
  1020. * QuickDraw deprecation. When the fontID parameter of the
  1021. * HIThemeTextInfo structure is kThemeSpecifiedFont, the version
  1022. * field must be kHIThemeTextInfoVersionOne and the font field must
  1023. * be a valid CTFontRef. Available in Mac OS X 10.5 or later.
  1024. }
  1025. kThemeSpecifiedFont = 201;
  1026. { This is the total of the PUBLIC ThemeFontIDs!}
  1027. const
  1028. kPublicThemeFontCount = 21;
  1029. type
  1030. ThemeFontID = UInt16;
  1031. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1032. { Tab constants }
  1033. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1034. const
  1035. kThemeTabNonFront = 0;
  1036. kThemeTabNonFrontPressed = 1;
  1037. kThemeTabNonFrontInactive = 2;
  1038. kThemeTabFront = 3;
  1039. kThemeTabFrontInactive = 4;
  1040. kThemeTabNonFrontUnavailable = 5;
  1041. kThemeTabFrontUnavailable = 6;
  1042. type
  1043. ThemeTabStyle = UInt16;
  1044. const
  1045. kThemeTabNorth = 0;
  1046. kThemeTabSouth = 1;
  1047. kThemeTabEast = 2;
  1048. kThemeTabWest = 3;
  1049. type
  1050. ThemeTabDirection = UInt16;
  1051. {
  1052. * Summary:
  1053. * Deprecated tab height and overlap constants.
  1054. *
  1055. * Discussion:
  1056. * These constants have been deprecated in favor of theme metrics.
  1057. * Please do not use them anymore. These constants will be removed
  1058. * in the next major release of OS X.
  1059. }
  1060. const
  1061. {
  1062. * Deprecated. Use kThemeMetricSmallTabHeight.
  1063. }
  1064. kThemeSmallTabHeight = 16;
  1065. {
  1066. * Deprecated. Use kThemeMetricLargeTabHeight.
  1067. }
  1068. kThemeLargeTabHeight = 21;
  1069. {
  1070. * Deprecated. Use kThemeMetricTabFrameOverlap.
  1071. }
  1072. kThemeTabPaneOverlap = 3;
  1073. {
  1074. * Deprecated. Use kThemeMetricSmallTabHeight and
  1075. * kThemeMetricSmallTabFrameOverlap.
  1076. }
  1077. kThemeSmallTabHeightMax = 19;
  1078. {
  1079. * Deprecated. Use metric kThemeMetricLargeTabHeight and
  1080. * kThemeMetricTabFrameOverlap.
  1081. }
  1082. kThemeLargeTabHeightMax = 24;
  1083. {
  1084. * Discussion:
  1085. * ThemeTrackKinds
  1086. }
  1087. const
  1088. {
  1089. * This is the primitive used to draw the normal variant of the
  1090. * scroll bar control.
  1091. }
  1092. kThemeScrollBarMedium = 0;
  1093. {
  1094. * This is the primitive used to draw the small variant of the scroll
  1095. * bar control.
  1096. }
  1097. kThemeScrollBarSmall = 1;
  1098. {
  1099. * This is the primitive used to draw the normal variant of the
  1100. * slider control.
  1101. }
  1102. kThemeSliderMedium = 2;
  1103. {
  1104. * This is the primitive used to draw the normal variant of the
  1105. * progress bar control.
  1106. }
  1107. kThemeProgressBarMedium = 3;
  1108. {
  1109. * This is the primitive used to draw the normal variant of the
  1110. * indeterminate progress bar control.
  1111. }
  1112. kThemeIndeterminateBarMedium = 4;
  1113. {
  1114. * This is the primitive used to draw the normal variant of the
  1115. * relevance bar control.
  1116. }
  1117. kThemeRelevanceBar = 5;
  1118. {
  1119. * This is the primitive used to draw the small variant of the slider
  1120. * control.
  1121. }
  1122. kThemeSliderSmall = 6;
  1123. {
  1124. * This is the primitive used to draw the large variant of the
  1125. * progress bar control.
  1126. }
  1127. kThemeProgressBarLarge = 7;
  1128. {
  1129. * This is the primitive used to draw the large variant of the
  1130. * indeterminate progress bar control.
  1131. }
  1132. kThemeIndeterminateBarLarge = 8;
  1133. {
  1134. * Discussion:
  1135. * New ThemeTrackKinds on Mac OS X 10.3 and later. Not all of them
  1136. * are implemented.
  1137. }
  1138. const
  1139. {
  1140. * Not implemented. Will return paramErr if used.
  1141. }
  1142. kThemeScrollBarMini = 9;
  1143. {
  1144. * A miniature version of the slider.
  1145. }
  1146. kThemeSliderMini = 10;
  1147. {
  1148. * Not implemented. Will return paramErr if used.
  1149. }
  1150. kThemeProgressBarMini = 11;
  1151. {
  1152. * Not implemented. Will return paramErr if used.
  1153. }
  1154. kThemeIndeterminateBarMini = 12;
  1155. {
  1156. * Discussion:
  1157. * These are legacy synonyms for previously defined ThemeTrackKinds.
  1158. * Please use the modern constant names.
  1159. }
  1160. const
  1161. kThemeMediumScrollBar = kThemeScrollBarMedium;
  1162. kThemeSmallScrollBar = kThemeScrollBarSmall;
  1163. kThemeMediumSlider = kThemeSliderMedium;
  1164. kThemeMediumProgressBar = kThemeProgressBarMedium;
  1165. kThemeMediumIndeterminateBar = kThemeIndeterminateBarMedium;
  1166. kThemeSmallSlider = kThemeSliderSmall;
  1167. kThemeLargeProgressBar = kThemeProgressBarLarge;
  1168. kThemeLargeIndeterminateBar = kThemeIndeterminateBarLarge;
  1169. kThemeMiniScrollBar = kThemeScrollBarMini;
  1170. kThemeMiniSlider = kThemeSliderMini;
  1171. kThemeMiniProgressBar = kThemeProgressBarMini;
  1172. kThemeMiniIndeterminateBar = kThemeIndeterminateBarMini;
  1173. type
  1174. ThemeTrackKind = UInt16;
  1175. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1176. { Track enable states }
  1177. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1178. const
  1179. { track states }
  1180. kThemeTrackActive = 0;
  1181. kThemeTrackDisabled = 1;
  1182. kThemeTrackNothingToScroll = 2;
  1183. kThemeTrackInactive = 3;
  1184. type
  1185. ThemeTrackEnableState = UInt8;
  1186. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1187. { Track pressed states }
  1188. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1189. const
  1190. { press states (ignored unless track is active) }
  1191. kThemeLeftOutsideArrowPressed = $01;
  1192. kThemeLeftInsideArrowPressed = $02;
  1193. kThemeLeftTrackPressed = $04;
  1194. kThemeThumbPressed = $08;
  1195. kThemeRightTrackPressed = $10;
  1196. kThemeRightInsideArrowPressed = $20;
  1197. kThemeRightOutsideArrowPressed = $40;
  1198. kThemeTopOutsideArrowPressed = kThemeLeftOutsideArrowPressed;
  1199. kThemeTopInsideArrowPressed = kThemeLeftInsideArrowPressed;
  1200. kThemeTopTrackPressed = kThemeLeftTrackPressed;
  1201. kThemeBottomTrackPressed = kThemeRightTrackPressed;
  1202. kThemeBottomInsideArrowPressed = kThemeRightInsideArrowPressed;
  1203. kThemeBottomOutsideArrowPressed = kThemeRightOutsideArrowPressed;
  1204. type
  1205. ThemeTrackPressState = UInt8;
  1206. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1207. { Thumb directions }
  1208. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1209. const
  1210. { thumb direction }
  1211. kThemeThumbPlain = 0;
  1212. kThemeThumbUpward = 1;
  1213. kThemeThumbDownward = 2;
  1214. type
  1215. ThemeThumbDirection = UInt8;
  1216. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1217. { Track attributes }
  1218. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1219. {
  1220. * Discussion:
  1221. * Theme track attributes control the look of the track elements as
  1222. * drawn by the DrawThemeTrackFoo as well as the region returned by
  1223. * GetThemeTrackFoo.
  1224. }
  1225. const
  1226. {
  1227. * The track is drawn horizontally.
  1228. }
  1229. kThemeTrackHorizontal = 1 shl 0;
  1230. {
  1231. * The track progresses from right to left.
  1232. }
  1233. kThemeTrackRightToLeft = 1 shl 1;
  1234. {
  1235. * The track's thumb should be drawn.
  1236. }
  1237. kThemeTrackShowThumb = 1 shl 2;
  1238. {
  1239. * The provided thumbRgn should be drawn opaque, not as a ghost.
  1240. }
  1241. kThemeTrackThumbRgnIsNotGhost = 1 shl 3;
  1242. {
  1243. * The track scroll bar doesn't have arrows. This attribute
  1244. * currently has no effect
  1245. }
  1246. kThemeTrackNoScrollBarArrows = 1 shl 4;
  1247. {
  1248. * The thumb has focus. This attribute currently has effect only on
  1249. * sliders. Available only in Mac OS X 10.2 and later.
  1250. }
  1251. kThemeTrackHasFocus = 1 shl 5;
  1252. {
  1253. * The track's track (i.e. the groove for a slider or the
  1254. * gutter+arrows of a scroll bar) should not be drawn. Available only
  1255. * in Mac OS X 10.5 and later.
  1256. }
  1257. kThemeTrackHideTrack = 1 shl 6;
  1258. type
  1259. ThemeTrackAttributes = UInt16;
  1260. {
  1261. * ScrollBarTrackInfo
  1262. *
  1263. * Summary:
  1264. * Drawing parameters passed to scroll bar drawing and measuring
  1265. * theme APIs.
  1266. *
  1267. * Discussion:
  1268. * Used in both the old theme APIs and the newer HITheme APIs.
  1269. }
  1270. type
  1271. ScrollBarTrackInfoPtr = ^ScrollBarTrackInfo;
  1272. ScrollBarTrackInfo = record
  1273. {
  1274. * The current view range size.
  1275. }
  1276. viewsize: SInt32; { current view range size }
  1277. {
  1278. * ThemeTrackPressState bits that indicate the pressed parts state.
  1279. }
  1280. pressState: SInt8 {ThemeTrackPressState}; { pressed parts state }
  1281. pad: SInt8
  1282. end;
  1283. {
  1284. * SliderTrackInfo
  1285. *
  1286. * Summary:
  1287. * Drawing parameters passed to slider drawing and measuring theme
  1288. * APIs.
  1289. *
  1290. * Discussion:
  1291. * Used in both the old theme APIs and the newer HITheme APIs.
  1292. }
  1293. type
  1294. SliderTrackInfoPtr = ^SliderTrackInfo;
  1295. SliderTrackInfo = record
  1296. {
  1297. * A ThemeThumbDirection indicating the thumb direction.
  1298. }
  1299. thumbDir: SInt8 {ThemeThumbDirection}; { thumb direction }
  1300. {
  1301. * ThemeTrackPressState bits that indicate the pressed parts state.
  1302. }
  1303. pressState: SInt8 {ThemeTrackPressState}; { pressed parts state }
  1304. end;
  1305. {
  1306. * ProgressTrackInfo
  1307. *
  1308. * Summary:
  1309. * Drawing parameters passed to (indeterminate) progress bar drawing
  1310. * and measuring theme APIs.
  1311. *
  1312. * Discussion:
  1313. * Used in both the old theme APIs and the newer HITheme APIs.
  1314. }
  1315. type
  1316. ProgressTrackInfoPtr = ^ProgressTrackInfo;
  1317. ProgressTrackInfo = record
  1318. {
  1319. * A UInt8 indicating the current phase of the track fill.
  1320. }
  1321. phase: UInt8; { phase for indeterminate progress }
  1322. pad: SInt8
  1323. end;
  1324. {
  1325. * ThemeTrackDrawInfo
  1326. *
  1327. * Summary:
  1328. * Drawing parameters passed to track drawing and measuring theme
  1329. * APIs.
  1330. *
  1331. * Discussion:
  1332. * Use the newer HITheme APIs.
  1333. }
  1334. type
  1335. ThemeTrackDrawInfoPtr = ^ThemeTrackDrawInfo;
  1336. ThemeTrackDrawInfo = record
  1337. {
  1338. * The ThemeTrackKind of the track being drawn or measured.
  1339. }
  1340. kind: ThemeTrackKind;
  1341. {
  1342. * The bounds of the track is being drawn or measured.
  1343. }
  1344. bounds: Rect;
  1345. {
  1346. * The minimum allowable value for the track being drawn or measured.
  1347. }
  1348. min: SInt32;
  1349. {
  1350. * The maximum allowable value for the track being drawn or measured.
  1351. }
  1352. max: SInt32;
  1353. {
  1354. * The value for the track being drawn or measured.
  1355. }
  1356. value: SInt32;
  1357. {
  1358. * Leave this reserved field set to 0.
  1359. }
  1360. reserved: UInt32;
  1361. {
  1362. * A set of ThemeTrackAttributes for the track to be drawn or
  1363. * measured.
  1364. }
  1365. attributes: ThemeTrackAttributes;
  1366. {
  1367. * A ThemeTrackEnableState describing the state of the track to be
  1368. * drawn or measured.
  1369. }
  1370. enableState: SInt8 {ThemeTrackEnableState};
  1371. {
  1372. * Leave this reserved field set to 0.
  1373. }
  1374. filler1: SInt8;
  1375. case SInt16 of
  1376. 0: (
  1377. scrollbar: ScrollBarTrackInfo;
  1378. );
  1379. 1: (
  1380. slider: SliderTrackInfo;
  1381. );
  1382. 2: (
  1383. progress: ProgressTrackInfo;
  1384. );
  1385. end;
  1386. {
  1387. * Summary:
  1388. * ThemeWindowAttributes
  1389. *
  1390. * Discussion:
  1391. * Theme window attributes control the look of the window elements
  1392. * as drawn by the DrawThemeWindowFrame.
  1393. }
  1394. const
  1395. {
  1396. * This bit means that the size of the window can be changed by the
  1397. * user. The window is drawn with a grow box.
  1398. }
  1399. kThemeWindowHasGrow = 1 shl 0;
  1400. {
  1401. * This bit means that the window can be zoomed horizontally. The
  1402. * window is drawn with a zoom box.
  1403. }
  1404. kThemeWindowHasHorizontalZoom = 1 shl 3;
  1405. {
  1406. * This bit means that the window can be zoomed vertically. The
  1407. * window is drawn with a zoom box.
  1408. }
  1409. kThemeWindowHasVerticalZoom = 1 shl 4;
  1410. {
  1411. * This bit means that the window can be zoomed horizontally and
  1412. * vertically. The window is drawn with a zoom box.
  1413. }
  1414. kThemeWindowHasFullZoom = kThemeWindowHasHorizontalZoom + kThemeWindowHasVerticalZoom;
  1415. {
  1416. * This bit means that the window can be closed. The window is drawn
  1417. * with a close box.
  1418. }
  1419. kThemeWindowHasCloseBox = 1 shl 5;
  1420. {
  1421. * This bit means that the window can be collapsed. The window is
  1422. * drawn with a collapse box.
  1423. }
  1424. kThemeWindowHasCollapseBox = 1 shl 6;
  1425. {
  1426. * This bit means that the window has title text and/or a title icon.
  1427. }
  1428. kThemeWindowHasTitleText = 1 shl 7;
  1429. {
  1430. * This bit means that the window has been collapsed.
  1431. }
  1432. kThemeWindowIsCollapsed = 1 shl 8;
  1433. {
  1434. * This bit means that the window has dirty content. Get your mind
  1435. * out of the gutter. That means that the content of the window has
  1436. * changed and needs to be saved. If the window is drawing a close
  1437. * box, it will be drawn dirty.
  1438. }
  1439. kThemeWindowHasDirty = 1 shl 9;
  1440. {
  1441. * This bit means that the window has a toolbar toggling button.
  1442. }
  1443. kThemeWindowHasToolbarButton = 1 shl 11;
  1444. type
  1445. ThemeWindowAttributes = UInt32;
  1446. {
  1447. * Summary:
  1448. * ThemeWindowTypes
  1449. *
  1450. * Discussion:
  1451. * Window Types Supported by the Appearance Manager.
  1452. }
  1453. const
  1454. kThemeDocumentWindow = 0;
  1455. kThemeDialogWindow = 1;
  1456. kThemeMovableDialogWindow = 2;
  1457. kThemeAlertWindow = 3;
  1458. kThemeMovableAlertWindow = 4;
  1459. kThemePlainDialogWindow = 5;
  1460. kThemeShadowDialogWindow = 6;
  1461. kThemePopupWindow = 7;
  1462. kThemeUtilityWindow = 8;
  1463. kThemeUtilitySideWindow = 9;
  1464. kThemeSheetWindow = 10;
  1465. kThemeDrawerWindow = 11;
  1466. type
  1467. ThemeWindowType = UInt16;
  1468. {
  1469. * Summary:
  1470. * ThemeTitleBarWidgets
  1471. *
  1472. * Discussion:
  1473. * Window Widgets Supported by the Appearance Manager.
  1474. }
  1475. const
  1476. kThemeWidgetCloseBox = 0;
  1477. kThemeWidgetZoomBox = 1;
  1478. kThemeWidgetCollapseBox = 2;
  1479. kThemeWidgetDirtyCloseBox = 6;
  1480. kThemeWidgetToolbarButton = 7;
  1481. const
  1482. { Old/Obsolete name to be removed}
  1483. kThemeWidgetABox = 3;
  1484. kThemeWidgetBBox = 4;
  1485. kThemeWidgetBOffBox = 5;
  1486. type
  1487. ThemeTitleBarWidget = UInt16;
  1488. {
  1489. * Summary:
  1490. * ThemeArrowOrientation
  1491. *
  1492. * Discussion:
  1493. * Popup arrow orientations.
  1494. }
  1495. const
  1496. kThemeArrowLeft = 0;
  1497. kThemeArrowDown = 1;
  1498. kThemeArrowRight = 2;
  1499. kThemeArrowUp = 3;
  1500. type
  1501. ThemeArrowOrientation = UInt16;
  1502. {
  1503. * Summary:
  1504. * ThemePopupArrowSizes
  1505. *
  1506. * Discussion:
  1507. * Popup arrow sizes.
  1508. }
  1509. const
  1510. kThemeArrow3pt = 0;
  1511. kThemeArrow5pt = 1;
  1512. kThemeArrow7pt = 2;
  1513. kThemeArrow9pt = 3;
  1514. type
  1515. ThemePopupArrowSize = UInt16;
  1516. {
  1517. * Summary:
  1518. * ThemeGrowDirections
  1519. *
  1520. * Discussion:
  1521. * Grow box directions.
  1522. }
  1523. const
  1524. kThemeGrowLeft = 1 shl 0; { can grow to the left }
  1525. kThemeGrowRight = 1 shl 1; { can grow to the right }
  1526. kThemeGrowUp = 1 shl 2; { can grow up }
  1527. kThemeGrowDown = 1 shl 3; { can grow down }
  1528. type
  1529. ThemeGrowDirection = UInt16;
  1530. {
  1531. * Discussion:
  1532. * ThemeButtonKinds
  1533. }
  1534. const
  1535. {
  1536. * Dynamically-sized push button kind. Prior to Mac OS X 10.3 all
  1537. * push button sizes could be determined dynamically: either they
  1538. * were smaller than normal size and therefore small or they were
  1539. * normal size. This constant will never describe a mini push button,
  1540. * regardless of associated bounds. Please use the explicitly-sized
  1541. * kThemePushButton(Normal,Small,Mini) constants.
  1542. }
  1543. kThemePushButton = 0;
  1544. kThemeCheckBox = 1;
  1545. kThemeRadioButton = 2;
  1546. {
  1547. * Bevel button (obsolete)
  1548. }
  1549. kThemeBevelButton = 3;
  1550. {
  1551. * Popup button without text (no label). See ThemeButtonAdornment for
  1552. * glyphs. The arrow button theme name is somewhat confusing. This is
  1553. * the primitive used to draw the control known as the disclosure
  1554. * button.
  1555. }
  1556. kThemeArrowButton = 4;
  1557. {
  1558. * Dynamically-sized popup button kind. Prior to Mac OS X 10.3 all
  1559. * popup button sizes could be determined dynamically: either they
  1560. * were smaller than normal size and therefore small or they were
  1561. * normal size. This constant will never describe a mini popup
  1562. * button, regardless of associated bounds. Please use the
  1563. * explicitly-sized kThemePopupButton(Normal,Small,Mini) constants.
  1564. }
  1565. kThemePopupButton = 5;
  1566. {
  1567. * This is a disclosure triangle with a label beside it. Used to be
  1568. * confusingly named kThemeDisclosureTriangle.
  1569. }
  1570. kThemeDisclosureTriangle = 6;
  1571. {
  1572. * Increment/decrement buttons (no label). This is the primitive used
  1573. * to draw the LittleArrows control.
  1574. }
  1575. kThemeIncDecButton = 7;
  1576. {
  1577. * Small-shadow bevel button
  1578. }
  1579. kThemeBevelButtonSmall = 8;
  1580. {
  1581. * Med-shadow bevel button
  1582. }
  1583. kThemeBevelButtonMedium = 3;
  1584. {
  1585. * Large-shadow bevel button
  1586. }
  1587. kThemeBevelButtonLarge = 9;
  1588. {
  1589. * Sort button for top of a list. This is the theme primitive used to
  1590. * draw the top of the columns in the data browser.
  1591. }
  1592. kThemeListHeaderButton = 10;
  1593. {
  1594. * This is the primitive used to draw the normal variant of the round
  1595. * button control.
  1596. }
  1597. kThemeRoundButton = 11;
  1598. {
  1599. * This is the primitive used to draw the large variant of the round
  1600. * button control.
  1601. }
  1602. kThemeRoundButtonLarge = 12;
  1603. {
  1604. * This is the primitive used to draw the small variant of the check
  1605. * box control.
  1606. }
  1607. kThemeCheckBoxSmall = 13;
  1608. {
  1609. * This is the primitive used to draw the small variant of the radio
  1610. * button control.
  1611. }
  1612. kThemeRadioButtonSmall = 14;
  1613. {
  1614. * This is the primitive used to draw the rounded-corner variant of
  1615. * the bevel button control.
  1616. }
  1617. kThemeRoundedBevelButton = 15;
  1618. {
  1619. * This is the primitive used to draw the normal variant of the combo
  1620. * box control.
  1621. }
  1622. kThemeComboBox = 16;
  1623. {
  1624. * This is the primitive used to draw the small variant of the combo
  1625. * box control.
  1626. }
  1627. kThemeComboBoxSmall = 17;
  1628. {
  1629. * Discussion:
  1630. * New ThemeButtonKinds available on Mac OS X 10.3 and later.
  1631. }
  1632. const
  1633. {
  1634. * This is the primitive used to draw the mini variant of the combo
  1635. * box control.
  1636. }
  1637. kThemeComboBoxMini = 18;
  1638. {
  1639. * This is the primitive used to draw the mini variant of the check
  1640. * box control.
  1641. }
  1642. kThemeCheckBoxMini = 19;
  1643. {
  1644. * This is the primitive used to draw the mini variant of the radio
  1645. * button control.
  1646. }
  1647. kThemeRadioButtonMini = 20;
  1648. {
  1649. * This is the primitive used to draw the small variant of the
  1650. * LittleArrows control.
  1651. }
  1652. kThemeIncDecButtonSmall = 21;
  1653. {
  1654. * This is the primitive used to draw the mini variant of the
  1655. * LittleArrows control.
  1656. }
  1657. kThemeIncDecButtonMini = 22;
  1658. {
  1659. * The arrow button theme name is somewhat confusing. This is the
  1660. * primitive used to draw the small variant of the control known as
  1661. * the disclosure button.
  1662. }
  1663. kThemeArrowButtonSmall = 23;
  1664. {
  1665. * The arrow button theme name is somewhat confusing. This is the
  1666. * primitive used to draw the mini variant of the control known as
  1667. * the disclosure button.
  1668. }
  1669. kThemeArrowButtonMini = 24;
  1670. {
  1671. * Explicitly-sized normal push button kind. Prior to Mac OS X 10.3
  1672. * all push button sizes could be determined dynamically: either they
  1673. * were smaller than normal size and therefore small or they were
  1674. * normal size. Using this constant, an explicitly-sized normal push
  1675. * button can be specified.
  1676. }
  1677. kThemePushButtonNormal = 25;
  1678. {
  1679. * Explicitly-sized small push button kind. Prior to Mac OS X 10.3
  1680. * all push button sizes could be determined dynamically: either they
  1681. * were smaller than normal size and therefore small or they were
  1682. * normal size. Using this constant, an explicitly-sized small push
  1683. * button can be specified.
  1684. }
  1685. kThemePushButtonSmall = 26;
  1686. {
  1687. * Explicitly-sized mini push button kind. Prior to Mac OS X 10.3 all
  1688. * push button sizes could be determined dynamically: either they
  1689. * were smaller than normal size and therefore small or they were
  1690. * normal size. Since a mini variant was introduced in Mac OS X 10.3,
  1691. * smaller than normal size is can also mean mini. To avoid confusion
  1692. * with existing code, the mini variant will never be implicitly
  1693. * determined and must be explicitly requested with the
  1694. * kThemePushButtonMini constant.
  1695. }
  1696. kThemePushButtonMini = 27;
  1697. {
  1698. * Explicitly-sized normal popup button kind. Prior to Mac OS X 10.3
  1699. * all popup button sizes could be determined dynamically: either
  1700. * they were smaller than normal size and therefore small or they
  1701. * were normal size. Using this constant, an explicitly-sized normal
  1702. * popup button can be specified.
  1703. }
  1704. kThemePopupButtonNormal = 28;
  1705. {
  1706. * Explicitly-sized small popup button kind. Prior to Mac OS X 10.3
  1707. * all popup button sizes could be determined dynamically: either
  1708. * they were smaller than normal size and therefore small or they
  1709. * were normal size. Using this constant, an explicitly-sized small
  1710. * popup button can be specified.
  1711. }
  1712. kThemePopupButtonSmall = 29;
  1713. {
  1714. * Explicitly-sized mini popup button kind. Prior to Mac OS X 10.3
  1715. * all popup button sizes could be determined dynamically: either
  1716. * they were smaller than normal size and therefore small or they
  1717. * were normal size. Since a mini variant was introduced in Mac OS X
  1718. * 10.3, smaller than normal size is can also mean mini. To avoid
  1719. * confusion with existing code, the mini variant will never be
  1720. * implicitly determined and must be explicitly requested with the
  1721. * kThemePopupButtonMini constant.
  1722. }
  1723. kThemePopupButtonMini = 30;
  1724. {
  1725. * Discussion:
  1726. * New ThemeButtonKinds available on Mac OS X 10.4 and later.
  1727. }
  1728. const
  1729. {
  1730. * This is the primitive used to draw the inset variant of the bevel
  1731. * button control.
  1732. }
  1733. kThemeBevelButtonInset = 31;
  1734. {
  1735. * This is the primitive used to draw the textured variant of the
  1736. * push button. Similar to kThemePushButtonNormal, but textured, to
  1737. * be rendered on a textured window.
  1738. }
  1739. kThemePushButtonTextured = 32;
  1740. {
  1741. * This is the primitive used to draw the small, textured variant of
  1742. * the push button. Similar to kThemePushButtonNormal, but textured,
  1743. * to be rendered on a textured window.
  1744. }
  1745. kThemePushButtonTexturedSmall = 33;
  1746. {
  1747. * This is the primitive used to draw the help variant of the round
  1748. * button.
  1749. }
  1750. kThemeRoundButtonHelp = 34;
  1751. {
  1752. * This is a synonym for kThemePushButtonTextured for code
  1753. * compatibility. Please use kThemePushButtonTextured instead.
  1754. }
  1755. kThemePushButtonInset = kThemePushButtonTextured;
  1756. {
  1757. * This is a synonym for kThemePushButtonTexturedSmall for code
  1758. * compatibility. Please use kThemePushButtonTexturedSmall instead.
  1759. }
  1760. kThemePushButtonInsetSmall = kThemePushButtonTexturedSmall;
  1761. {
  1762. * Discussion:
  1763. * These are legacy synonyms for previously defined
  1764. * ThemeButtonKinds. Please use the modern constant names.
  1765. }
  1766. const
  1767. kThemeNormalCheckBox = kThemeCheckBox;
  1768. kThemeNormalRadioButton = kThemeRadioButton;
  1769. kThemeLargeBevelButton = kThemeBevelButtonLarge;
  1770. kThemeMediumBevelButton = kThemeBevelButtonMedium;
  1771. kThemeMiniCheckBox = kThemeCheckBoxMini;
  1772. kThemeMiniRadioButton = kThemeRadioButtonMini;
  1773. kThemeSmallBevelButton = kThemeBevelButtonSmall;
  1774. kThemeSmallCheckBox = kThemeCheckBoxSmall;
  1775. kThemeSmallRadioButton = kThemeRadioButtonSmall;
  1776. kThemeLargeRoundButton = kThemeRoundButtonLarge;
  1777. kThemeDisclosureButton = kThemeDisclosureTriangle;
  1778. type
  1779. ThemeButtonKind = UInt16;
  1780. {
  1781. * Summary:
  1782. * ThemeButtonValues
  1783. *
  1784. * Discussion:
  1785. * Common button values
  1786. }
  1787. const
  1788. kThemeButtonOff = 0;
  1789. kThemeButtonOn = 1;
  1790. kThemeButtonMixed = 2;
  1791. kThemeDisclosureRight = 0;
  1792. kThemeDisclosureDown = 1;
  1793. kThemeDisclosureLeft = 2;
  1794. type
  1795. ThemeButtonValue = UInt16;
  1796. {
  1797. * Summary:
  1798. * ThemeButtonAdornments
  1799. *
  1800. * Discussion:
  1801. * Use these adornments when drawing buttons using the theme
  1802. * primitive. Note that the bits starting at (1 << 6) are recycled
  1803. * and have different meanings depending on ThemeButtonKind.
  1804. }
  1805. const
  1806. {
  1807. * No adornments.
  1808. }
  1809. kThemeAdornmentNone = 0;
  1810. {
  1811. * Draw default ornamentation (for push button and generic well).
  1812. }
  1813. kThemeAdornmentDefault = 1 shl 0;
  1814. {
  1815. * Draw focus.
  1816. }
  1817. kThemeAdornmentFocus = 1 shl 2;
  1818. {
  1819. * Draw right to left label.
  1820. }
  1821. kThemeAdornmentRightToLeft = 1 shl 4;
  1822. {
  1823. * Don't draw or erase label (radio, check, disclosure).
  1824. }
  1825. kThemeAdornmentDrawIndicatorOnly = 1 shl 5;
  1826. {
  1827. * Draw the left border of the button as selected (list header button
  1828. * only).
  1829. }
  1830. kThemeAdornmentHeaderButtonLeftNeighborSelected = 1 shl 6;
  1831. {
  1832. * Draw the right border of the button (list header button only).
  1833. }
  1834. kThemeAdornmentHeaderButtonRightNeighborSelected = 1 shl 7;
  1835. {
  1836. * Draw the sort indicator pointing upward (list header button only).
  1837. }
  1838. kThemeAdornmentHeaderButtonSortUp = 1 shl 8;
  1839. {
  1840. * Draw as a header menu button (list header button only).
  1841. }
  1842. kThemeAdornmentHeaderMenuButton = 1 shl 9;
  1843. {
  1844. * Draw the non-shadow area of the button (list header button only).
  1845. }
  1846. kThemeAdornmentHeaderButtonNoShadow = 1 shl 10;
  1847. {
  1848. * Draw the only the shadow area of the button (list header button
  1849. * only).
  1850. }
  1851. kThemeAdornmentHeaderButtonShadowOnly = 1 shl 11;
  1852. {
  1853. * When drawn selected, do not draw the sort direction arrow (list
  1854. * header button only). Mac OS X 10.4 and later.
  1855. }
  1856. kThemeAdornmentHeaderButtonNoSortArrow = 1 shl 12;
  1857. {
  1858. * Draw a left arrow on the arrow button or draw left disclosure
  1859. * triangle. Can be combined with kThemeAdornmentArrowDownArrow to
  1860. * draw an intermediate disclosure triangle.
  1861. }
  1862. kThemeAdornmentArrowLeftArrow = 1 shl 6;
  1863. {
  1864. * Draw a down arrow on the arrow button or draw right disclosure
  1865. * triangle. Can be combined with kThemeAdornmentArrowLeftArrow to
  1866. * draw an intermediate disclosure triangle.
  1867. }
  1868. kThemeAdornmentArrowDownArrow = 1 shl 7;
  1869. {
  1870. * Draw a double arrow on the arrow button.
  1871. }
  1872. kThemeAdornmentArrowDoubleArrow = 1 shl 8;
  1873. {
  1874. * Draw a up arrow on the arrow button.
  1875. }
  1876. kThemeAdornmentArrowUpArrow = 1 shl 9;
  1877. {
  1878. * Draw a right disclosure triangle. Can be combined with
  1879. * kThemeAdornmentArrowDownArrow to draw an intermediate disclosure
  1880. * triangle.
  1881. }
  1882. kThemeAdornmentArrowRightArrow = 1 shl 10;
  1883. {
  1884. * Discussion:
  1885. * These are legacy synonyms for previously defined
  1886. * ThemeButtonAdornments. Please use the modern constant names.
  1887. }
  1888. const
  1889. kThemeAdornmentNoShadow = kThemeAdornmentHeaderButtonNoShadow;
  1890. kThemeAdornmentShadowOnly = kThemeAdornmentHeaderButtonShadowOnly;
  1891. type
  1892. ThemeButtonAdornment = UInt16;
  1893. {
  1894. * ThemeButtonDrawInfo
  1895. *
  1896. * Summary:
  1897. * Drawing parameters passed to button drawing and measuring theme
  1898. * APIs.
  1899. *
  1900. * Discussion:
  1901. * Use the newer HITheme APIs.
  1902. }
  1903. type
  1904. ThemeButtonDrawInfo = record
  1905. {
  1906. * The ThemeDrawState of the button being drawn or measured.
  1907. }
  1908. state: ThemeDrawState;
  1909. {
  1910. * The ThemeButtonValue of the button being drawn or measured.
  1911. }
  1912. value: ThemeButtonValue;
  1913. {
  1914. * The ThemeButtonAdornment(s) with which the button is being drawn
  1915. * or measured.
  1916. }
  1917. adornment: ThemeButtonAdornment;
  1918. end;
  1919. ThemeButtonDrawInfoPtr = ^ThemeButtonDrawInfo;
  1920. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1921. { Sound Support }
  1922. { X ALERT: Please note that none of the theme sound APIs currently function on X. }
  1923. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1924. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1925. { Sound classes }
  1926. { You can use the constants below to set what sounds are active using the SetTheme API. }
  1927. { Use these with the kThemeSoundMask tag. }
  1928. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1929. const
  1930. kThemeNoSounds = 0;
  1931. kThemeWindowSoundsMask = 1 shl 0;
  1932. kThemeMenuSoundsMask = 1 shl 1;
  1933. kThemeControlSoundsMask = 1 shl 2;
  1934. kThemeFinderSoundsMask = 1 shl 3;
  1935. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1936. { Drag Sounds }
  1937. { Drag sounds are looped for the duration of the drag. }
  1938. { Call BeginThemeDragSound at the start of the drag. }
  1939. { Call EndThemeDragSound when the drag has finished. }
  1940. { Note that in order to maintain a consistent user experience, only one drag sound may }
  1941. { occur at a time. The sound should be attached to a mouse action, start after the }
  1942. { mouse goes down and stop when the mouse is released. }
  1943. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1944. const
  1945. kThemeDragSoundNone = 0;
  1946. kThemeDragSoundMoveWindow = FourCharCode('wmov');
  1947. kThemeDragSoundGrowWindow = FourCharCode('wgro');
  1948. kThemeDragSoundMoveUtilWindow = FourCharCode('umov');
  1949. kThemeDragSoundGrowUtilWindow = FourCharCode('ugro');
  1950. kThemeDragSoundMoveDialog = FourCharCode('dmov');
  1951. kThemeDragSoundMoveAlert = FourCharCode('amov');
  1952. kThemeDragSoundMoveIcon = FourCharCode('imov');
  1953. kThemeDragSoundSliderThumb = FourCharCode('slth');
  1954. kThemeDragSoundSliderGhost = FourCharCode('slgh');
  1955. kThemeDragSoundScrollBarThumb = FourCharCode('sbth');
  1956. kThemeDragSoundScrollBarGhost = FourCharCode('sbgh');
  1957. kThemeDragSoundScrollBarArrowDecreasing = FourCharCode('sbad');
  1958. kThemeDragSoundScrollBarArrowIncreasing = FourCharCode('sbai');
  1959. kThemeDragSoundDragging = FourCharCode('drag');
  1960. type
  1961. ThemeDragSoundKind = OSType;
  1962. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1963. { State-change sounds }
  1964. { State-change sounds are played asynchronously as a one-shot. }
  1965. { Call PlayThemeSound to play the sound. The sound will play }
  1966. { asynchronously until complete, then stop automatically. }
  1967. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  1968. const
  1969. kThemeSoundNone = 0;
  1970. kThemeSoundMenuOpen = FourCharCode('mnuo'); { menu sounds }
  1971. kThemeSoundMenuClose = FourCharCode('mnuc');
  1972. kThemeSoundMenuItemHilite = FourCharCode('mnui');
  1973. kThemeSoundMenuItemRelease = FourCharCode('mnus');
  1974. kThemeSoundWindowClosePress = FourCharCode('wclp'); { window sounds }
  1975. kThemeSoundWindowCloseEnter = FourCharCode('wcle');
  1976. kThemeSoundWindowCloseExit = FourCharCode('wclx');
  1977. kThemeSoundWindowCloseRelease = FourCharCode('wclr');
  1978. kThemeSoundWindowZoomPress = FourCharCode('wzmp');
  1979. kThemeSoundWindowZoomEnter = FourCharCode('wzme');
  1980. kThemeSoundWindowZoomExit = FourCharCode('wzmx');
  1981. kThemeSoundWindowZoomRelease = FourCharCode('wzmr');
  1982. kThemeSoundWindowCollapsePress = FourCharCode('wcop');
  1983. kThemeSoundWindowCollapseEnter = FourCharCode('wcoe');
  1984. kThemeSoundWindowCollapseExit = FourCharCode('wcox');
  1985. kThemeSoundWindowCollapseRelease = FourCharCode('wcor');
  1986. kThemeSoundWindowDragBoundary = FourCharCode('wdbd');
  1987. kThemeSoundUtilWinClosePress = FourCharCode('uclp'); { utility window sounds }
  1988. kThemeSoundUtilWinCloseEnter = FourCharCode('ucle');
  1989. kThemeSoundUtilWinCloseExit = FourCharCode('uclx');
  1990. kThemeSoundUtilWinCloseRelease = FourCharCode('uclr');
  1991. kThemeSoundUtilWinZoomPress = FourCharCode('uzmp');
  1992. kThemeSoundUtilWinZoomEnter = FourCharCode('uzme');
  1993. kThemeSoundUtilWinZoomExit = FourCharCode('uzmx');
  1994. kThemeSoundUtilWinZoomRelease = FourCharCode('uzmr');
  1995. kThemeSoundUtilWinCollapsePress = FourCharCode('ucop');
  1996. kThemeSoundUtilWinCollapseEnter = FourCharCode('ucoe');
  1997. kThemeSoundUtilWinCollapseExit = FourCharCode('ucox');
  1998. kThemeSoundUtilWinCollapseRelease = FourCharCode('ucor');
  1999. kThemeSoundUtilWinDragBoundary = FourCharCode('udbd');
  2000. kThemeSoundWindowOpen = FourCharCode('wopn'); { window close and zoom action }
  2001. kThemeSoundWindowClose = FourCharCode('wcls');
  2002. kThemeSoundWindowZoomIn = FourCharCode('wzmi');
  2003. kThemeSoundWindowZoomOut = FourCharCode('wzmo');
  2004. kThemeSoundWindowCollapseUp = FourCharCode('wcol');
  2005. kThemeSoundWindowCollapseDown = FourCharCode('wexp');
  2006. kThemeSoundWindowActivate = FourCharCode('wact');
  2007. kThemeSoundUtilWindowOpen = FourCharCode('uopn');
  2008. kThemeSoundUtilWindowClose = FourCharCode('ucls');
  2009. kThemeSoundUtilWindowZoomIn = FourCharCode('uzmi');
  2010. kThemeSoundUtilWindowZoomOut = FourCharCode('uzmo');
  2011. kThemeSoundUtilWindowCollapseUp = FourCharCode('ucol');
  2012. kThemeSoundUtilWindowCollapseDown = FourCharCode('uexp');
  2013. kThemeSoundUtilWindowActivate = FourCharCode('uact');
  2014. kThemeSoundDialogOpen = FourCharCode('dopn');
  2015. kThemeSoundDialogClose = FourCharCode('dlgc');
  2016. kThemeSoundAlertOpen = FourCharCode('aopn');
  2017. kThemeSoundAlertClose = FourCharCode('altc');
  2018. kThemeSoundPopupWindowOpen = FourCharCode('pwop');
  2019. kThemeSoundPopupWindowClose = FourCharCode('pwcl');
  2020. kThemeSoundButtonPress = FourCharCode('btnp'); { button }
  2021. kThemeSoundButtonEnter = FourCharCode('btne');
  2022. kThemeSoundButtonExit = FourCharCode('btnx');
  2023. kThemeSoundButtonRelease = FourCharCode('btnr');
  2024. kThemeSoundDefaultButtonPress = FourCharCode('dbtp'); { default button }
  2025. kThemeSoundDefaultButtonEnter = FourCharCode('dbte');
  2026. kThemeSoundDefaultButtonExit = FourCharCode('dbtx');
  2027. kThemeSoundDefaultButtonRelease = FourCharCode('dbtr');
  2028. kThemeSoundCancelButtonPress = FourCharCode('cbtp'); { cancel button }
  2029. kThemeSoundCancelButtonEnter = FourCharCode('cbte');
  2030. kThemeSoundCancelButtonExit = FourCharCode('cbtx');
  2031. kThemeSoundCancelButtonRelease = FourCharCode('cbtr');
  2032. kThemeSoundCheckboxPress = FourCharCode('chkp'); { checkboxes }
  2033. kThemeSoundCheckboxEnter = FourCharCode('chke');
  2034. kThemeSoundCheckboxExit = FourCharCode('chkx');
  2035. kThemeSoundCheckboxRelease = FourCharCode('chkr');
  2036. kThemeSoundRadioPress = FourCharCode('radp'); { radio buttons }
  2037. kThemeSoundRadioEnter = FourCharCode('rade');
  2038. kThemeSoundRadioExit = FourCharCode('radx');
  2039. kThemeSoundRadioRelease = FourCharCode('radr');
  2040. kThemeSoundScrollArrowPress = FourCharCode('sbap'); { scroll bars }
  2041. kThemeSoundScrollArrowEnter = FourCharCode('sbae');
  2042. kThemeSoundScrollArrowExit = FourCharCode('sbax');
  2043. kThemeSoundScrollArrowRelease = FourCharCode('sbar');
  2044. kThemeSoundScrollEndOfTrack = FourCharCode('sbte');
  2045. kThemeSoundScrollTrackPress = FourCharCode('sbtp');
  2046. kThemeSoundSliderEndOfTrack = FourCharCode('slte'); { sliders }
  2047. kThemeSoundSliderTrackPress = FourCharCode('sltp');
  2048. kThemeSoundBalloonOpen = FourCharCode('blno'); { help balloons }
  2049. kThemeSoundBalloonClose = FourCharCode('blnc');
  2050. kThemeSoundBevelPress = FourCharCode('bevp'); { Bevel buttons }
  2051. kThemeSoundBevelEnter = FourCharCode('beve');
  2052. kThemeSoundBevelExit = FourCharCode('bevx');
  2053. kThemeSoundBevelRelease = FourCharCode('bevr');
  2054. kThemeSoundLittleArrowUpPress = FourCharCode('laup'); { Little Arrows }
  2055. kThemeSoundLittleArrowDnPress = FourCharCode('ladp');
  2056. kThemeSoundLittleArrowEnter = FourCharCode('lare');
  2057. kThemeSoundLittleArrowExit = FourCharCode('larx');
  2058. kThemeSoundLittleArrowUpRelease = FourCharCode('laur');
  2059. kThemeSoundLittleArrowDnRelease = FourCharCode('ladr');
  2060. kThemeSoundPopupPress = FourCharCode('popp'); { Popup Buttons }
  2061. kThemeSoundPopupEnter = FourCharCode('pope');
  2062. kThemeSoundPopupExit = FourCharCode('popx');
  2063. kThemeSoundPopupRelease = FourCharCode('popr');
  2064. kThemeSoundDisclosurePress = FourCharCode('dscp'); { Disclosure Buttons }
  2065. kThemeSoundDisclosureEnter = FourCharCode('dsce');
  2066. kThemeSoundDisclosureExit = FourCharCode('dscx');
  2067. kThemeSoundDisclosureRelease = FourCharCode('dscr');
  2068. kThemeSoundTabPressed = FourCharCode('tabp'); { Tabs }
  2069. kThemeSoundTabEnter = FourCharCode('tabe');
  2070. kThemeSoundTabExit = FourCharCode('tabx');
  2071. kThemeSoundTabRelease = FourCharCode('tabr');
  2072. kThemeSoundDragTargetHilite = FourCharCode('dthi'); { drag manager }
  2073. kThemeSoundDragTargetUnhilite = FourCharCode('dtuh');
  2074. kThemeSoundDragTargetDrop = FourCharCode('dtdr');
  2075. kThemeSoundEmptyTrash = FourCharCode('ftrs'); { finder }
  2076. kThemeSoundSelectItem = FourCharCode('fsel');
  2077. kThemeSoundNewItem = FourCharCode('fnew');
  2078. kThemeSoundReceiveDrop = FourCharCode('fdrp');
  2079. kThemeSoundCopyDone = FourCharCode('fcpd');
  2080. kThemeSoundResolveAlias = FourCharCode('fral');
  2081. kThemeSoundLaunchApp = FourCharCode('flap');
  2082. kThemeSoundDiskInsert = FourCharCode('dski');
  2083. kThemeSoundDiskEject = FourCharCode('dske');
  2084. kThemeSoundFinderDragOnIcon = FourCharCode('fdon');
  2085. kThemeSoundFinderDragOffIcon = FourCharCode('fdof');
  2086. type
  2087. ThemeSoundKind = OSType;
  2088. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2089. { Window Metrics }
  2090. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2091. { Window metrics are used by the Appearance manager to fill in the blanks necessary to }
  2092. { draw windows. If a value is not appropriate for the type of window, be sure to fill in }
  2093. { the slot in the structure with zero. For the popupTabOffset parameter, you can pass a}
  2094. { real value based on the left edge of the window. This value might be interpreted in a }
  2095. { different manner when depending on the value of the popupTabPosition field. The values }
  2096. { you can pass into popupTabPosition are: }
  2097. { kThemePopupTabNormalPosition }
  2098. { Starts the tab left edge at the position indicated by the popupTabOffset field. }
  2099. { kThemePopupTabCenterOnWindow }
  2100. { tells us to ignore the offset field and instead simply center the width of the }
  2101. { handle on the window. }
  2102. { kThemePopupTabCenterOnOffset }
  2103. { tells us to center the width of the handle around the value passed in offset. }
  2104. { The Appearance Manager will try its best to accomodate the requested placement, but may }
  2105. { move the handle slightly to make it fit correctly. }
  2106. const
  2107. kThemePopupTabNormalPosition = 0;
  2108. kThemePopupTabCenterOnWindow = 1;
  2109. kThemePopupTabCenterOnOffset = 2;
  2110. type
  2111. ThemeWindowMetrics = record
  2112. metricSize: UInt16; { should be always be sizeof( ThemeWindowMetrics )}
  2113. titleHeight: SInt16;
  2114. titleWidth: SInt16;
  2115. popupTabOffset: SInt16;
  2116. popupTabWidth: SInt16;
  2117. popupTabPosition: UInt16;
  2118. end;
  2119. ThemeWindowMetricsPtr = ^ThemeWindowMetrics;
  2120. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2121. { Drawing State }
  2122. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2123. type
  2124. ThemeDrawingState = ^OpaqueThemeDrawingState; { an opaque type }
  2125. OpaqueThemeDrawingState = record end;
  2126. ThemeDrawingStatePtr = ^ThemeDrawingState; { when a var xx:ThemeDrawingState parameter can be nil, it is changed to xx: ThemeDrawingStatePtr }
  2127. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2128. { Callback procs }
  2129. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2130. {
  2131. * ThemeTabTitleDrawProcPtr
  2132. *
  2133. * Summary:
  2134. * Callback function for drawing the label text of a tab.
  2135. }
  2136. type
  2137. ThemeTabTitleDrawProcPtr = procedure( const (*var*) bounds: Rect; style: ThemeTabStyle; direction: ThemeTabDirection; depth: SInt16; isColorDev: Boolean; userData: URefCon );
  2138. {
  2139. * ThemeEraseProcPtr
  2140. *
  2141. * Summary:
  2142. * Callback function for erasing the background behind a theme
  2143. * primitive.
  2144. }
  2145. type
  2146. ThemeEraseProcPtr = procedure( const (*var*) bounds: Rect; eraseData: URefCon; depth: SInt16; isColorDev: Boolean );
  2147. {
  2148. * ThemeButtonDrawProcPtr
  2149. *
  2150. * Summary:
  2151. * Callback function for drawing the label text of a button.
  2152. }
  2153. type
  2154. ThemeButtonDrawProcPtr = procedure( const (*var*) bounds: Rect; kind: ThemeButtonKind; const (*var*) info: ThemeButtonDrawInfo; userData: URefCon; depth: SInt16; isColorDev: Boolean );
  2155. {
  2156. * WindowTitleDrawingProcPtr
  2157. *
  2158. * Summary:
  2159. * Callback function for drawing the title text of a window.
  2160. }
  2161. type
  2162. WindowTitleDrawingProcPtr = procedure( const (*var*) bounds: Rect; depth: SInt16; colorDevice: Boolean; userData: URefCon );
  2163. {
  2164. * ThemeIteratorProcPtr
  2165. *
  2166. * Summary:
  2167. * Callback function for iterating over all known themes.
  2168. }
  2169. type
  2170. ThemeIteratorProcPtr = function( const (*var*) inFileName: Str255; resID: SInt16; inThemeSettings: Collection; inUserData: PRefCon ): Boolean;
  2171. type
  2172. ThemeTabTitleDrawUPP = ThemeTabTitleDrawProcPtr;
  2173. type
  2174. ThemeEraseUPP = ThemeEraseProcPtr;
  2175. type
  2176. ThemeButtonDrawUPP = ThemeButtonDrawProcPtr;
  2177. type
  2178. WindowTitleDrawingUPP = WindowTitleDrawingProcPtr;
  2179. type
  2180. ThemeIteratorUPP = ThemeIteratorProcPtr;
  2181. {
  2182. * NewThemeTabTitleDrawUPP()
  2183. *
  2184. * Availability:
  2185. * Mac OS X: in version 10.0 and later in Carbon.framework
  2186. * CarbonLib: in CarbonLib 1.0 and later
  2187. * Non-Carbon CFM: available as macro/inline
  2188. }
  2189. function NewThemeTabTitleDrawUPP( userRoutine: ThemeTabTitleDrawProcPtr ): ThemeTabTitleDrawUPP; external name '_NewThemeTabTitleDrawUPP';
  2190. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2191. {
  2192. * NewThemeEraseUPP()
  2193. *
  2194. * Availability:
  2195. * Mac OS X: in version 10.0 and later in Carbon.framework
  2196. * CarbonLib: in CarbonLib 1.0 and later
  2197. * Non-Carbon CFM: available as macro/inline
  2198. }
  2199. function NewThemeEraseUPP( userRoutine: ThemeEraseProcPtr ): ThemeEraseUPP; external name '_NewThemeEraseUPP';
  2200. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2201. {
  2202. * NewThemeButtonDrawUPP()
  2203. *
  2204. * Availability:
  2205. * Mac OS X: in version 10.0 and later in Carbon.framework
  2206. * CarbonLib: in CarbonLib 1.0 and later
  2207. * Non-Carbon CFM: available as macro/inline
  2208. }
  2209. function NewThemeButtonDrawUPP( userRoutine: ThemeButtonDrawProcPtr ): ThemeButtonDrawUPP; external name '_NewThemeButtonDrawUPP';
  2210. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2211. {
  2212. * NewWindowTitleDrawingUPP()
  2213. *
  2214. * Availability:
  2215. * Mac OS X: in version 10.0 and later in Carbon.framework
  2216. * CarbonLib: in CarbonLib 1.0 and later
  2217. * Non-Carbon CFM: available as macro/inline
  2218. }
  2219. function NewWindowTitleDrawingUPP( userRoutine: WindowTitleDrawingProcPtr ): WindowTitleDrawingUPP; external name '_NewWindowTitleDrawingUPP';
  2220. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2221. {
  2222. * NewThemeIteratorUPP()
  2223. *
  2224. * Availability:
  2225. * Mac OS X: in version 10.0 and later in Carbon.framework
  2226. * CarbonLib: in CarbonLib 1.0 and later
  2227. * Non-Carbon CFM: available as macro/inline
  2228. }
  2229. function NewThemeIteratorUPP( userRoutine: ThemeIteratorProcPtr ): ThemeIteratorUPP; external name '_NewThemeIteratorUPP';
  2230. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2231. {
  2232. * DisposeThemeTabTitleDrawUPP()
  2233. *
  2234. * Availability:
  2235. * Mac OS X: in version 10.0 and later in Carbon.framework
  2236. * CarbonLib: in CarbonLib 1.0 and later
  2237. * Non-Carbon CFM: available as macro/inline
  2238. }
  2239. procedure DisposeThemeTabTitleDrawUPP( userUPP: ThemeTabTitleDrawUPP ); external name '_DisposeThemeTabTitleDrawUPP';
  2240. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2241. {
  2242. * DisposeThemeEraseUPP()
  2243. *
  2244. * Availability:
  2245. * Mac OS X: in version 10.0 and later in Carbon.framework
  2246. * CarbonLib: in CarbonLib 1.0 and later
  2247. * Non-Carbon CFM: available as macro/inline
  2248. }
  2249. procedure DisposeThemeEraseUPP( userUPP: ThemeEraseUPP ); external name '_DisposeThemeEraseUPP';
  2250. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2251. {
  2252. * DisposeThemeButtonDrawUPP()
  2253. *
  2254. * Availability:
  2255. * Mac OS X: in version 10.0 and later in Carbon.framework
  2256. * CarbonLib: in CarbonLib 1.0 and later
  2257. * Non-Carbon CFM: available as macro/inline
  2258. }
  2259. procedure DisposeThemeButtonDrawUPP( userUPP: ThemeButtonDrawUPP ); external name '_DisposeThemeButtonDrawUPP';
  2260. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2261. {
  2262. * DisposeWindowTitleDrawingUPP()
  2263. *
  2264. * Availability:
  2265. * Mac OS X: in version 10.0 and later in Carbon.framework
  2266. * CarbonLib: in CarbonLib 1.0 and later
  2267. * Non-Carbon CFM: available as macro/inline
  2268. }
  2269. procedure DisposeWindowTitleDrawingUPP( userUPP: WindowTitleDrawingUPP ); external name '_DisposeWindowTitleDrawingUPP';
  2270. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2271. {
  2272. * DisposeThemeIteratorUPP()
  2273. *
  2274. * Availability:
  2275. * Mac OS X: in version 10.0 and later in Carbon.framework
  2276. * CarbonLib: in CarbonLib 1.0 and later
  2277. * Non-Carbon CFM: available as macro/inline
  2278. }
  2279. procedure DisposeThemeIteratorUPP( userUPP: ThemeIteratorUPP ); external name '_DisposeThemeIteratorUPP';
  2280. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2281. {
  2282. * InvokeThemeTabTitleDrawUPP()
  2283. *
  2284. * Availability:
  2285. * Mac OS X: in version 10.0 and later in Carbon.framework
  2286. * CarbonLib: in CarbonLib 1.0 and later
  2287. * Non-Carbon CFM: available as macro/inline
  2288. }
  2289. procedure InvokeThemeTabTitleDrawUPP( const (*var*) bounds: Rect; style: ThemeTabStyle; direction: ThemeTabDirection; depth: SInt16; isColorDev: Boolean; userData: URefCon; userUPP: ThemeTabTitleDrawUPP ); external name '_InvokeThemeTabTitleDrawUPP';
  2290. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2291. {
  2292. * InvokeThemeEraseUPP()
  2293. *
  2294. * Availability:
  2295. * Mac OS X: in version 10.0 and later in Carbon.framework
  2296. * CarbonLib: in CarbonLib 1.0 and later
  2297. * Non-Carbon CFM: available as macro/inline
  2298. }
  2299. procedure InvokeThemeEraseUPP( const (*var*) bounds: Rect; eraseData: URefCon; depth: SInt16; isColorDev: Boolean; userUPP: ThemeEraseUPP ); external name '_InvokeThemeEraseUPP';
  2300. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2301. {
  2302. * InvokeThemeButtonDrawUPP()
  2303. *
  2304. * Availability:
  2305. * Mac OS X: in version 10.0 and later in Carbon.framework
  2306. * CarbonLib: in CarbonLib 1.0 and later
  2307. * Non-Carbon CFM: available as macro/inline
  2308. }
  2309. procedure InvokeThemeButtonDrawUPP( const (*var*) bounds: Rect; kind: ThemeButtonKind; const (*var*) info: ThemeButtonDrawInfo; userData: URefCon; depth: SInt16; isColorDev: Boolean; userUPP: ThemeButtonDrawUPP ); external name '_InvokeThemeButtonDrawUPP';
  2310. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2311. {
  2312. * InvokeWindowTitleDrawingUPP()
  2313. *
  2314. * Availability:
  2315. * Mac OS X: in version 10.0 and later in Carbon.framework
  2316. * CarbonLib: in CarbonLib 1.0 and later
  2317. * Non-Carbon CFM: available as macro/inline
  2318. }
  2319. procedure InvokeWindowTitleDrawingUPP( const (*var*) bounds: Rect; depth: SInt16; colorDevice: Boolean; userData: URefCon; userUPP: WindowTitleDrawingUPP ); external name '_InvokeWindowTitleDrawingUPP';
  2320. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2321. {
  2322. * InvokeThemeIteratorUPP()
  2323. *
  2324. * Availability:
  2325. * Mac OS X: in version 10.0 and later in Carbon.framework
  2326. * CarbonLib: in CarbonLib 1.0 and later
  2327. * Non-Carbon CFM: available as macro/inline
  2328. }
  2329. function InvokeThemeIteratorUPP( const (*var*) inFileName: Str255; resID: SInt16; inThemeSettings: Collection; inUserData: PRefCon; userUPP: ThemeIteratorUPP ): Boolean; external name '_InvokeThemeIteratorUPP';
  2330. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2331. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2332. { Menu Drawing callbacks }
  2333. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2334. {
  2335. * MenuTitleDrawingProcPtr
  2336. *
  2337. * Summary:
  2338. * Callback function for drawing the title text of a menu.
  2339. }
  2340. type
  2341. MenuTitleDrawingProcPtr = procedure( const (*var*) inBounds: Rect; inDepth: SInt16; inIsColorDevice: Boolean; inUserData: SRefCon );
  2342. {
  2343. * MenuItemDrawingProcPtr
  2344. *
  2345. * Summary:
  2346. * Callback function for drawing the text of a menu item.
  2347. }
  2348. type
  2349. MenuItemDrawingProcPtr = procedure( const (*var*) inBounds: Rect; inDepth: SInt16; inIsColorDevice: Boolean; inUserData: SRefCon );
  2350. type
  2351. MenuTitleDrawingUPP = MenuTitleDrawingProcPtr;
  2352. type
  2353. MenuItemDrawingUPP = MenuItemDrawingProcPtr;
  2354. {
  2355. * NewMenuTitleDrawingUPP()
  2356. *
  2357. * Availability:
  2358. * Mac OS X: in version 10.0 and later in Carbon.framework
  2359. * CarbonLib: in CarbonLib 1.0 and later
  2360. * Non-Carbon CFM: available as macro/inline
  2361. }
  2362. function NewMenuTitleDrawingUPP( userRoutine: MenuTitleDrawingProcPtr ): MenuTitleDrawingUPP; external name '_NewMenuTitleDrawingUPP';
  2363. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2364. {
  2365. * NewMenuItemDrawingUPP()
  2366. *
  2367. * Availability:
  2368. * Mac OS X: in version 10.0 and later in Carbon.framework
  2369. * CarbonLib: in CarbonLib 1.0 and later
  2370. * Non-Carbon CFM: available as macro/inline
  2371. }
  2372. function NewMenuItemDrawingUPP( userRoutine: MenuItemDrawingProcPtr ): MenuItemDrawingUPP; external name '_NewMenuItemDrawingUPP';
  2373. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2374. {
  2375. * DisposeMenuTitleDrawingUPP()
  2376. *
  2377. * Availability:
  2378. * Mac OS X: in version 10.0 and later in Carbon.framework
  2379. * CarbonLib: in CarbonLib 1.0 and later
  2380. * Non-Carbon CFM: available as macro/inline
  2381. }
  2382. procedure DisposeMenuTitleDrawingUPP( userUPP: MenuTitleDrawingUPP ); external name '_DisposeMenuTitleDrawingUPP';
  2383. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2384. {
  2385. * DisposeMenuItemDrawingUPP()
  2386. *
  2387. * Availability:
  2388. * Mac OS X: in version 10.0 and later in Carbon.framework
  2389. * CarbonLib: in CarbonLib 1.0 and later
  2390. * Non-Carbon CFM: available as macro/inline
  2391. }
  2392. procedure DisposeMenuItemDrawingUPP( userUPP: MenuItemDrawingUPP ); external name '_DisposeMenuItemDrawingUPP';
  2393. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2394. {
  2395. * InvokeMenuTitleDrawingUPP()
  2396. *
  2397. * Availability:
  2398. * Mac OS X: in version 10.0 and later in Carbon.framework
  2399. * CarbonLib: in CarbonLib 1.0 and later
  2400. * Non-Carbon CFM: available as macro/inline
  2401. }
  2402. procedure InvokeMenuTitleDrawingUPP( const (*var*) inBounds: Rect; inDepth: SInt16; inIsColorDevice: Boolean; inUserData: SRefCon; userUPP: MenuTitleDrawingUPP ); external name '_InvokeMenuTitleDrawingUPP';
  2403. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2404. {
  2405. * InvokeMenuItemDrawingUPP()
  2406. *
  2407. * Availability:
  2408. * Mac OS X: in version 10.0 and later in Carbon.framework
  2409. * CarbonLib: in CarbonLib 1.0 and later
  2410. * Non-Carbon CFM: available as macro/inline
  2411. }
  2412. procedure InvokeMenuItemDrawingUPP( const (*var*) inBounds: Rect; inDepth: SInt16; inIsColorDevice: Boolean; inUserData: SRefCon; userUPP: MenuItemDrawingUPP ); external name '_InvokeMenuItemDrawingUPP';
  2413. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2414. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2415. { Appearance Manager APIs }
  2416. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2417. { Registering Appearance-Savvy Applications }
  2418. {$ifc not TARGET_CPU_64}
  2419. {
  2420. * RegisterAppearanceClient() *** DEPRECATED ***
  2421. *
  2422. * Deprecated:
  2423. * This function does nothing on Mac OS X. Do not call it.
  2424. *
  2425. * Summary:
  2426. * Registers a process as a client of the Appearance Manager.
  2427. *
  2428. * Mac OS X threading:
  2429. * Not thread safe
  2430. *
  2431. * Availability:
  2432. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2433. * CarbonLib: in CarbonLib 1.0 and later
  2434. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2435. }
  2436. function RegisterAppearanceClient: OSStatus; external name '_RegisterAppearanceClient';
  2437. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2438. {
  2439. * UnregisterAppearanceClient() *** DEPRECATED ***
  2440. *
  2441. * Deprecated:
  2442. * This function does nothing on Mac OS X. Do not call it.
  2443. *
  2444. * Summary:
  2445. * Unregisters a process as a client of the Appearance Manager.
  2446. *
  2447. * Mac OS X threading:
  2448. * Not thread safe
  2449. *
  2450. * Availability:
  2451. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2452. * CarbonLib: in CarbonLib 1.0 and later
  2453. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2454. }
  2455. function UnregisterAppearanceClient: OSStatus; external name '_UnregisterAppearanceClient';
  2456. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2457. {
  2458. * IsAppearanceClient() *** DEPRECATED ***
  2459. *
  2460. * Deprecated:
  2461. * This function always returns true on Mac OS X. Do not call it.
  2462. *
  2463. * Summary:
  2464. * Indicates whether a process is registered with the Appearance
  2465. * Manager.
  2466. *
  2467. * Mac OS X threading:
  2468. * Not thread safe
  2469. *
  2470. * Availability:
  2471. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2472. * CarbonLib: in CarbonLib 1.0 and later
  2473. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  2474. }
  2475. function IsAppearanceClient( const (*var*) process: ProcessSerialNumber ): Boolean; external name '_IsAppearanceClient';
  2476. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2477. {****************************************************************************
  2478. NOTES ON THEME BRUSHES
  2479. Theme brushes can be either colors or patterns, depending on the theme.
  2480. Because of this, you should be prepared to handle the case where a brush
  2481. is a pattern and save and restore the pnPixPat and bkPixPat fields of
  2482. your GrafPorts when saving the fore and back colors. Also, since patterns
  2483. in bkPixPat override the background color of the window, you should use
  2484. BackPat to set your background pattern to a normal white pattern. This
  2485. will ensure that you can use RGBBackColor to set your back color to white,
  2486. call EraseRect and get the expected results.
  2487. ****************************************************************************}
  2488. {
  2489. * SetThemePen() *** DEPRECATED ***
  2490. *
  2491. * Deprecated:
  2492. * In Mac OS X 10.4 and later, use HIThemeSetStroke, and draw using
  2493. * CoreGraphics.
  2494. *
  2495. * Summary:
  2496. * Sets the foreground color and/or pen pattern of the current
  2497. * GrafPort to allow drawing with a specified theme brush.
  2498. *
  2499. * Mac OS X threading:
  2500. * Not thread safe
  2501. *
  2502. * Availability:
  2503. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2504. * CarbonLib: in CarbonLib 1.0 and later
  2505. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2506. }
  2507. function SetThemePen( inBrush: ThemeBrush; inDepth: SInt16; inIsColorDevice: Boolean ): OSStatus; external name '_SetThemePen';
  2508. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2509. {
  2510. * SetThemeBackground() *** DEPRECATED ***
  2511. *
  2512. * Deprecated:
  2513. * In Mac OS X 10.4 and later, use HIThemeSetFill, and draw using
  2514. * CoreGraphics.
  2515. *
  2516. * Summary:
  2517. * Sets the background color and/or fill pattern of the current
  2518. * GrafPort to allow drawing with a specified theme brush.
  2519. *
  2520. * Mac OS X threading:
  2521. * Not thread safe
  2522. *
  2523. * Availability:
  2524. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2525. * CarbonLib: in CarbonLib 1.0 and later
  2526. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2527. }
  2528. function SetThemeBackground( inBrush: ThemeBrush; inDepth: SInt16; inIsColorDevice: Boolean ): OSStatus; external name '_SetThemeBackground';
  2529. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2530. {
  2531. * SetThemeTextColor() *** DEPRECATED ***
  2532. *
  2533. * Deprecated:
  2534. * In Mac OS X 10.4 and later, use HIThemeTextFill, and draw with
  2535. * CoreGraphics, ATSUI, or HIThemeDrawTextBox.
  2536. *
  2537. * Summary:
  2538. * Sets the foreground color and/or pen pattern of the current
  2539. * GrafPort to allow drawing with a specified theme text color.
  2540. *
  2541. * Mac OS X threading:
  2542. * Not thread safe
  2543. *
  2544. * Availability:
  2545. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2546. * CarbonLib: in CarbonLib 1.0 and later
  2547. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2548. }
  2549. function SetThemeTextColor( inColor: ThemeTextColor; inDepth: SInt16; inIsColorDevice: Boolean ): OSStatus; external name '_SetThemeTextColor';
  2550. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2551. { Window Placards, Headers and Frames }
  2552. {
  2553. * DrawThemeWindowHeader() *** DEPRECATED ***
  2554. *
  2555. * Deprecated:
  2556. * In Mac OS X 10.3 and later, use HIThemeDrawHeader.
  2557. *
  2558. * Summary:
  2559. * Draws a window header theme primitive.
  2560. *
  2561. * Mac OS X threading:
  2562. * Not thread safe
  2563. *
  2564. * Availability:
  2565. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2566. * CarbonLib: in CarbonLib 1.0 and later
  2567. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2568. }
  2569. function DrawThemeWindowHeader( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeWindowHeader';
  2570. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2571. {
  2572. * DrawThemeWindowListViewHeader() *** DEPRECATED ***
  2573. *
  2574. * Deprecated:
  2575. * In Mac OS X 10.3 and later, use HIThemeDrawHeader.
  2576. *
  2577. * Summary:
  2578. * Draws a window header theme primitive that is suitable for use at
  2579. * the top of a list view.
  2580. *
  2581. * Mac OS X threading:
  2582. * Not thread safe
  2583. *
  2584. * Availability:
  2585. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2586. * CarbonLib: in CarbonLib 1.0 and later
  2587. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2588. }
  2589. function DrawThemeWindowListViewHeader( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeWindowListViewHeader';
  2590. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2591. {
  2592. * DrawThemePlacard() *** DEPRECATED ***
  2593. *
  2594. * Deprecated:
  2595. * In Mac OS X 10.3 and later, use HIThemeDrawPlacard.
  2596. *
  2597. * Summary:
  2598. * Draws a placard theme primitive.
  2599. *
  2600. * Mac OS X threading:
  2601. * Not thread safe
  2602. *
  2603. * Availability:
  2604. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2605. * CarbonLib: in CarbonLib 1.0 and later
  2606. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2607. }
  2608. function DrawThemePlacard( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemePlacard';
  2609. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2610. {
  2611. * DrawThemeEditTextFrame() *** DEPRECATED ***
  2612. *
  2613. * Deprecated:
  2614. * In Mac OS X 10.3 and later, use HIThemeDrawFrame.
  2615. *
  2616. * Summary:
  2617. * Draws a frame theme primitive suitable for use around an edit
  2618. * text control.
  2619. *
  2620. * Mac OS X threading:
  2621. * Not thread safe
  2622. *
  2623. * Availability:
  2624. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2625. * CarbonLib: in CarbonLib 1.0 and later
  2626. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2627. }
  2628. function DrawThemeEditTextFrame( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeEditTextFrame';
  2629. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2630. {
  2631. * DrawThemeListBoxFrame() *** DEPRECATED ***
  2632. *
  2633. * Deprecated:
  2634. * In Mac OS X 10.3 and later, use HIThemeDrawFrame.
  2635. *
  2636. * Summary:
  2637. * Draws a frame theme primitive suitable for use around a list box.
  2638. *
  2639. * Mac OS X threading:
  2640. * Not thread safe
  2641. *
  2642. * Availability:
  2643. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2644. * CarbonLib: in CarbonLib 1.0 and later
  2645. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2646. }
  2647. function DrawThemeListBoxFrame( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeListBoxFrame';
  2648. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2649. { Keyboard Focus Drawing }
  2650. {
  2651. * DrawThemeFocusRect() *** DEPRECATED ***
  2652. *
  2653. * Deprecated:
  2654. * In Mac OS X 10.3 and later, use HIThemeDrawFocusRect. This API
  2655. * erases the focus ring when called with inHasFocus equal to false,
  2656. * but HIThemeDrawFocsuRect does not; to simulate the behavior of
  2657. * DrawThemeFocusRect in this case, simply erase the desired area
  2658. * yourself.
  2659. *
  2660. * Summary:
  2661. * Draws a focus ring around a specified rectangle.
  2662. *
  2663. * Mac OS X threading:
  2664. * Not thread safe
  2665. *
  2666. * Availability:
  2667. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2668. * CarbonLib: in CarbonLib 1.0 and later
  2669. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2670. }
  2671. function DrawThemeFocusRect( const (*var*) inRect: Rect; inHasFocus: Boolean ): OSStatus; external name '_DrawThemeFocusRect';
  2672. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2673. { Dialog Group Boxes and Separators }
  2674. {
  2675. * DrawThemePrimaryGroup() *** DEPRECATED ***
  2676. *
  2677. * Deprecated:
  2678. * In Mac OS X 10.3 and later, use HIThemeDrawGroupBox.
  2679. *
  2680. * Summary:
  2681. * Draws a primary group theme primitive.
  2682. *
  2683. * Mac OS X threading:
  2684. * Not thread safe
  2685. *
  2686. * Availability:
  2687. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2688. * CarbonLib: in CarbonLib 1.0 and later
  2689. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2690. }
  2691. function DrawThemePrimaryGroup( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemePrimaryGroup';
  2692. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2693. {
  2694. * DrawThemeSecondaryGroup() *** DEPRECATED ***
  2695. *
  2696. * Deprecated:
  2697. * In Mac OS X 10.3 and later, use HIThemeDrawGroupBox.
  2698. *
  2699. * Summary:
  2700. * Draws a secondary group theme primitive.
  2701. *
  2702. * Mac OS X threading:
  2703. * Not thread safe
  2704. *
  2705. * Availability:
  2706. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2707. * CarbonLib: in CarbonLib 1.0 and later
  2708. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2709. }
  2710. function DrawThemeSecondaryGroup( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeSecondaryGroup';
  2711. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2712. {
  2713. * DrawThemeSeparator() *** DEPRECATED ***
  2714. *
  2715. * Deprecated:
  2716. * In Mac OS X 10.3 and later, use HIThemeDrawSeparator.
  2717. *
  2718. * Summary:
  2719. * Draws a separator theme primitive.
  2720. *
  2721. * Mac OS X threading:
  2722. * Not thread safe
  2723. *
  2724. * Availability:
  2725. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2726. * CarbonLib: in CarbonLib 1.0 and later
  2727. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2728. }
  2729. function DrawThemeSeparator( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeSeparator';
  2730. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2731. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ BEGIN APPEARANCE 1.0.1 ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2732. { The following Appearance Manager APIs are only available in Appearance 1.0.1 or later }
  2733. {
  2734. * DrawThemeModelessDialogFrame() *** DEPRECATED ***
  2735. *
  2736. * Deprecated:
  2737. * In Mac OS X 10.3 and later, use HIThemeDrawWindowFrame.
  2738. *
  2739. * Summary:
  2740. * Draws a modeless dialog window frame theme primitive.
  2741. *
  2742. * Mac OS X threading:
  2743. * Not thread safe
  2744. *
  2745. * Availability:
  2746. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2747. * CarbonLib: in CarbonLib 1.0 and later
  2748. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2749. }
  2750. function DrawThemeModelessDialogFrame( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeModelessDialogFrame';
  2751. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2752. {
  2753. * DrawThemeGenericWell() *** DEPRECATED ***
  2754. *
  2755. * Deprecated:
  2756. * In Mac OS X 10.3 and later, use HIThemeDrawGenericWell.
  2757. *
  2758. * Summary:
  2759. * Draws an image well theme primitive.
  2760. *
  2761. * Mac OS X threading:
  2762. * Not thread safe
  2763. *
  2764. * Availability:
  2765. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2766. * CarbonLib: in CarbonLib 1.0 and later
  2767. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2768. }
  2769. function DrawThemeGenericWell( const (*var*) inRect: Rect; inState: ThemeDrawState; inFillCenter: Boolean ): OSStatus; external name '_DrawThemeGenericWell';
  2770. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2771. {
  2772. * DrawThemeFocusRegion() *** DEPRECATED ***
  2773. *
  2774. * Deprecated:
  2775. * In Mac OS X 10.3 and later, use HIThemeDrawFocusRect. This API
  2776. * erases the focus ring when called with inHasFocus equal to false,
  2777. * but HIThemeDrawFocsuRect does not; to simulate the behavior of
  2778. * DrawThemeFocusRect in this case, simply erase the desired area
  2779. * yourself.
  2780. *
  2781. * Summary:
  2782. * Draws a focus ring around a specified region.
  2783. *
  2784. * Mac OS X threading:
  2785. * Not thread safe
  2786. *
  2787. * Availability:
  2788. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2789. * CarbonLib: in CarbonLib 1.0 and later
  2790. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2791. }
  2792. function DrawThemeFocusRegion( inRegion: RgnHandle; inHasFocus: Boolean ): OSStatus; external name '_DrawThemeFocusRegion';
  2793. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2794. {
  2795. * IsThemeInColor() *** DEPRECATED ***
  2796. *
  2797. * Deprecated:
  2798. * On Mac OS X, the Aqua theme is always drawn in color, and this
  2799. * API always returns true.
  2800. *
  2801. * Summary:
  2802. * Indicates whether the current theme would be drawn in color or
  2803. * black and white.
  2804. *
  2805. * Mac OS X threading:
  2806. * Not thread safe
  2807. *
  2808. * Availability:
  2809. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2810. * CarbonLib: in CarbonLib 1.0 and later
  2811. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2812. }
  2813. function IsThemeInColor( inDepth: SInt16; inIsColorDevice: Boolean ): Boolean; external name '_IsThemeInColor';
  2814. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2815. {
  2816. * GetThemeAccentColors() *** DEPRECATED ***
  2817. *
  2818. * Deprecated:
  2819. * This function always returns appearanceThemeHasNoAccents on Mac
  2820. * OS X. Do not call it.
  2821. *
  2822. * Summary:
  2823. * Returns the accent colors for the current theme.
  2824. *
  2825. * Discussion:
  2826. * GetThemeAccentColors will only work in the platinum theme on Mac
  2827. * OS 8.x and 9.x. It returns an error on Mac OS X, since the Aqua
  2828. * theme does not support accent colors.
  2829. *
  2830. * Mac OS X threading:
  2831. * Not thread safe
  2832. *
  2833. * Availability:
  2834. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2835. * CarbonLib: in CarbonLib 1.0 and later
  2836. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2837. }
  2838. function GetThemeAccentColors( var outColors: CTabHandle ): OSStatus; external name '_GetThemeAccentColors';
  2839. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2840. {
  2841. * DrawThemeMenuBarBackground() *** DEPRECATED ***
  2842. *
  2843. * Deprecated:
  2844. * In Mac OS X 10.3 and later, use HIThemeDrawMenuBarBackground.
  2845. *
  2846. * Summary:
  2847. * Draws a menubar background theme primitive.
  2848. *
  2849. * Mac OS X threading:
  2850. * Not thread safe
  2851. *
  2852. * Availability:
  2853. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2854. * CarbonLib: in CarbonLib 1.0 and later
  2855. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2856. }
  2857. function DrawThemeMenuBarBackground( const (*var*) inBounds: Rect; inState: ThemeMenuBarState; inAttributes: UInt32 ): OSStatus; external name '_DrawThemeMenuBarBackground';
  2858. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2859. {
  2860. * DrawThemeMenuTitle() *** DEPRECATED ***
  2861. *
  2862. * Deprecated:
  2863. * In Mac OS X 10.3 and later, use HIThemeDrawMenuTitle.
  2864. *
  2865. * Summary:
  2866. * Draws a menu title theme primitive.
  2867. *
  2868. * Mac OS X threading:
  2869. * Not thread safe
  2870. *
  2871. * Availability:
  2872. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2873. * CarbonLib: in CarbonLib 1.0 and later
  2874. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2875. }
  2876. function DrawThemeMenuTitle( const (*var*) inMenuBarRect: Rect; const (*var*) inTitleRect: Rect; inState: ThemeMenuState; inAttributes: UInt32; inTitleProc: MenuTitleDrawingUPP { can be NULL }; inTitleData: URefCon ): OSStatus; external name '_DrawThemeMenuTitle';
  2877. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2878. {
  2879. * GetThemeMenuBarHeight()
  2880. *
  2881. * Summary:
  2882. * Returns the height of the menubar, in points.
  2883. *
  2884. * Mac OS X threading:
  2885. * Not thread safe
  2886. *
  2887. * Parameters:
  2888. *
  2889. * outHeight:
  2890. * On exit, contains the height of the menubar, in points.
  2891. *
  2892. * Availability:
  2893. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2894. * CarbonLib: in CarbonLib 1.0 and later
  2895. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2896. }
  2897. function GetThemeMenuBarHeight( var outHeight: SInt16 ): OSStatus; external name '_GetThemeMenuBarHeight';
  2898. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2899. {
  2900. * DrawThemeMenuBackground() *** DEPRECATED ***
  2901. *
  2902. * Deprecated:
  2903. * In Mac OS X 10.3 and later, use HIThemeDrawMenuBackground.
  2904. *
  2905. * Summary:
  2906. * Draws a menu background theme primitive.
  2907. *
  2908. * Mac OS X threading:
  2909. * Not thread safe
  2910. *
  2911. * Availability:
  2912. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2913. * CarbonLib: in CarbonLib 1.0 and later
  2914. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2915. }
  2916. function DrawThemeMenuBackground( const (*var*) inMenuRect: Rect; inMenuType: ThemeMenuType ): OSStatus; external name '_DrawThemeMenuBackground';
  2917. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2918. {
  2919. * GetThemeMenuBackgroundRegion() *** DEPRECATED ***
  2920. *
  2921. * Deprecated:
  2922. * In Mac OS X 10.3 and later, use HIThemeGetMenuBackgroundShape.
  2923. *
  2924. * Summary:
  2925. * Constructs a region that covers the entire area of a menu.
  2926. *
  2927. * Mac OS X threading:
  2928. * Not thread safe
  2929. *
  2930. * Availability:
  2931. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2932. * CarbonLib: in CarbonLib 1.0 and later
  2933. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2934. }
  2935. function GetThemeMenuBackgroundRegion( const (*var*) inMenuRect: Rect; menuType: ThemeMenuType; region: RgnHandle ): OSStatus; external name '_GetThemeMenuBackgroundRegion';
  2936. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2937. {
  2938. * DrawThemeMenuItem() *** DEPRECATED ***
  2939. *
  2940. * Deprecated:
  2941. * In Mac OS X 10.3 and later, use HIThemeDrawMenuItem.
  2942. *
  2943. * Summary:
  2944. * Draws a menu item theme primitive.
  2945. *
  2946. * Mac OS X threading:
  2947. * Not thread safe
  2948. *
  2949. * Availability:
  2950. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2951. * CarbonLib: in CarbonLib 1.0 and later
  2952. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2953. }
  2954. function DrawThemeMenuItem( const (*var*) inMenuRect: Rect; const (*var*) inItemRect: Rect; inVirtualMenuTop: SInt16; inVirtualMenuBottom: SInt16; inState: ThemeMenuState; inItemType: ThemeMenuItemType; inDrawProc: MenuItemDrawingUPP { can be NULL }; inUserData: URefCon ): OSStatus; external name '_DrawThemeMenuItem';
  2955. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2956. {
  2957. * DrawThemeMenuSeparator() *** DEPRECATED ***
  2958. *
  2959. * Deprecated:
  2960. * In Mac OS X 10.3 and later, use HIThemeDrawMenuSeparator.
  2961. *
  2962. * Summary:
  2963. * Draws a menu item separator theme primitive.
  2964. *
  2965. * Mac OS X threading:
  2966. * Not thread safe
  2967. *
  2968. * Availability:
  2969. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  2970. * CarbonLib: in CarbonLib 1.0 and later
  2971. * Non-Carbon CFM: in AppearanceLib 1.0 and later
  2972. }
  2973. function DrawThemeMenuSeparator( const (*var*) inItemRect: Rect ): OSStatus; external name '_DrawThemeMenuSeparator';
  2974. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  2975. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ BEGIN APPEARANCE 1.1 ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2976. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ THEME SWITCHING ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  2977. { X ALERT: Please note that Get/SetTheme are severely neutered under Mac OS X at present. }
  2978. { See the note above regarding what collection tags are supported under X. }
  2979. {
  2980. * GetTheme()
  2981. *
  2982. * Summary:
  2983. * Returns information about the current theme.
  2984. *
  2985. * Mac OS X threading:
  2986. * Not thread safe
  2987. *
  2988. * Parameters:
  2989. *
  2990. * ioCollection:
  2991. * On entry, a valid empty collection. On exit, contains
  2992. * information about the current theme. See Theme Collection Tags
  2993. * for the set of collection tags that are used to retrieve
  2994. * information from this collection.
  2995. *
  2996. * Availability:
  2997. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2998. * CarbonLib: in CarbonLib 1.0 and later
  2999. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3000. }
  3001. function GetTheme( ioCollection: Collection ): OSStatus; external name '_GetTheme';
  3002. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3003. {
  3004. * SetTheme() *** DEPRECATED ***
  3005. *
  3006. * Deprecated:
  3007. * This API does not modify the current theme in any way on Mac OS X.
  3008. *
  3009. * Summary:
  3010. * Sets information about the current theme.
  3011. *
  3012. * Mac OS X threading:
  3013. * Not thread safe
  3014. *
  3015. * Availability:
  3016. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3017. * CarbonLib: in CarbonLib 1.0 and later
  3018. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3019. }
  3020. function SetTheme( ioCollection: Collection ): OSStatus; external name '_SetTheme';
  3021. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3022. {
  3023. * IterateThemes() *** DEPRECATED ***
  3024. *
  3025. * Deprecated:
  3026. * This API does nothing on Mac OS X; it does not call the theme
  3027. * iterator callback function.
  3028. *
  3029. * Summary:
  3030. * Iterates over all known themes.
  3031. *
  3032. * Mac OS X threading:
  3033. * Not thread safe
  3034. *
  3035. * Availability:
  3036. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3037. * CarbonLib: in CarbonLib 1.0 and later
  3038. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3039. }
  3040. function IterateThemes( inProc: ThemeIteratorUPP; inUserData: PRefCon { can be NULL } ): OSStatus; external name '_IterateThemes';
  3041. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3042. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ TABS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3043. {
  3044. * DrawThemeTabPane() *** DEPRECATED ***
  3045. *
  3046. * Deprecated:
  3047. * On Mac OS X 10.3 and later, use HIThemeDrawTabPane.
  3048. *
  3049. * Summary:
  3050. * Draws a tab pane theme primitive.
  3051. *
  3052. * Mac OS X threading:
  3053. * Not thread safe
  3054. *
  3055. * Availability:
  3056. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3057. * CarbonLib: in CarbonLib 1.0 and later
  3058. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3059. }
  3060. function DrawThemeTabPane( const (*var*) inRect: Rect; inState: ThemeDrawState ): OSStatus; external name '_DrawThemeTabPane';
  3061. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3062. {
  3063. * DrawThemeTab() *** DEPRECATED ***
  3064. *
  3065. * Deprecated:
  3066. * On Mac OS X 10.3 and later, use HIThemeDrawTab.
  3067. *
  3068. * Summary:
  3069. * Draws a tab theme primitive.
  3070. *
  3071. * Mac OS X threading:
  3072. * Not thread safe
  3073. *
  3074. * Availability:
  3075. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3076. * CarbonLib: in CarbonLib 1.0 and later
  3077. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3078. }
  3079. function DrawThemeTab( const (*var*) inRect: Rect; inStyle: ThemeTabStyle; inDirection: ThemeTabDirection; labelProc: ThemeTabTitleDrawUPP { can be NULL }; userData: URefCon ): OSStatus; external name '_DrawThemeTab';
  3080. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3081. {
  3082. * GetThemeTabRegion() *** DEPRECATED ***
  3083. *
  3084. * Deprecated:
  3085. * On Mac OS X 10.3 and later, use HIThemeGetTabDrawShape.
  3086. *
  3087. * Summary:
  3088. * Constructs a region that covers the area of a tab.
  3089. *
  3090. * Mac OS X threading:
  3091. * Not thread safe
  3092. *
  3093. * Availability:
  3094. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3095. * CarbonLib: in CarbonLib 1.0 and later
  3096. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3097. }
  3098. function GetThemeTabRegion( const (*var*) inRect: Rect; inStyle: ThemeTabStyle; inDirection: ThemeTabDirection; ioRgn: RgnHandle ): OSStatus; external name '_GetThemeTabRegion';
  3099. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3100. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ CURSORS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3101. {
  3102. * SetThemeCursor()
  3103. *
  3104. * Summary:
  3105. * Sets the current cursor to a specified theme-compliant cursor.
  3106. *
  3107. * Mac OS X threading:
  3108. * Not thread safe
  3109. *
  3110. * Parameters:
  3111. *
  3112. * inCursor:
  3113. * The cursor to set.
  3114. *
  3115. * Availability:
  3116. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3117. * CarbonLib: in CarbonLib 1.0 and later
  3118. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3119. }
  3120. function SetThemeCursor( inCursor: ThemeCursor ): OSStatus; external name '_SetThemeCursor';
  3121. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3122. {
  3123. * SetAnimatedThemeCursor()
  3124. *
  3125. * Summary:
  3126. * Sets the current cursor to the next frame of a specified
  3127. * theme-compliant cursor.
  3128. *
  3129. * Mac OS X threading:
  3130. * Not thread safe
  3131. *
  3132. * Parameters:
  3133. *
  3134. * inCursor:
  3135. * The cursor to set.
  3136. *
  3137. * inAnimationStep:
  3138. * A value indicating which frame of animation should be used. The
  3139. * exact value does not matter, but the value should increase by 1
  3140. * before each call to this API. Not all cursors support
  3141. * animation; those that do not will ignore this parameter.
  3142. *
  3143. * Availability:
  3144. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3145. * CarbonLib: in CarbonLib 1.0 and later
  3146. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3147. }
  3148. function SetAnimatedThemeCursor( inCursor: ThemeCursor; inAnimationStep: UInt32 ): OSStatus; external name '_SetAnimatedThemeCursor';
  3149. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3150. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ CONTROL STYLE SETTINGS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3151. {
  3152. * GetThemeScrollBarThumbStyle()
  3153. *
  3154. * Summary:
  3155. * Retrieves the current scrollbar thumb style, which may be
  3156. * proportional or non-proportional.
  3157. *
  3158. * Mac OS X threading:
  3159. * Not thread safe
  3160. *
  3161. * Parameters:
  3162. *
  3163. * outStyle:
  3164. * On exit, contains the current scrollbar thumb style.
  3165. *
  3166. * Availability:
  3167. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3168. * CarbonLib: in CarbonLib 1.0 and later
  3169. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3170. }
  3171. function GetThemeScrollBarThumbStyle( var outStyle: ThemeScrollBarThumbStyle ): OSStatus; external name '_GetThemeScrollBarThumbStyle';
  3172. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3173. {
  3174. * GetThemeScrollBarArrowStyle()
  3175. *
  3176. * Summary:
  3177. * Retrieves the current scrollbar arrow style. Arrows may be single
  3178. * at each end of the scrollbar, double at one end, or double at
  3179. * both ends.
  3180. *
  3181. * Mac OS X threading:
  3182. * Not thread safe
  3183. *
  3184. * Parameters:
  3185. *
  3186. * outStyle:
  3187. * On exit, contains the current scrollbar arrow style.
  3188. *
  3189. * Availability:
  3190. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3191. * CarbonLib: in CarbonLib 1.0 and later
  3192. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3193. }
  3194. function GetThemeScrollBarArrowStyle( var outStyle: ThemeScrollBarArrowStyle ): OSStatus; external name '_GetThemeScrollBarArrowStyle';
  3195. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3196. {
  3197. * GetThemeCheckBoxStyle()
  3198. *
  3199. * Summary:
  3200. * Retrieves the current checkbox style, which may use an X or a
  3201. * checkmark.
  3202. *
  3203. * Mac OS X threading:
  3204. * Not thread safe
  3205. *
  3206. * Parameters:
  3207. *
  3208. * outStyle:
  3209. * On exit, contains the current checkbox style.
  3210. *
  3211. * Availability:
  3212. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3213. * CarbonLib: in CarbonLib 1.0 and later
  3214. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3215. }
  3216. function GetThemeCheckBoxStyle( var outStyle: ThemeCheckBoxStyle ): OSStatus; external name '_GetThemeCheckBoxStyle';
  3217. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3218. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ FONTS/TEXT ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3219. {
  3220. * UseThemeFont() *** DEPRECATED ***
  3221. *
  3222. * Deprecated:
  3223. * Use HIThemeDrawTextBox instead.
  3224. *
  3225. * Summary:
  3226. * Sets the font of the current GrafPort to allow drawing with a
  3227. * specified theme font.
  3228. *
  3229. * Mac OS X threading:
  3230. * Not thread safe
  3231. *
  3232. * Availability:
  3233. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3234. * CarbonLib: in CarbonLib 1.0 and later
  3235. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3236. }
  3237. function UseThemeFont( inFontID: ThemeFontID; inScript: ScriptCode ): OSStatus; external name '_UseThemeFont';
  3238. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3239. {
  3240. * GetThemeFont() *** DEPRECATED ***
  3241. *
  3242. * Deprecated:
  3243. * Some theme fonts cannot be drawn using QuickDraw. Use
  3244. * HIThemeDrawTextBox instead.
  3245. *
  3246. * Summary:
  3247. * Retrieves the QuickDraw font name, size, and style for a
  3248. * specified theme font.
  3249. *
  3250. * Mac OS X threading:
  3251. * Not thread safe
  3252. *
  3253. * Availability:
  3254. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3255. * CarbonLib: in CarbonLib 1.0 and later
  3256. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3257. }
  3258. function GetThemeFont( inFontID: ThemeFontID; inScript: ScriptCode; outFontName: StringPtr { can be NULL }; var outFontSize: SInt16; var outStyle: Style ): OSStatus; external name '_GetThemeFont';
  3259. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3260. {
  3261. * DrawThemeTextBox() *** DEPRECATED ***
  3262. *
  3263. * Deprecated:
  3264. * On Mac OS X 10.3 and later, use HIThemeDrawTextBox.
  3265. *
  3266. * Summary:
  3267. * Draws text into the area you specify.
  3268. *
  3269. * Discussion:
  3270. * DrawThemeTextBox allows you to draw theme-savvy (ie. Aqua-savvy
  3271. * on Mac OS X) text. It is unicode savvy (although only partially
  3272. * so under CarbonLib), and allows you to customize certain text
  3273. * rendering characteristics such as the font, wrapping behavior,
  3274. * and justification. The text is drawn into the CGContextRef you
  3275. * provide, or into the current Quickdraw port if no CGContextRef is
  3276. * provided. None of DrawThemeTextBox's parameters imply a color, so
  3277. * you must set up the desired text color separately before calling
  3278. * DrawThemeTextBox. If you provide a CGContextRef, its fill color
  3279. * will be used to draw the text. If you do not provide a
  3280. * CGContextRef, a color based on the current Quickdraw port's
  3281. * foreground color and the grayishTextOr mode (if set) will be used
  3282. * to draw the text.
  3283. *
  3284. * Mac OS X threading:
  3285. * Not thread safe
  3286. *
  3287. * Parameters:
  3288. *
  3289. * inString:
  3290. * A CFStringRef containing the unicode characters you wish to
  3291. * render. You MUST NOT pass in a CFStringRef that was allocated
  3292. * with any of the "NoCopy" CFString creation APIs; a string
  3293. * created with a "NoCopy" API has transient storage which is
  3294. * incompatible with DrawThemeTextBox's caches.
  3295. *
  3296. * inFontID:
  3297. * The ThemeFontID describing the font you'd like to render the
  3298. * text with. See the discussion of ThemeFontIDs elsewhere in this
  3299. * header.
  3300. *
  3301. * inState:
  3302. * The ThemeDrawState describing the the state of the interface
  3303. * element you are drawing the text for. If, for example, you are
  3304. * drawing text for an inactive window, you would pass
  3305. * kThemeStateInactive. The ThemeDrawState is generally only used
  3306. * to determine the shadow characteristics for the text on Mac OS
  3307. * X. Note that the ThemeDrawState does NOT imply a color. It is
  3308. * NOT used as a mechanism for graying the text. If you wish to
  3309. * draw grayed text, you must set up the desired gray color and
  3310. * apply it to either the current Quickdraw port or the
  3311. * CGContextRef as appropriate.
  3312. *
  3313. * inWrapToWidth:
  3314. * A Boolean indicating whether you want to draw multiple lines of
  3315. * text wrapped to a bounding box. False indicates that only one
  3316. * line of text should be drawn without any sort of wrapping.
  3317. *
  3318. * inBoundingBox:
  3319. * The rectangle (in coordinates relative to the current Quickdraw
  3320. * port) describing the area to draw the text within. The first
  3321. * line of text will be top-justified to this rectangle. Wrapping
  3322. * (if desired) will happen at the horizontal extent of this
  3323. * rectangle. Regardless of the amount of text in your
  3324. * CFStringRef, all drawn text will be clipped to this rectangle.
  3325. *
  3326. * inJust:
  3327. * The horizontal justification you would like for your text. You
  3328. * can use one of the standard justification constants from
  3329. * TextEdit.h.
  3330. *
  3331. * inContext:
  3332. * The CGContextRef into which you would like to draw the text. On
  3333. * Mac OS X, all text drawing happens in CGContextRefs; if you
  3334. * pass NULL, a transient CGContextRef will be allocated and
  3335. * deallocated for use within the single API call. Relying on the
  3336. * system behavior if transiently creating CGContextRefs may
  3337. * result in performance problems. On Mac OS 9, the CGContextRef
  3338. * parameter is ignored.
  3339. *
  3340. * Availability:
  3341. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3342. * CarbonLib: in CarbonLib 1.3 and later
  3343. * Non-Carbon CFM: not available
  3344. }
  3345. function DrawThemeTextBox( inString: CFStringRef; inFontID: ThemeFontID; inState: ThemeDrawState; inWrapToWidth: Boolean; const (*var*) inBoundingBox: Rect; inJust: SInt16; inContext: CGContextRef ): OSStatus; external name '_DrawThemeTextBox';
  3346. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3347. {
  3348. * TruncateThemeText() *** DEPRECATED ***
  3349. *
  3350. * Deprecated:
  3351. * On Mac OS X 10.3 and later, use HIThemeGetTextDimensions or
  3352. * HIThemeDrawTextBox. There is currently no replacement API that
  3353. * actually alters the string.
  3354. *
  3355. * Summary:
  3356. * Truncates text to fit within the width you specify.
  3357. *
  3358. * Discussion:
  3359. * TruncateThemeText alters a unicode string to fit within a width
  3360. * that you specify. It is unicode savvy (although only partially so
  3361. * under CarbonLib), and makes its calculations (and any subsequent
  3362. * string alteration) based on the font and state you specify. If
  3363. * the string needs to be truncated, it will be reduced to the
  3364. * maximum number of characters which (with the addition of an
  3365. * ellipsis character) fits within the specified width.
  3366. *
  3367. * Mac OS X threading:
  3368. * Not thread safe
  3369. *
  3370. * Parameters:
  3371. *
  3372. * inString:
  3373. * A CFMutableStringRef containing the unicode characters you wish
  3374. * to truncate. On output, inString may have been altered to fit
  3375. * within the specified width. You MUST NOT pass in a CFStringRef
  3376. * that was allocated with any of the "NoCopy" CFString creation
  3377. * APIs (see note in DrawThemeTextBox above).
  3378. *
  3379. * inFontID:
  3380. * The ThemeFontID to use for text measurements. See the
  3381. * discussion of ThemeFontIDs elsewhere in this header.
  3382. *
  3383. * inState:
  3384. * The ThemeDrawState which matches the state you will ultimately
  3385. * render the string width. This may affect text measurement
  3386. * during truncation, so you should be sure the value you pass to
  3387. * TruncateThemeText matches the value you will eventually use for
  3388. * drawing.
  3389. *
  3390. * inPixelWidthLimit:
  3391. * The maximum width (in pixels) that the resulting truncated
  3392. * string may have.
  3393. *
  3394. * inTruncWhere:
  3395. * A TruncCode indicating where you would like truncation to occur.
  3396. *
  3397. * outTruncated:
  3398. * On output, this Boolean value indicates whether the string was
  3399. * truncated. True means the string was truncated. False means the
  3400. * string was not (and did not need to be) truncated.
  3401. *
  3402. * Availability:
  3403. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3404. * CarbonLib: in CarbonLib 1.3 and later
  3405. * Non-Carbon CFM: not available
  3406. }
  3407. function TruncateThemeText( inString: CFMutableStringRef; inFontID: ThemeFontID; inState: ThemeDrawState; inPixelWidthLimit: SInt16; inTruncWhere: TruncCode; outTruncated: BooleanPtr { can be NULL } ): OSStatus; external name '_TruncateThemeText';
  3408. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3409. {
  3410. * GetThemeTextDimensions() *** DEPRECATED ***
  3411. *
  3412. * Deprecated:
  3413. * On Mac OS X 10.3 and later, use HIThemeGetTextDimensions.
  3414. *
  3415. * Summary:
  3416. * Tells you the height, width, and baseline for a string.
  3417. *
  3418. * Discussion:
  3419. * GetThemeTextDimensions measures the given string using a font and
  3420. * state you specify. It always reports the actual height and
  3421. * baseline. It sometimes reports the actual width (see below). It
  3422. * can measure a string that wraps. It is unicode savvy (although
  3423. * only partially so under CarbonLib).
  3424. *
  3425. * Mac OS X threading:
  3426. * Not thread safe
  3427. *
  3428. * Parameters:
  3429. *
  3430. * inString:
  3431. * A CFStringRef containing the unicode characters you wish to
  3432. * measure. You MUST NOT pass in a CFStringRef that was allocated
  3433. * with any of the "NoCopy" CFString creation APIs (see note in
  3434. * DrawThemeTextBox above).
  3435. *
  3436. * inFontID:
  3437. * The ThemeFontID describing the font you'd like to measure the
  3438. * text with. See the discussion of ThemeFontIDs elsewhere in this
  3439. * header.
  3440. *
  3441. * inState:
  3442. * The ThemeDrawState which matches the state you will ultimately
  3443. * render the string width. This may affect text measurement, so
  3444. * you should be sure the value you pass to TruncateThemeText
  3445. * matches the value you will eventually use for drawing.
  3446. *
  3447. * inWrapToWidth:
  3448. * A Boolean indicating whether you want the measurements based on
  3449. * wrapping the text to a specific width. If you pass true, you
  3450. * must specify the desired width in ioBounds->h.
  3451. *
  3452. * ioBounds:
  3453. * On output, ioBounds->v contains the height of the text. If you
  3454. * pass false to inWrapToWidth, ioBounds->h will contain the width
  3455. * of the text on output. If you pass true to inWrapToWidth,
  3456. * ioBounds->h must (on input) contain the desired width for
  3457. * wrapping; on output, ioBounds->h contains the same value you
  3458. * specified on input.
  3459. *
  3460. * outBaseline:
  3461. * On output, outBaseline contains the offset (in Quickdraw space)
  3462. * from the bottom edge of the last line of text to the baseline
  3463. * of the first line of text. outBaseline will generally be a
  3464. * negative value. On Mac OS X 10.2 and later, you may pass NULL
  3465. * if you don't want this information.
  3466. *
  3467. * Availability:
  3468. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3469. * CarbonLib: in CarbonLib 1.3 and later
  3470. * Non-Carbon CFM: not available
  3471. }
  3472. function GetThemeTextDimensions( inString: CFStringRef; inFontID: ThemeFontID; inState: ThemeDrawState; inWrapToWidth: Boolean; var ioBounds: Point; outBaseline: SInt16Ptr { can be NULL } ): OSStatus; external name '_GetThemeTextDimensions';
  3473. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3474. {
  3475. * GetThemeTextShadowOutset()
  3476. *
  3477. * Summary:
  3478. * Tells you the amount of space taken up by the shadow for a given
  3479. * font/state combination.
  3480. *
  3481. * Discussion:
  3482. * GetThemeTextShadowOutset passes back the maximum amount of space
  3483. * the shadow will take up for text drawn in the specified font and
  3484. * state. While GetThemeTextDimensions tells you how much space is
  3485. * taken up by the character glyphs themselves, it does not
  3486. * incorporate the font/state shadow into its calculations. If you
  3487. * need to know how much total space including the shadow will be
  3488. * taken up, call GetThemeTextDimensions followed by
  3489. * GetThemeTextShadowOutset.
  3490. *
  3491. * Mac OS X threading:
  3492. * Not thread safe
  3493. *
  3494. * Parameters:
  3495. *
  3496. * inFontID:
  3497. * The ThemeFontID describing the font you'd like the shadow
  3498. * characteristics of. Font and state both determine the amount of
  3499. * shadow that will be used on rendered text. See the discussion
  3500. * of ThemeFontIDs elsewhere in this header.
  3501. *
  3502. * inState:
  3503. * The ThemeDrawState which matches the state you'd like the
  3504. * shadow characteristics of. Font and state both determine the
  3505. * amount of shadow that will be used on rendered text.
  3506. *
  3507. * outOutset:
  3508. * On output, outOutset contains the amount of space the shadow
  3509. * will take up beyond each edge of the text bounding rectangle
  3510. * returned by GetThemeTextDimensions. The fields of outOutset
  3511. * will either be positive values or zero.
  3512. *
  3513. * Availability:
  3514. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3515. * CarbonLib: in CarbonLib 1.3 and later
  3516. * Non-Carbon CFM: not available
  3517. }
  3518. function GetThemeTextShadowOutset( inFontID: ThemeFontID; inState: ThemeDrawState; var outOutset: Rect ): OSStatus; external name '_GetThemeTextShadowOutset';
  3519. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3520. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ TRACKS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3521. {
  3522. * DrawThemeTrack() *** DEPRECATED ***
  3523. *
  3524. * Deprecated:
  3525. * On Mac OS X 10.3 and later, use HIThemeDrawTrack.
  3526. *
  3527. * Summary:
  3528. * Draws a track theme primitive, such as a slider or scrollbar.
  3529. *
  3530. * Mac OS X threading:
  3531. * Not thread safe
  3532. *
  3533. * Availability:
  3534. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3535. * CarbonLib: in CarbonLib 1.0 and later
  3536. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3537. }
  3538. function DrawThemeTrack( const (*var*) drawInfo: ThemeTrackDrawInfo; rgnGhost: RgnHandle { can be NULL }; eraseProc: ThemeEraseUPP { can be NULL }; eraseData: URefCon ): OSStatus; external name '_DrawThemeTrack';
  3539. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3540. {
  3541. * HitTestThemeTrack() *** DEPRECATED ***
  3542. *
  3543. * Deprecated:
  3544. * On Mac OS X 10.3 and later, use HIThemeHitTestTrack.
  3545. *
  3546. * Summary:
  3547. * Determines the part of a track that is is under a specified point.
  3548. *
  3549. * Mac OS X threading:
  3550. * Not thread safe
  3551. *
  3552. * Availability:
  3553. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3554. * CarbonLib: in CarbonLib 1.0 and later
  3555. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3556. }
  3557. function HitTestThemeTrack( const (*var*) drawInfo: ThemeTrackDrawInfo; mousePoint: Point; var partHit: AppearancePartCode ): Boolean; external name '_HitTestThemeTrack';
  3558. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3559. {
  3560. * GetThemeTrackBounds() *** DEPRECATED ***
  3561. *
  3562. * Deprecated:
  3563. * On Mac OS X 10.3 and later, use HIThemeGetTrackBounds.
  3564. *
  3565. * Summary:
  3566. * Retrieves the bounds of a track theme primitive.
  3567. *
  3568. * Mac OS X threading:
  3569. * Not thread safe
  3570. *
  3571. * Availability:
  3572. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3573. * CarbonLib: in CarbonLib 1.0 and later
  3574. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3575. }
  3576. function GetThemeTrackBounds( const (*var*) drawInfo: ThemeTrackDrawInfo; var bounds: Rect ): OSStatus; external name '_GetThemeTrackBounds';
  3577. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3578. {
  3579. * GetThemeTrackThumbRgn() *** DEPRECATED ***
  3580. *
  3581. * Deprecated:
  3582. * On Mac OS X 10.3 and later, use HIThemeGetTrackThumbShape.
  3583. *
  3584. * Summary:
  3585. * Constructs a region that covers the area of a track thumb.
  3586. *
  3587. * Mac OS X threading:
  3588. * Not thread safe
  3589. *
  3590. * Availability:
  3591. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3592. * CarbonLib: in CarbonLib 1.0 and later
  3593. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3594. }
  3595. function GetThemeTrackThumbRgn( const (*var*) drawInfo: ThemeTrackDrawInfo; thumbRgn: RgnHandle ): OSStatus; external name '_GetThemeTrackThumbRgn';
  3596. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3597. {
  3598. * GetThemeTrackDragRect() *** DEPRECATED ***
  3599. *
  3600. * Deprecated:
  3601. * On Mac OS X 10.3 and later, use HIThemeGetTrackDragRect.
  3602. *
  3603. * Summary:
  3604. * Retrieves the bounds of a track dragging area.
  3605. *
  3606. * Mac OS X threading:
  3607. * Not thread safe
  3608. *
  3609. * Availability:
  3610. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3611. * CarbonLib: in CarbonLib 1.0 and later
  3612. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3613. }
  3614. function GetThemeTrackDragRect( const (*var*) drawInfo: ThemeTrackDrawInfo; var dragRect: Rect ): OSStatus; external name '_GetThemeTrackDragRect';
  3615. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3616. {
  3617. * DrawThemeTrackTickMarks() *** DEPRECATED ***
  3618. *
  3619. * Deprecated:
  3620. * On Mac OS X 10.3 and later, use HIThemeDrawTrackTickMarks.
  3621. *
  3622. * Summary:
  3623. * Draws the tick marks for a track theme primitive.
  3624. *
  3625. * Mac OS X threading:
  3626. * Not thread safe
  3627. *
  3628. * Availability:
  3629. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3630. * CarbonLib: in CarbonLib 1.0 and later
  3631. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3632. }
  3633. function DrawThemeTrackTickMarks( const (*var*) drawInfo: ThemeTrackDrawInfo; numTicks: ItemCount; eraseProc: ThemeEraseUPP { can be NULL }; eraseData: URefCon ): OSStatus; external name '_DrawThemeTrackTickMarks';
  3634. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3635. {
  3636. * GetThemeTrackThumbPositionFromOffset() *** DEPRECATED ***
  3637. *
  3638. * Deprecated:
  3639. * On Mac OS X 10.3 and later, use
  3640. * HIThemeGetTrackThumbPositionFromOffset.
  3641. *
  3642. * Summary:
  3643. * Retrieves a track's thumb position based on its offset in the
  3644. * track bounds.
  3645. *
  3646. * Mac OS X threading:
  3647. * Not thread safe
  3648. *
  3649. * Availability:
  3650. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3651. * CarbonLib: in CarbonLib 1.0 and later
  3652. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3653. }
  3654. function GetThemeTrackThumbPositionFromOffset( const (*var*) drawInfo: ThemeTrackDrawInfo; thumbOffset: Point; var relativePosition: SInt32 ): OSStatus; external name '_GetThemeTrackThumbPositionFromOffset';
  3655. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3656. {
  3657. * GetThemeTrackThumbPositionFromRegion() *** DEPRECATED ***
  3658. *
  3659. * Deprecated:
  3660. * On Mac OS X 10.3 and later, use
  3661. * HIThemeGetTrackThumbPositionFromBounds.
  3662. *
  3663. * Summary:
  3664. * Retrieves a track's thumb position based on a region covering the
  3665. * thumb.
  3666. *
  3667. * Mac OS X threading:
  3668. * Not thread safe
  3669. *
  3670. * Availability:
  3671. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3672. * CarbonLib: in CarbonLib 1.0 and later
  3673. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3674. }
  3675. function GetThemeTrackThumbPositionFromRegion( const (*var*) drawInfo: ThemeTrackDrawInfo; thumbRgn: RgnHandle; var relativePosition: SInt32 ): OSStatus; external name '_GetThemeTrackThumbPositionFromRegion';
  3676. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3677. {
  3678. * GetThemeTrackLiveValue() *** DEPRECATED ***
  3679. *
  3680. * Deprecated:
  3681. * On Mac OS X 10.3 and later, use HIThemeGetTrackLiveValue.
  3682. *
  3683. * Summary:
  3684. * Retrieves the value that a track would have based on a thumb
  3685. * position.
  3686. *
  3687. * Mac OS X threading:
  3688. * Not thread safe
  3689. *
  3690. * Availability:
  3691. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3692. * CarbonLib: in CarbonLib 1.0 and later
  3693. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3694. }
  3695. function GetThemeTrackLiveValue( const (*var*) drawInfo: ThemeTrackDrawInfo; relativePosition: SInt32; var value: SInt32 ): OSStatus; external name '_GetThemeTrackLiveValue';
  3696. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3697. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ SCROLLBAR ARROWS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3698. {
  3699. * DrawThemeScrollBarArrows() *** DEPRECATED ***
  3700. *
  3701. * Deprecated:
  3702. * On Mac OS X 10.3 and later, use HIThemeDrawTrack, which will draw
  3703. * the entire scrollbar, including both the track and arrows.
  3704. *
  3705. * Summary:
  3706. * Draws the arrows at each or both ends of a scrollbar theme
  3707. * primitive.
  3708. *
  3709. * Mac OS X threading:
  3710. * Not thread safe
  3711. *
  3712. * Availability:
  3713. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3714. * CarbonLib: in CarbonLib 1.0 and later
  3715. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3716. }
  3717. function DrawThemeScrollBarArrows( const (*var*) bounds: Rect; enableState: ThemeTrackEnableState; pressState: ThemeTrackPressState; isHoriz: Boolean; var trackBounds: Rect ): OSStatus; external name '_DrawThemeScrollBarArrows';
  3718. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3719. {
  3720. * GetThemeScrollBarTrackRect() *** DEPRECATED ***
  3721. *
  3722. * Deprecated:
  3723. * On Mac OS X 10.3 and later, use HIThemeGetScrollBarTrackRect.
  3724. *
  3725. * Summary:
  3726. * Retrieves the bounds of a scrollbar track.
  3727. *
  3728. * Mac OS X threading:
  3729. * Not thread safe
  3730. *
  3731. * Availability:
  3732. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3733. * CarbonLib: in CarbonLib 1.0 and later
  3734. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3735. }
  3736. function GetThemeScrollBarTrackRect( const (*var*) bounds: Rect; enableState: ThemeTrackEnableState; pressState: ThemeTrackPressState; isHoriz: Boolean; var trackBounds: Rect ): OSStatus; external name '_GetThemeScrollBarTrackRect';
  3737. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3738. {
  3739. * HitTestThemeScrollBarArrows() *** DEPRECATED ***
  3740. *
  3741. * Deprecated:
  3742. * On Mac OS X 10.3 and later, use HIThemeHitTestScrollBarArrows.
  3743. *
  3744. * Summary:
  3745. * Determines which scrollbar arrow is under a specified point.
  3746. *
  3747. * Mac OS X threading:
  3748. * Not thread safe
  3749. *
  3750. * Availability:
  3751. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3752. * CarbonLib: in CarbonLib 1.0 and later
  3753. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3754. }
  3755. function HitTestThemeScrollBarArrows( const (*var*) scrollBarBounds: Rect; enableState: ThemeTrackEnableState; pressState: ThemeTrackPressState; isHoriz: Boolean; ptHit: Point; var trackBounds: Rect; var partcode: AppearancePartCode ): Boolean; external name '_HitTestThemeScrollBarArrows';
  3756. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3757. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ WINDOWS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3758. {
  3759. * GetThemeWindowRegion() *** DEPRECATED ***
  3760. *
  3761. * Deprecated:
  3762. * On Mac OS X 10.3 and later, use HIThemeGetWindowShape.
  3763. *
  3764. * Summary:
  3765. * Constructs a region that covers a specified part of a window.
  3766. *
  3767. * Mac OS X threading:
  3768. * Not thread safe
  3769. *
  3770. * Availability:
  3771. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3772. * CarbonLib: in CarbonLib 1.0 and later
  3773. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3774. }
  3775. function GetThemeWindowRegion( flavor: ThemeWindowType; const (*var*) contRect: Rect; state: ThemeDrawState; const (*var*) metrics: ThemeWindowMetrics; attributes: ThemeWindowAttributes; winRegion: AppearanceRegionCode; rgn: RgnHandle ): OSStatus; external name '_GetThemeWindowRegion';
  3776. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3777. {
  3778. * DrawThemeWindowFrame() *** DEPRECATED ***
  3779. *
  3780. * Deprecated:
  3781. * On Mac OS X 10.3 and later, use HIThemeDrawWindowFrame.
  3782. *
  3783. * Summary:
  3784. * Draws a window frame theme primitive.
  3785. *
  3786. * Mac OS X threading:
  3787. * Not thread safe
  3788. *
  3789. * Availability:
  3790. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3791. * CarbonLib: in CarbonLib 1.0 and later
  3792. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3793. }
  3794. function DrawThemeWindowFrame( flavor: ThemeWindowType; const (*var*) contRect: Rect; state: ThemeDrawState; const (*var*) metrics: ThemeWindowMetrics; attributes: ThemeWindowAttributes; titleProc: WindowTitleDrawingUPP { can be NULL }; titleData: URefCon ): OSStatus; external name '_DrawThemeWindowFrame';
  3795. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3796. {
  3797. * DrawThemeTitleBarWidget() *** DEPRECATED ***
  3798. *
  3799. * Deprecated:
  3800. * On Mac OS X 10.3 and later, use HIThemeDrawTitleBarWidget.
  3801. *
  3802. * Summary:
  3803. * Draws the requested theme title bar widget.
  3804. *
  3805. * Discussion:
  3806. * DrawThemeTitleBarWidget renders the requested theme title bar
  3807. * widget in the proper location of a window. A common
  3808. * misconception when using this API is that the client must specify
  3809. * the exact location of the widget in the window. The widget will
  3810. * locate itself in the window based relative to the content rect
  3811. * passed in content rectangle -- the contRect parameter. Another
  3812. * common problem is to ignore the window's attributes. The
  3813. * attributes must be set up properly to describe the window for
  3814. * which the widget is to be drawn.
  3815. *
  3816. * Mac OS X threading:
  3817. * Not thread safe
  3818. *
  3819. * Parameters:
  3820. *
  3821. * flavor:
  3822. * A valid ThemeWindowtype describing the type of theme window for
  3823. * which you would like to draw a widget.
  3824. *
  3825. * contRect:
  3826. * A rectangle describing the window's content area. The widget
  3827. * is drawn relative to the content rectangle of the window, so
  3828. * this parameter does not describe the actual widget bounds, it
  3829. * describes the window's content rectangle.
  3830. *
  3831. * state:
  3832. * A valid ThemeDrawState which describes the state of the window
  3833. * for which the widget is to be drawn.
  3834. *
  3835. * metrics:
  3836. * A pointer to a set of valid ThemeWindowMetrics. At this time,
  3837. * none of the fields of the metrics are pertinent to the widgets,
  3838. * so the only important field is the metricSize field to mark the
  3839. * structure as valid.
  3840. *
  3841. * attributes:
  3842. * A valid ThemeWindowAttributes set which describes the window
  3843. * for which the widget is to be drawn.
  3844. *
  3845. * widget:
  3846. * A valid ThemeTitleBarWidget set which describes which widget to
  3847. * draw.
  3848. *
  3849. * Availability:
  3850. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3851. * CarbonLib: in CarbonLib 1.0 and later
  3852. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3853. }
  3854. function DrawThemeTitleBarWidget( flavor: ThemeWindowType; const (*var*) contRect: Rect; state: ThemeDrawState; const (*var*) metrics: ThemeWindowMetrics; attributes: ThemeWindowAttributes; widget: ThemeTitleBarWidget ): OSStatus; external name '_DrawThemeTitleBarWidget';
  3855. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3856. {
  3857. * GetThemeWindowRegionHit() *** DEPRECATED ***
  3858. *
  3859. * Deprecated:
  3860. * On Mac OS X 10.3 and later, use HIThemeGetWindowRegionHit.
  3861. *
  3862. * Summary:
  3863. * Determines the window part that is under a specified point.
  3864. *
  3865. * Mac OS X threading:
  3866. * Not thread safe
  3867. *
  3868. * Availability:
  3869. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3870. * CarbonLib: in CarbonLib 1.0 and later
  3871. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3872. }
  3873. function GetThemeWindowRegionHit( flavor: ThemeWindowType; const (*var*) inContRect: Rect; state: ThemeDrawState; const (*var*) metrics: ThemeWindowMetrics; inAttributes: ThemeWindowAttributes; inPoint: Point; var outRegionHit: AppearanceRegionCode ): Boolean; external name '_GetThemeWindowRegionHit';
  3874. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3875. {
  3876. * DrawThemeScrollBarDelimiters() *** DEPRECATED ***
  3877. *
  3878. * Deprecated:
  3879. * In Mac OS X 10.3 and later, use HIThemeDrawScrollBarDelimiters.
  3880. *
  3881. * Summary:
  3882. * Draws the scrollbar delimeters in a window frame.
  3883. *
  3884. * Mac OS X threading:
  3885. * Not thread safe
  3886. *
  3887. * Availability:
  3888. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3889. * CarbonLib: in CarbonLib 1.0 and later
  3890. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3891. }
  3892. function DrawThemeScrollBarDelimiters( flavor: ThemeWindowType; const (*var*) inContRect: Rect; state: ThemeDrawState; attributes: ThemeWindowAttributes ): OSStatus; external name '_DrawThemeScrollBarDelimiters';
  3893. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3894. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ BUTTONS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3895. {
  3896. * DrawThemeButton() *** DEPRECATED ***
  3897. *
  3898. * Deprecated:
  3899. * On Mac OS X 10.3 and later, use HIThemeDrawButton.
  3900. *
  3901. * Summary:
  3902. * Draws a button theme primitive.
  3903. *
  3904. * Mac OS X threading:
  3905. * Not thread safe
  3906. *
  3907. * Availability:
  3908. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3909. * CarbonLib: in CarbonLib 1.0 and later
  3910. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3911. }
  3912. function DrawThemeButton( const (*var*) inBounds: Rect; inKind: ThemeButtonKind; const (*var*) inNewInfo: ThemeButtonDrawInfo; {const} inPrevInfo: ThemeButtonDrawInfoPtr { can be NULL }; inEraseProc: ThemeEraseUPP { can be NULL }; inLabelProc: ThemeButtonDrawUPP { can be NULL }; inUserData: URefCon ): OSStatus; external name '_DrawThemeButton';
  3913. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3914. {
  3915. * GetThemeButtonRegion() *** DEPRECATED ***
  3916. *
  3917. * Deprecated:
  3918. * On Mac OS X 10.3 and later, use HIThemeGetButtonShape.
  3919. *
  3920. * Summary:
  3921. * Constructs a region that covers the area of a button.
  3922. *
  3923. * Mac OS X threading:
  3924. * Not thread safe
  3925. *
  3926. * Availability:
  3927. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3928. * CarbonLib: in CarbonLib 1.0 and later
  3929. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3930. }
  3931. function GetThemeButtonRegion( const (*var*) inBounds: Rect; inKind: ThemeButtonKind; const (*var*) inNewInfo: ThemeButtonDrawInfo; outRegion: RgnHandle ): OSStatus; external name '_GetThemeButtonRegion';
  3932. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3933. {
  3934. * GetThemeButtonContentBounds() *** DEPRECATED ***
  3935. *
  3936. * Deprecated:
  3937. * On Mac OS X 10.3 and later, use HIThemeGetButtonContentBounds.
  3938. *
  3939. * Summary:
  3940. * Retrieves the bounds of a button's content.
  3941. *
  3942. * Mac OS X threading:
  3943. * Not thread safe
  3944. *
  3945. * Availability:
  3946. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3947. * CarbonLib: in CarbonLib 1.0 and later
  3948. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3949. }
  3950. function GetThemeButtonContentBounds( const (*var*) inBounds: Rect; inKind: ThemeButtonKind; const (*var*) inDrawInfo: ThemeButtonDrawInfo; var outBounds: Rect ): OSStatus; external name '_GetThemeButtonContentBounds';
  3951. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3952. {
  3953. * GetThemeButtonBackgroundBounds() *** DEPRECATED ***
  3954. *
  3955. * Deprecated:
  3956. * On Mac OS X 10.3 and later, use HIThemeGetButtonBackgroundBounds.
  3957. *
  3958. * Summary:
  3959. * Retrieves the bounds of a button's background.
  3960. *
  3961. * Mac OS X threading:
  3962. * Not thread safe
  3963. *
  3964. * Availability:
  3965. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  3966. * CarbonLib: in CarbonLib 1.0 and later
  3967. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3968. }
  3969. function GetThemeButtonBackgroundBounds( const (*var*) inBounds: Rect; inKind: ThemeButtonKind; const (*var*) inDrawInfo: ThemeButtonDrawInfo; var outBounds: Rect ): OSStatus; external name '_GetThemeButtonBackgroundBounds';
  3970. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  3971. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ INTERFACE SOUNDS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  3972. { X ALERT: Please note that the sound APIs do not work on Mac OS X at present. }
  3973. {
  3974. * PlayThemeSound()
  3975. *
  3976. * Summary:
  3977. * Plays a theme-compliant sound. Note that this API does not play
  3978. * sound on any version of Mac OS X.
  3979. *
  3980. * Mac OS X threading:
  3981. * Not thread safe
  3982. *
  3983. * Parameters:
  3984. *
  3985. * kind:
  3986. * The kind of sound to play.
  3987. *
  3988. * Availability:
  3989. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3990. * CarbonLib: in CarbonLib 1.0 and later
  3991. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  3992. }
  3993. function PlayThemeSound( kind: ThemeSoundKind ): OSStatus; external name '_PlayThemeSound';
  3994. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3995. {
  3996. * BeginThemeDragSound()
  3997. *
  3998. * Summary:
  3999. * Begins playing a theme-compliant sound to indicate that a drag is
  4000. * occuring. Note that this API does not play sound on any version
  4001. * of Mac OS X.
  4002. *
  4003. * Discussion:
  4004. * You should call EndThemeDragSound when the drag is complete.
  4005. *
  4006. * Mac OS X threading:
  4007. * Not thread safe
  4008. *
  4009. * Parameters:
  4010. *
  4011. * kind:
  4012. * The kind of drag sound to play.
  4013. *
  4014. * Availability:
  4015. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4016. * CarbonLib: in CarbonLib 1.0 and later
  4017. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4018. }
  4019. function BeginThemeDragSound( kind: ThemeDragSoundKind ): OSStatus; external name '_BeginThemeDragSound';
  4020. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4021. {
  4022. * EndThemeDragSound()
  4023. *
  4024. * Summary:
  4025. * Stops playing a theme-compliant sound to indicate that a drag is
  4026. * occuring.
  4027. *
  4028. * Discussion:
  4029. * This API should only be called after BeginThemeDragSound has been
  4030. * called.
  4031. *
  4032. * Mac OS X threading:
  4033. * Not thread safe
  4034. *
  4035. * Availability:
  4036. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4037. * CarbonLib: in CarbonLib 1.0 and later
  4038. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4039. }
  4040. function EndThemeDragSound: OSStatus; external name '_EndThemeDragSound';
  4041. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4042. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ PRIMITIVES ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  4043. {
  4044. * DrawThemeTickMark() *** DEPRECATED ***
  4045. *
  4046. * Deprecated:
  4047. * On Mac OS X 10.3 and later, use HIThemeDrawTickMark.
  4048. *
  4049. * Summary:
  4050. * Draws a tick mark theme primitive.
  4051. *
  4052. * Mac OS X threading:
  4053. * Not thread safe
  4054. *
  4055. * Availability:
  4056. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4057. * CarbonLib: in CarbonLib 1.0 and later
  4058. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4059. }
  4060. function DrawThemeTickMark( const (*var*) bounds: Rect; state: ThemeDrawState ): OSStatus; external name '_DrawThemeTickMark';
  4061. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4062. {
  4063. * DrawThemeChasingArrows() *** DEPRECATED ***
  4064. *
  4065. * Deprecated:
  4066. * On Mac OS X 10.3 and later, use HIThemeDrawChasingArrows.
  4067. *
  4068. * Summary:
  4069. * Draws a chasing arrows theme primitive.
  4070. *
  4071. * Mac OS X threading:
  4072. * Not thread safe
  4073. *
  4074. * Availability:
  4075. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4076. * CarbonLib: in CarbonLib 1.0 and later
  4077. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4078. }
  4079. function DrawThemeChasingArrows( const (*var*) bounds: Rect; theIndex: UInt32; state: ThemeDrawState; eraseProc: ThemeEraseUPP { can be NULL }; eraseData: URefCon ): OSStatus; external name '_DrawThemeChasingArrows';
  4080. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4081. {
  4082. * DrawThemePopupArrow() *** DEPRECATED ***
  4083. *
  4084. * Deprecated:
  4085. * On Mac OS X 10.3 and later, use HIThemeDrawPopupArrow.
  4086. *
  4087. * Summary:
  4088. * Draws a popup arrow theme primitive.
  4089. *
  4090. * Mac OS X threading:
  4091. * Not thread safe
  4092. *
  4093. * Availability:
  4094. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4095. * CarbonLib: in CarbonLib 1.0 and later
  4096. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4097. }
  4098. function DrawThemePopupArrow( const (*var*) bounds: Rect; orientation: ThemeArrowOrientation; size: ThemePopupArrowSize; state: ThemeDrawState; eraseProc: ThemeEraseUPP { can be NULL }; eraseData: URefCon ): OSStatus; external name '_DrawThemePopupArrow';
  4099. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4100. {
  4101. * DrawThemeStandaloneGrowBox() *** DEPRECATED ***
  4102. *
  4103. * Deprecated:
  4104. * On Mac OS X 10.3 and later, use HIThemeDrawGrowBox.
  4105. *
  4106. * Summary:
  4107. * Draws a grow box theme primitive that is designed to be detached
  4108. * from the window frame.
  4109. *
  4110. * Mac OS X threading:
  4111. * Not thread safe
  4112. *
  4113. * Availability:
  4114. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4115. * CarbonLib: in CarbonLib 1.0 and later
  4116. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4117. }
  4118. function DrawThemeStandaloneGrowBox( origin: Point; growDirection: ThemeGrowDirection; isSmall: Boolean; state: ThemeDrawState ): OSStatus; external name '_DrawThemeStandaloneGrowBox';
  4119. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4120. {
  4121. * DrawThemeStandaloneNoGrowBox() *** DEPRECATED ***
  4122. *
  4123. * Deprecated:
  4124. * On Mac OS X 10.3 and later, use HIThemeDrawGrowBox.
  4125. *
  4126. * Summary:
  4127. * Draws a blank area that can be used to fill in the corner of two
  4128. * scrollbars, when no grow box is required.
  4129. *
  4130. * Mac OS X threading:
  4131. * Not thread safe
  4132. *
  4133. * Availability:
  4134. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4135. * CarbonLib: in CarbonLib 1.0 and later
  4136. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4137. }
  4138. function DrawThemeStandaloneNoGrowBox( origin: Point; growDirection: ThemeGrowDirection; isSmall: Boolean; state: ThemeDrawState ): OSStatus; external name '_DrawThemeStandaloneNoGrowBox';
  4139. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4140. {
  4141. * GetThemeStandaloneGrowBoxBounds() *** DEPRECATED ***
  4142. *
  4143. * Deprecated:
  4144. * On Mac OS X 10.3 and later, use HIThemeGetGrowBoxBounds.
  4145. *
  4146. * Summary:
  4147. * Retrieves the bounds of a standalone grow box theme primitive.
  4148. *
  4149. * Mac OS X threading:
  4150. * Not thread safe
  4151. *
  4152. * Availability:
  4153. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4154. * CarbonLib: in CarbonLib 1.0 and later
  4155. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4156. }
  4157. function GetThemeStandaloneGrowBoxBounds( origin: Point; growDirection: ThemeGrowDirection; isSmall: Boolean; var bounds: Rect ): OSStatus; external name '_GetThemeStandaloneGrowBoxBounds';
  4158. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4159. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ DRAWING STATE ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  4160. { The following routines help you save and restore the drawing state in a theme-savvy manner. With }
  4161. { these weapons in your arsenal, there is no grafport you cannot tame. Use ThemeGetDrawingState to }
  4162. { get the current drawing settings for the current port. It will return an opaque object for you }
  4163. { to pass into SetThemeDrawingState later on. When you are finished with the state, call the }
  4164. { DisposeThemeDrawingState routine. You can alternatively pass true into the inDisposeNow }
  4165. { parameter of the SetThemeDrawingState routine. You can use this routine to copy the drawing }
  4166. { state from one port to another as well. }
  4167. { As of this writing (Mac OS 9.1 and Mac OS X), Get/SetThemeDrawingState will save and restore }
  4168. { this data in the port: }
  4169. { pen size }
  4170. { pen location }
  4171. { pen mode }
  4172. { pen Pattern and PixPat }
  4173. { background Pattern and PixPat }
  4174. { RGB foreground and background colors }
  4175. { text mode }
  4176. { pattern origin }
  4177. { Get/SetThemeDrawingState may save and restore additional port state in the future, but you can }
  4178. { rely on them to always save at least this port state. }
  4179. {
  4180. * NormalizeThemeDrawingState()
  4181. *
  4182. * Summary:
  4183. * Normalizes the drawing state of the current GrafPort.
  4184. *
  4185. * Mac OS X threading:
  4186. * Not thread safe
  4187. *
  4188. * Availability:
  4189. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4190. * CarbonLib: in CarbonLib 1.0 and later
  4191. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4192. }
  4193. function NormalizeThemeDrawingState: OSStatus; external name '_NormalizeThemeDrawingState';
  4194. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4195. {
  4196. * GetThemeDrawingState()
  4197. *
  4198. * Summary:
  4199. * Retrieves the drawing state of the current port.
  4200. *
  4201. * Mac OS X threading:
  4202. * Not thread safe
  4203. *
  4204. * Parameters:
  4205. *
  4206. * outState:
  4207. * On exit, contains the saved drawing state. This state must be
  4208. * released by calling either DisposeThemeDrawingState or
  4209. * SetThemeDrawingState with inDisposeNow equal to true.
  4210. *
  4211. * Availability:
  4212. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4213. * CarbonLib: in CarbonLib 1.0 and later
  4214. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4215. }
  4216. function GetThemeDrawingState( var outState: ThemeDrawingState ): OSStatus; external name '_GetThemeDrawingState';
  4217. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4218. {
  4219. * SetThemeDrawingState()
  4220. *
  4221. * Summary:
  4222. * Restores saved drawing state of the current port.
  4223. *
  4224. * Mac OS X threading:
  4225. * Not thread safe
  4226. *
  4227. * Parameters:
  4228. *
  4229. * inState:
  4230. * The state to restore.
  4231. *
  4232. * inDisposeNow:
  4233. * Whether the drawing state should be disposed by this API.
  4234. *
  4235. * Availability:
  4236. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4237. * CarbonLib: in CarbonLib 1.0 and later
  4238. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4239. }
  4240. function SetThemeDrawingState( inState: ThemeDrawingState; inDisposeNow: Boolean ): OSStatus; external name '_SetThemeDrawingState';
  4241. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4242. {
  4243. * DisposeThemeDrawingState()
  4244. *
  4245. * Summary:
  4246. * Releases the memory used by a saved drawing state object.
  4247. *
  4248. * Mac OS X threading:
  4249. * Not thread safe
  4250. *
  4251. * Parameters:
  4252. *
  4253. * inState:
  4254. * The state to release.
  4255. *
  4256. * Availability:
  4257. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4258. * CarbonLib: in CarbonLib 1.0 and later
  4259. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4260. }
  4261. function DisposeThemeDrawingState( inState: ThemeDrawingState ): OSStatus; external name '_DisposeThemeDrawingState';
  4262. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4263. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ MISCELLANEOUS ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  4264. {
  4265. * ApplyThemeBackground() *** DEPRECATED ***
  4266. *
  4267. * Deprecated:
  4268. * On Mac OS X 10.3 and later, use HIThemeApplyBackground.
  4269. *
  4270. * Summary:
  4271. * Sets up the background color and/or pattern in the current
  4272. * GrafPort so that an embedded control may erase its content bounds
  4273. * appropriately for its containing control.
  4274. *
  4275. * Discussion:
  4276. * This API is normally called by embedding controls in response to
  4277. * a kEventControlApplyBackground Carbon event. It is only needed
  4278. * when an embedding control is contained in a non-composited
  4279. * window. The standard controls call this API to ensure a correct
  4280. * background for the current theme prior to erasing their content
  4281. * bounds (in a non-composited window). You should pass in the same
  4282. * rectangle you would use if you were calling the drawing primitive
  4283. * that corresponds to the ThemeBackgroundKind that you provide to
  4284. * this API.
  4285. *
  4286. * Mac OS X threading:
  4287. * Not thread safe
  4288. *
  4289. * Parameters:
  4290. *
  4291. * inKind:
  4292. * The type of theme background for which to set the current
  4293. * GrafPort's background color and/or pattern.
  4294. *
  4295. * bounds:
  4296. * The bounds of the area that would be covered by the theme
  4297. * background. This parameter is used to determine the appropriate
  4298. * pattern offset, if necessary.
  4299. *
  4300. * inState:
  4301. * The theme drawing state that should be used by the theme
  4302. * background.
  4303. *
  4304. * inDepth:
  4305. * The depth of the GDevice containing the current GrafPort. On
  4306. * Mac OS X, this parameter is ignored, and you should always pass
  4307. * 32.
  4308. *
  4309. * inColorDev:
  4310. * Whether the GDevice containing the current GrafPort is color or
  4311. * black and white. On Mac OS X, this parameter is ignored, and
  4312. * you should always pass true.
  4313. *
  4314. * Availability:
  4315. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4316. * CarbonLib: in CarbonLib 1.0 and later
  4317. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4318. }
  4319. function ApplyThemeBackground( inKind: ThemeBackgroundKind; const (*var*) bounds: Rect; inState: ThemeDrawState; inDepth: SInt16; inColorDev: Boolean ): OSStatus; external name '_ApplyThemeBackground';
  4320. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4321. {
  4322. * IsValidAppearanceFileType() *** DEPRECATED ***
  4323. *
  4324. * Deprecated:
  4325. * This API always returns false on Mac OS X.
  4326. *
  4327. * Summary:
  4328. * Indicates whether a specified file type is used for theme files.
  4329. *
  4330. * Mac OS X threading:
  4331. * Not thread safe
  4332. *
  4333. * Availability:
  4334. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only] but deprecated in 10.5
  4335. * CarbonLib: in CarbonLib 1.0 and later
  4336. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4337. }
  4338. function IsValidAppearanceFileType( fileType: OSType ): Boolean; external name '_IsValidAppearanceFileType';
  4339. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER_BUT_DEPRECATED_IN_MAC_OS_X_VERSION_10_5 *)
  4340. {
  4341. * GetThemeBrushAsColor()
  4342. *
  4343. * Summary:
  4344. * Retrieves the color that most closely matches a theme brush.
  4345. *
  4346. * Discussion:
  4347. * Note that the color may not exactly reproduce the theme brush,
  4348. * since many brushes are drawn using a pattern rather than a solid
  4349. * color.
  4350. *
  4351. * Mac OS X threading:
  4352. * Not thread safe
  4353. *
  4354. * Parameters:
  4355. *
  4356. * inBrush:
  4357. * The brush whose color to retrieve.
  4358. *
  4359. * inDepth:
  4360. * The depth of the GDevice containing the current GrafPort. On
  4361. * Mac OS X, this parameter is ignored, and you should always pass
  4362. * 32.
  4363. *
  4364. * inColorDev:
  4365. * Whether the GDevice containing the current GrafPort is color or
  4366. * black and white. On Mac OS X, this parameter is ignored, and
  4367. * you should always pass true.
  4368. *
  4369. * outColor:
  4370. * On exit, contains the color that corresponds to the specified
  4371. * brush.
  4372. *
  4373. * Availability:
  4374. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4375. * CarbonLib: in CarbonLib 1.0 and later
  4376. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4377. }
  4378. function GetThemeBrushAsColor( inBrush: ThemeBrush; inDepth: SInt16; inColorDev: Boolean; var outColor: RGBColor ): OSStatus; external name '_GetThemeBrushAsColor';
  4379. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4380. {
  4381. * GetThemeTextColor()
  4382. *
  4383. * Summary:
  4384. * Retrieves the color that is used to draw a specified type of text.
  4385. *
  4386. * Mac OS X threading:
  4387. * Not thread safe
  4388. *
  4389. * Parameters:
  4390. *
  4391. * inColor:
  4392. * The text color to retrieve.
  4393. *
  4394. * inDepth:
  4395. * The depth of the GDevice containing the current GrafPort. On
  4396. * Mac OS X, this parameter is ignored, and you should always pass
  4397. * 32.
  4398. *
  4399. * inColorDev:
  4400. * Whether the GDevice containing the current GrafPort is color or
  4401. * black and white. On Mac OS X, this parameter is ignored, and
  4402. * you should always pass true.
  4403. *
  4404. * outColor:
  4405. * On exit, contains the specified text color.
  4406. *
  4407. * Availability:
  4408. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  4409. * CarbonLib: in CarbonLib 1.0 and later
  4410. * Non-Carbon CFM: in AppearanceLib 1.1 and later
  4411. }
  4412. function GetThemeTextColor( inColor: ThemeTextColor; inDepth: SInt16; inColorDev: Boolean; var outColor: RGBColor ): OSStatus; external name '_GetThemeTextColor';
  4413. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  4414. {--------------------------------------- MOVED ROUTINES -------------------------------------------}
  4415. { The following routines have been moved to HITheme.h }
  4416. { GetThemeMenuSeparatorHeight }
  4417. { GetThemeMenuItemExtra }
  4418. { GetThemeMenuTitleExtra }
  4419. { GetThemeMetric }
  4420. { CopyThemeIdentifier }
  4421. {--------------------------------------------------------------------------------------------------}
  4422. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ BEGIN CARBON ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  4423. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  4424. { Obsolete symbolic names }
  4425. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  4426. { Obsolete error codes - use the new ones, s'il vous plait / kudasai }
  4427. {$endc} {not TARGET_CPU_64}
  4428. const
  4429. appearanceBadBrushIndexErr = themeInvalidBrushErr; { pattern index invalid }
  4430. appearanceProcessRegisteredErr = themeProcessRegisteredErr;
  4431. appearanceProcessNotRegisteredErr = themeProcessNotRegisteredErr;
  4432. appearanceBadTextColorIndexErr = themeBadTextColorErr;
  4433. appearanceThemeHasNoAccents = themeHasNoAccentsErr;
  4434. appearanceBadCursorIndexErr = themeBadCursorIndexErr;
  4435. const
  4436. kThemeActiveDialogBackgroundBrush = kThemeBrushDialogBackgroundActive;
  4437. kThemeInactiveDialogBackgroundBrush = kThemeBrushDialogBackgroundInactive;
  4438. kThemeActiveAlertBackgroundBrush = kThemeBrushAlertBackgroundActive;
  4439. kThemeInactiveAlertBackgroundBrush = kThemeBrushAlertBackgroundInactive;
  4440. kThemeActiveModelessDialogBackgroundBrush = kThemeBrushModelessDialogBackgroundActive;
  4441. kThemeInactiveModelessDialogBackgroundBrush = kThemeBrushModelessDialogBackgroundInactive;
  4442. kThemeActiveUtilityWindowBackgroundBrush = kThemeBrushUtilityWindowBackgroundActive;
  4443. kThemeInactiveUtilityWindowBackgroundBrush = kThemeBrushUtilityWindowBackgroundInactive;
  4444. kThemeListViewSortColumnBackgroundBrush = kThemeBrushListViewSortColumnBackground;
  4445. kThemeListViewBackgroundBrush = kThemeBrushListViewBackground;
  4446. kThemeIconLabelBackgroundBrush = kThemeBrushIconLabelBackground;
  4447. kThemeListViewSeparatorBrush = kThemeBrushListViewSeparator;
  4448. kThemeChasingArrowsBrush = kThemeBrushChasingArrows;
  4449. kThemeDragHiliteBrush = kThemeBrushDragHilite;
  4450. kThemeDocumentWindowBackgroundBrush = kThemeBrushDocumentWindowBackground;
  4451. kThemeFinderWindowBackgroundBrush = kThemeBrushFinderWindowBackground;
  4452. const
  4453. kThemeActiveScrollBarDelimiterBrush = kThemeBrushScrollBarDelimiterActive;
  4454. kThemeInactiveScrollBarDelimiterBrush = kThemeBrushScrollBarDelimiterInactive;
  4455. kThemeFocusHighlightBrush = kThemeBrushFocusHighlight;
  4456. kThemeActivePopupArrowBrush = kThemeBrushPopupArrowActive;
  4457. kThemePressedPopupArrowBrush = kThemeBrushPopupArrowPressed;
  4458. kThemeInactivePopupArrowBrush = kThemeBrushPopupArrowInactive;
  4459. kThemeAppleGuideCoachmarkBrush = kThemeBrushAppleGuideCoachmark;
  4460. const
  4461. kThemeActiveDialogTextColor = kThemeTextColorDialogActive;
  4462. kThemeInactiveDialogTextColor = kThemeTextColorDialogInactive;
  4463. kThemeActiveAlertTextColor = kThemeTextColorAlertActive;
  4464. kThemeInactiveAlertTextColor = kThemeTextColorAlertInactive;
  4465. kThemeActiveModelessDialogTextColor = kThemeTextColorModelessDialogActive;
  4466. kThemeInactiveModelessDialogTextColor = kThemeTextColorModelessDialogInactive;
  4467. kThemeActiveWindowHeaderTextColor = kThemeTextColorWindowHeaderActive;
  4468. kThemeInactiveWindowHeaderTextColor = kThemeTextColorWindowHeaderInactive;
  4469. kThemeActivePlacardTextColor = kThemeTextColorPlacardActive;
  4470. kThemeInactivePlacardTextColor = kThemeTextColorPlacardInactive;
  4471. kThemePressedPlacardTextColor = kThemeTextColorPlacardPressed;
  4472. kThemeActivePushButtonTextColor = kThemeTextColorPushButtonActive;
  4473. kThemeInactivePushButtonTextColor = kThemeTextColorPushButtonInactive;
  4474. kThemePressedPushButtonTextColor = kThemeTextColorPushButtonPressed;
  4475. kThemeActiveBevelButtonTextColor = kThemeTextColorBevelButtonActive;
  4476. kThemeInactiveBevelButtonTextColor = kThemeTextColorBevelButtonInactive;
  4477. kThemePressedBevelButtonTextColor = kThemeTextColorBevelButtonPressed;
  4478. kThemeActivePopupButtonTextColor = kThemeTextColorPopupButtonActive;
  4479. kThemeInactivePopupButtonTextColor = kThemeTextColorPopupButtonInactive;
  4480. kThemePressedPopupButtonTextColor = kThemeTextColorPopupButtonPressed;
  4481. kThemeIconLabelTextColor = kThemeTextColorIconLabel;
  4482. kThemeListViewTextColor = kThemeTextColorListView;
  4483. const
  4484. kThemeActiveDocumentWindowTitleTextColor = kThemeTextColorDocumentWindowTitleActive;
  4485. kThemeInactiveDocumentWindowTitleTextColor = kThemeTextColorDocumentWindowTitleInactive;
  4486. kThemeActiveMovableModalWindowTitleTextColor = kThemeTextColorMovableModalWindowTitleActive;
  4487. kThemeInactiveMovableModalWindowTitleTextColor = kThemeTextColorMovableModalWindowTitleInactive;
  4488. kThemeActiveUtilityWindowTitleTextColor = kThemeTextColorUtilityWindowTitleActive;
  4489. kThemeInactiveUtilityWindowTitleTextColor = kThemeTextColorUtilityWindowTitleInactive;
  4490. kThemeActivePopupWindowTitleColor = kThemeTextColorPopupWindowTitleActive;
  4491. kThemeInactivePopupWindowTitleColor = kThemeTextColorPopupWindowTitleInactive;
  4492. kThemeActiveRootMenuTextColor = kThemeTextColorRootMenuActive;
  4493. kThemeSelectedRootMenuTextColor = kThemeTextColorRootMenuSelected;
  4494. kThemeDisabledRootMenuTextColor = kThemeTextColorRootMenuDisabled;
  4495. kThemeActiveMenuItemTextColor = kThemeTextColorMenuItemActive;
  4496. kThemeSelectedMenuItemTextColor = kThemeTextColorMenuItemSelected;
  4497. kThemeDisabledMenuItemTextColor = kThemeTextColorMenuItemDisabled;
  4498. kThemeActivePopupLabelTextColor = kThemeTextColorPopupLabelActive;
  4499. kThemeInactivePopupLabelTextColor = kThemeTextColorPopupLabelInactive;
  4500. const
  4501. kAEThemeSwitch = kAEAppearanceChanged; { Event ID's: Theme Switched }
  4502. const
  4503. kThemeNoAdornment = kThemeAdornmentNone;
  4504. kThemeDefaultAdornment = kThemeAdornmentDefault;
  4505. kThemeFocusAdornment = kThemeAdornmentFocus;
  4506. kThemeRightToLeftAdornment = kThemeAdornmentRightToLeft;
  4507. kThemeDrawIndicatorOnly = kThemeAdornmentDrawIndicatorOnly;
  4508. const
  4509. kThemeBrushPassiveAreaFill = kThemeBrushStaticAreaFill;
  4510. const
  4511. kThemeScrollBar = kThemeMediumScrollBar;
  4512. kThemeSlider = kThemeMediumSlider;
  4513. kThemeProgressBar = kThemeMediumProgressBar;
  4514. kThemeIndeterminateBar = kThemeMediumIndeterminateBar;
  4515. {$endc} {TARGET_OS_MAC}
  4516. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  4517. end.
  4518. {$endc} {not MACOSALLINCLUDE}