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