Appearance.pas 155 KB

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