2 /* =========================== Module App =========================== */
9 #include "pymactoolbox.h"
11 #include <Appearance.h>
13 static PyObject
*App_Error
;
15 static PyObject
*App_RegisterAppearanceClient(_self
, _args
)
19 PyObject
*_res
= NULL
;
21 if (!PyArg_ParseTuple(_args
, ""))
23 _err
= RegisterAppearanceClient();
24 if (_err
!= noErr
) return PyMac_Error(_err
);
30 static PyObject
*App_UnregisterAppearanceClient(_self
, _args
)
34 PyObject
*_res
= NULL
;
36 if (!PyArg_ParseTuple(_args
, ""))
38 _err
= UnregisterAppearanceClient();
39 if (_err
!= noErr
) return PyMac_Error(_err
);
45 static PyObject
*App_SetThemePen(_self
, _args
)
49 PyObject
*_res
= NULL
;
53 Boolean inIsColorDevice
;
54 if (!PyArg_ParseTuple(_args
, "hhb",
59 _err
= SetThemePen(inBrush
,
62 if (_err
!= noErr
) return PyMac_Error(_err
);
68 static PyObject
*App_SetThemeBackground(_self
, _args
)
72 PyObject
*_res
= NULL
;
76 Boolean inIsColorDevice
;
77 if (!PyArg_ParseTuple(_args
, "hhb",
82 _err
= SetThemeBackground(inBrush
,
85 if (_err
!= noErr
) return PyMac_Error(_err
);
91 static PyObject
*App_SetThemeTextColor(_self
, _args
)
95 PyObject
*_res
= NULL
;
97 ThemeTextColor inColor
;
99 Boolean inIsColorDevice
;
100 if (!PyArg_ParseTuple(_args
, "hhb",
105 _err
= SetThemeTextColor(inColor
,
108 if (_err
!= noErr
) return PyMac_Error(_err
);
114 static PyObject
*App_SetThemeWindowBackground(_self
, _args
)
118 PyObject
*_res
= NULL
;
123 if (!PyArg_ParseTuple(_args
, "O&hb",
124 WinObj_Convert
, &inWindow
,
128 _err
= SetThemeWindowBackground(inWindow
,
131 if (_err
!= noErr
) return PyMac_Error(_err
);
137 static PyObject
*App_DrawThemeWindowHeader(_self
, _args
)
141 PyObject
*_res
= NULL
;
144 ThemeDrawState inState
;
145 if (!PyArg_ParseTuple(_args
, "O&l",
146 PyMac_GetRect
, &inRect
,
149 _err
= DrawThemeWindowHeader(&inRect
,
151 if (_err
!= noErr
) return PyMac_Error(_err
);
157 static PyObject
*App_DrawThemeWindowListViewHeader(_self
, _args
)
161 PyObject
*_res
= NULL
;
164 ThemeDrawState inState
;
165 if (!PyArg_ParseTuple(_args
, "O&l",
166 PyMac_GetRect
, &inRect
,
169 _err
= DrawThemeWindowListViewHeader(&inRect
,
171 if (_err
!= noErr
) return PyMac_Error(_err
);
177 static PyObject
*App_DrawThemePlacard(_self
, _args
)
181 PyObject
*_res
= NULL
;
184 ThemeDrawState inState
;
185 if (!PyArg_ParseTuple(_args
, "O&l",
186 PyMac_GetRect
, &inRect
,
189 _err
= DrawThemePlacard(&inRect
,
191 if (_err
!= noErr
) return PyMac_Error(_err
);
197 static PyObject
*App_DrawThemeEditTextFrame(_self
, _args
)
201 PyObject
*_res
= NULL
;
204 ThemeDrawState inState
;
205 if (!PyArg_ParseTuple(_args
, "O&l",
206 PyMac_GetRect
, &inRect
,
209 _err
= DrawThemeEditTextFrame(&inRect
,
211 if (_err
!= noErr
) return PyMac_Error(_err
);
217 static PyObject
*App_DrawThemeListBoxFrame(_self
, _args
)
221 PyObject
*_res
= NULL
;
224 ThemeDrawState inState
;
225 if (!PyArg_ParseTuple(_args
, "O&l",
226 PyMac_GetRect
, &inRect
,
229 _err
= DrawThemeListBoxFrame(&inRect
,
231 if (_err
!= noErr
) return PyMac_Error(_err
);
237 static PyObject
*App_DrawThemeFocusRect(_self
, _args
)
241 PyObject
*_res
= NULL
;
245 if (!PyArg_ParseTuple(_args
, "O&b",
246 PyMac_GetRect
, &inRect
,
249 _err
= DrawThemeFocusRect(&inRect
,
251 if (_err
!= noErr
) return PyMac_Error(_err
);
257 static PyObject
*App_DrawThemePrimaryGroup(_self
, _args
)
261 PyObject
*_res
= NULL
;
264 ThemeDrawState inState
;
265 if (!PyArg_ParseTuple(_args
, "O&l",
266 PyMac_GetRect
, &inRect
,
269 _err
= DrawThemePrimaryGroup(&inRect
,
271 if (_err
!= noErr
) return PyMac_Error(_err
);
277 static PyObject
*App_DrawThemeSecondaryGroup(_self
, _args
)
281 PyObject
*_res
= NULL
;
284 ThemeDrawState inState
;
285 if (!PyArg_ParseTuple(_args
, "O&l",
286 PyMac_GetRect
, &inRect
,
289 _err
= DrawThemeSecondaryGroup(&inRect
,
291 if (_err
!= noErr
) return PyMac_Error(_err
);
297 static PyObject
*App_DrawThemeSeparator(_self
, _args
)
301 PyObject
*_res
= NULL
;
304 ThemeDrawState inState
;
305 if (!PyArg_ParseTuple(_args
, "O&l",
306 PyMac_GetRect
, &inRect
,
309 _err
= DrawThemeSeparator(&inRect
,
311 if (_err
!= noErr
) return PyMac_Error(_err
);
317 static PyObject
*App_DrawThemeModelessDialogFrame(_self
, _args
)
321 PyObject
*_res
= NULL
;
324 ThemeDrawState inState
;
325 if (!PyArg_ParseTuple(_args
, "O&l",
326 PyMac_GetRect
, &inRect
,
329 _err
= DrawThemeModelessDialogFrame(&inRect
,
331 if (_err
!= noErr
) return PyMac_Error(_err
);
337 static PyObject
*App_DrawThemeGenericWell(_self
, _args
)
341 PyObject
*_res
= NULL
;
344 ThemeDrawState inState
;
345 Boolean inFillCenter
;
346 if (!PyArg_ParseTuple(_args
, "O&lb",
347 PyMac_GetRect
, &inRect
,
351 _err
= DrawThemeGenericWell(&inRect
,
354 if (_err
!= noErr
) return PyMac_Error(_err
);
360 static PyObject
*App_DrawThemeFocusRegion(_self
, _args
)
364 PyObject
*_res
= NULL
;
367 if (!PyArg_ParseTuple(_args
, "b",
370 _err
= DrawThemeFocusRegion((RgnHandle
)0,
372 if (_err
!= noErr
) return PyMac_Error(_err
);
378 static PyObject
*App_IsThemeInColor(_self
, _args
)
382 PyObject
*_res
= NULL
;
385 Boolean inIsColorDevice
;
386 if (!PyArg_ParseTuple(_args
, "hb",
390 _rv
= IsThemeInColor(inDepth
,
392 _res
= Py_BuildValue("b",
397 static PyObject
*App_GetThemeAccentColors(_self
, _args
)
401 PyObject
*_res
= NULL
;
403 CTabHandle outColors
;
404 if (!PyArg_ParseTuple(_args
, ""))
406 _err
= GetThemeAccentColors(&outColors
);
407 if (_err
!= noErr
) return PyMac_Error(_err
);
408 _res
= Py_BuildValue("O&",
409 ResObj_New
, outColors
);
413 static PyObject
*App_DrawThemeMenuBarBackground(_self
, _args
)
417 PyObject
*_res
= NULL
;
420 ThemeMenuBarState inState
;
422 if (!PyArg_ParseTuple(_args
, "O&Hl",
423 PyMac_GetRect
, &inBounds
,
427 _err
= DrawThemeMenuBarBackground(&inBounds
,
430 if (_err
!= noErr
) return PyMac_Error(_err
);
436 static PyObject
*App_GetThemeMenuBarHeight(_self
, _args
)
440 PyObject
*_res
= NULL
;
443 if (!PyArg_ParseTuple(_args
, ""))
445 _err
= GetThemeMenuBarHeight(&outHeight
);
446 if (_err
!= noErr
) return PyMac_Error(_err
);
447 _res
= Py_BuildValue("h",
452 static PyObject
*App_DrawThemeMenuBackground(_self
, _args
)
456 PyObject
*_res
= NULL
;
459 ThemeMenuType inMenuType
;
460 if (!PyArg_ParseTuple(_args
, "O&H",
461 PyMac_GetRect
, &inMenuRect
,
464 _err
= DrawThemeMenuBackground(&inMenuRect
,
466 if (_err
!= noErr
) return PyMac_Error(_err
);
472 static PyObject
*App_GetThemeMenuBackgroundRegion(_self
, _args
)
476 PyObject
*_res
= NULL
;
479 ThemeMenuType menuType
;
480 if (!PyArg_ParseTuple(_args
, "O&H",
481 PyMac_GetRect
, &inMenuRect
,
484 _err
= GetThemeMenuBackgroundRegion(&inMenuRect
,
487 if (_err
!= noErr
) return PyMac_Error(_err
);
493 static PyObject
*App_DrawThemeMenuSeparator(_self
, _args
)
497 PyObject
*_res
= NULL
;
500 if (!PyArg_ParseTuple(_args
, "O&",
501 PyMac_GetRect
, &inItemRect
))
503 _err
= DrawThemeMenuSeparator(&inItemRect
);
504 if (_err
!= noErr
) return PyMac_Error(_err
);
510 static PyObject
*App_GetThemeMenuSeparatorHeight(_self
, _args
)
514 PyObject
*_res
= NULL
;
517 if (!PyArg_ParseTuple(_args
, ""))
519 _err
= GetThemeMenuSeparatorHeight(&outHeight
);
520 if (_err
!= noErr
) return PyMac_Error(_err
);
521 _res
= Py_BuildValue("h",
526 static PyObject
*App_GetThemeMenuItemExtra(_self
, _args
)
530 PyObject
*_res
= NULL
;
532 ThemeMenuItemType inItemType
;
535 if (!PyArg_ParseTuple(_args
, "H",
538 _err
= GetThemeMenuItemExtra(inItemType
,
541 if (_err
!= noErr
) return PyMac_Error(_err
);
542 _res
= Py_BuildValue("hh",
548 static PyObject
*App_GetThemeMenuTitleExtra(_self
, _args
)
552 PyObject
*_res
= NULL
;
555 Boolean inIsSquished
;
556 if (!PyArg_ParseTuple(_args
, "b",
559 _err
= GetThemeMenuTitleExtra(&outWidth
,
561 if (_err
!= noErr
) return PyMac_Error(_err
);
562 _res
= Py_BuildValue("h",
567 static PyObject
*App_DrawThemeTabPane(_self
, _args
)
571 PyObject
*_res
= NULL
;
574 ThemeDrawState inState
;
575 if (!PyArg_ParseTuple(_args
, "O&l",
576 PyMac_GetRect
, &inRect
,
579 _err
= DrawThemeTabPane(&inRect
,
581 if (_err
!= noErr
) return PyMac_Error(_err
);
587 static PyObject
*App_GetThemeTabRegion(_self
, _args
)
591 PyObject
*_res
= NULL
;
594 ThemeTabStyle inStyle
;
595 ThemeTabDirection inDirection
;
596 if (!PyArg_ParseTuple(_args
, "O&HH",
597 PyMac_GetRect
, &inRect
,
601 _err
= GetThemeTabRegion(&inRect
,
605 if (_err
!= noErr
) return PyMac_Error(_err
);
611 static PyObject
*App_SetThemeCursor(_self
, _args
)
615 PyObject
*_res
= NULL
;
617 ThemeCursor inCursor
;
618 if (!PyArg_ParseTuple(_args
, "l",
621 _err
= SetThemeCursor(inCursor
);
622 if (_err
!= noErr
) return PyMac_Error(_err
);
628 static PyObject
*App_SetAnimatedThemeCursor(_self
, _args
)
632 PyObject
*_res
= NULL
;
634 ThemeCursor inCursor
;
635 UInt32 inAnimationStep
;
636 if (!PyArg_ParseTuple(_args
, "ll",
640 _err
= SetAnimatedThemeCursor(inCursor
,
642 if (_err
!= noErr
) return PyMac_Error(_err
);
648 static PyObject
*App_GetThemeScrollBarThumbStyle(_self
, _args
)
652 PyObject
*_res
= NULL
;
654 ThemeScrollBarThumbStyle outStyle
;
655 if (!PyArg_ParseTuple(_args
, ""))
657 _err
= GetThemeScrollBarThumbStyle(&outStyle
);
658 if (_err
!= noErr
) return PyMac_Error(_err
);
659 _res
= Py_BuildValue("H",
664 static PyObject
*App_GetThemeScrollBarArrowStyle(_self
, _args
)
668 PyObject
*_res
= NULL
;
670 ThemeScrollBarArrowStyle outStyle
;
671 if (!PyArg_ParseTuple(_args
, ""))
673 _err
= GetThemeScrollBarArrowStyle(&outStyle
);
674 if (_err
!= noErr
) return PyMac_Error(_err
);
675 _res
= Py_BuildValue("H",
680 static PyObject
*App_GetThemeCheckBoxStyle(_self
, _args
)
684 PyObject
*_res
= NULL
;
686 ThemeCheckBoxStyle outStyle
;
687 if (!PyArg_ParseTuple(_args
, ""))
689 _err
= GetThemeCheckBoxStyle(&outStyle
);
690 if (_err
!= noErr
) return PyMac_Error(_err
);
691 _res
= Py_BuildValue("H",
696 static PyObject
*App_UseThemeFont(_self
, _args
)
700 PyObject
*_res
= NULL
;
702 ThemeFontID inFontID
;
704 if (!PyArg_ParseTuple(_args
, "Hh",
708 _err
= UseThemeFont(inFontID
,
710 if (_err
!= noErr
) return PyMac_Error(_err
);
716 static PyObject
*App_DrawThemeScrollBarArrows(_self
, _args
)
720 PyObject
*_res
= NULL
;
723 ThemeTrackEnableState enableState
;
724 ThemeTrackPressState pressState
;
727 if (!PyArg_ParseTuple(_args
, "O&bbb",
728 PyMac_GetRect
, &bounds
,
733 _err
= DrawThemeScrollBarArrows(&bounds
,
738 if (_err
!= noErr
) return PyMac_Error(_err
);
739 _res
= Py_BuildValue("O&",
740 PyMac_BuildRect
, &trackBounds
);
744 static PyObject
*App_GetThemeScrollBarTrackRect(_self
, _args
)
748 PyObject
*_res
= NULL
;
751 ThemeTrackEnableState enableState
;
752 ThemeTrackPressState pressState
;
755 if (!PyArg_ParseTuple(_args
, "O&bbb",
756 PyMac_GetRect
, &bounds
,
761 _err
= GetThemeScrollBarTrackRect(&bounds
,
766 if (_err
!= noErr
) return PyMac_Error(_err
);
767 _res
= Py_BuildValue("O&",
768 PyMac_BuildRect
, &trackBounds
);
772 static PyObject
*App_HitTestThemeScrollBarArrows(_self
, _args
)
776 PyObject
*_res
= NULL
;
778 Rect scrollBarBounds
;
779 ThemeTrackEnableState enableState
;
780 ThemeTrackPressState pressState
;
784 ControlPartCode partcode
;
785 if (!PyArg_ParseTuple(_args
, "O&bbbO&",
786 PyMac_GetRect
, &scrollBarBounds
,
790 PyMac_GetPoint
, &ptHit
))
792 _rv
= HitTestThemeScrollBarArrows(&scrollBarBounds
,
799 _res
= Py_BuildValue("bO&h",
801 PyMac_BuildRect
, &trackBounds
,
806 static PyObject
*App_DrawThemeScrollBarDelimiters(_self
, _args
)
810 PyObject
*_res
= NULL
;
812 ThemeWindowType flavor
;
814 ThemeDrawState state
;
815 ThemeWindowAttributes attributes
;
816 if (!PyArg_ParseTuple(_args
, "HO&ll",
818 PyMac_GetRect
, &inContRect
,
822 _err
= DrawThemeScrollBarDelimiters(flavor
,
826 if (_err
!= noErr
) return PyMac_Error(_err
);
832 static PyObject
*App_PlayThemeSound(_self
, _args
)
836 PyObject
*_res
= NULL
;
839 if (!PyArg_ParseTuple(_args
, "O&",
840 PyMac_GetOSType
, &kind
))
842 _err
= PlayThemeSound(kind
);
843 if (_err
!= noErr
) return PyMac_Error(_err
);
849 static PyObject
*App_BeginThemeDragSound(_self
, _args
)
853 PyObject
*_res
= NULL
;
855 ThemeDragSoundKind kind
;
856 if (!PyArg_ParseTuple(_args
, "O&",
857 PyMac_GetOSType
, &kind
))
859 _err
= BeginThemeDragSound(kind
);
860 if (_err
!= noErr
) return PyMac_Error(_err
);
866 static PyObject
*App_EndThemeDragSound(_self
, _args
)
870 PyObject
*_res
= NULL
;
872 if (!PyArg_ParseTuple(_args
, ""))
874 _err
= EndThemeDragSound();
875 if (_err
!= noErr
) return PyMac_Error(_err
);
881 static PyObject
*App_DrawThemeTickMark(_self
, _args
)
885 PyObject
*_res
= NULL
;
888 ThemeDrawState state
;
889 if (!PyArg_ParseTuple(_args
, "O&l",
890 PyMac_GetRect
, &bounds
,
893 _err
= DrawThemeTickMark(&bounds
,
895 if (_err
!= noErr
) return PyMac_Error(_err
);
901 static PyObject
*App_DrawThemeStandaloneGrowBox(_self
, _args
)
905 PyObject
*_res
= NULL
;
908 ThemeGrowDirection growDirection
;
910 ThemeDrawState state
;
911 if (!PyArg_ParseTuple(_args
, "O&Hbl",
912 PyMac_GetPoint
, &origin
,
917 _err
= DrawThemeStandaloneGrowBox(origin
,
921 if (_err
!= noErr
) return PyMac_Error(_err
);
927 static PyObject
*App_DrawThemeStandaloneNoGrowBox(_self
, _args
)
931 PyObject
*_res
= NULL
;
934 ThemeGrowDirection growDirection
;
936 ThemeDrawState state
;
937 if (!PyArg_ParseTuple(_args
, "O&Hbl",
938 PyMac_GetPoint
, &origin
,
943 _err
= DrawThemeStandaloneNoGrowBox(origin
,
947 if (_err
!= noErr
) return PyMac_Error(_err
);
953 static PyObject
*App_GetThemeStandaloneGrowBoxBounds(_self
, _args
)
957 PyObject
*_res
= NULL
;
960 ThemeGrowDirection growDirection
;
963 if (!PyArg_ParseTuple(_args
, "O&Hb",
964 PyMac_GetPoint
, &origin
,
968 _err
= GetThemeStandaloneGrowBoxBounds(origin
,
972 if (_err
!= noErr
) return PyMac_Error(_err
);
973 _res
= Py_BuildValue("O&",
974 PyMac_BuildRect
, &bounds
);
978 static PyObject
*App_NormalizeThemeDrawingState(_self
, _args
)
982 PyObject
*_res
= NULL
;
984 if (!PyArg_ParseTuple(_args
, ""))
986 _err
= NormalizeThemeDrawingState();
987 if (_err
!= noErr
) return PyMac_Error(_err
);
993 static PyObject
*App_ApplyThemeBackground(_self
, _args
)
997 PyObject
*_res
= NULL
;
999 ThemeBackgroundKind inKind
;
1001 ThemeDrawState inState
;
1004 if (!PyArg_ParseTuple(_args
, "lO&lhb",
1006 PyMac_GetRect
, &bounds
,
1011 _err
= ApplyThemeBackground(inKind
,
1016 if (_err
!= noErr
) return PyMac_Error(_err
);
1022 static PyObject
*App_SetThemeTextColorForWindow(_self
, _args
)
1026 PyObject
*_res
= NULL
;
1032 if (!PyArg_ParseTuple(_args
, "O&bhb",
1033 WinObj_Convert
, &window
,
1038 _err
= SetThemeTextColorForWindow(window
,
1042 if (_err
!= noErr
) return PyMac_Error(_err
);
1048 static PyObject
*App_IsValidAppearanceFileType(_self
, _args
)
1052 PyObject
*_res
= NULL
;
1055 if (!PyArg_ParseTuple(_args
, "O&",
1056 PyMac_GetOSType
, &fileType
))
1058 _rv
= IsValidAppearanceFileType(fileType
);
1059 _res
= Py_BuildValue("b",
1064 static PyObject
*App_GetThemeBrushAsColor(_self
, _args
)
1068 PyObject
*_res
= NULL
;
1074 if (!PyArg_ParseTuple(_args
, "hhb",
1079 _err
= GetThemeBrushAsColor(inBrush
,
1083 if (_err
!= noErr
) return PyMac_Error(_err
);
1084 _res
= Py_BuildValue("O&",
1085 QdRGB_New
, &outColor
);
1089 static PyObject
*App_GetThemeTextColor(_self
, _args
)
1093 PyObject
*_res
= NULL
;
1095 ThemeTextColor inColor
;
1099 if (!PyArg_ParseTuple(_args
, "hhb",
1104 _err
= GetThemeTextColor(inColor
,
1108 if (_err
!= noErr
) return PyMac_Error(_err
);
1109 _res
= Py_BuildValue("O&",
1110 QdRGB_New
, &outColor
);
1114 static PyMethodDef App_methods
[] = {
1115 {"RegisterAppearanceClient", (PyCFunction
)App_RegisterAppearanceClient
, 1,
1117 {"UnregisterAppearanceClient", (PyCFunction
)App_UnregisterAppearanceClient
, 1,
1119 {"SetThemePen", (PyCFunction
)App_SetThemePen
, 1,
1120 "(ThemeBrush inBrush, SInt16 inDepth, Boolean inIsColorDevice) -> None"},
1121 {"SetThemeBackground", (PyCFunction
)App_SetThemeBackground
, 1,
1122 "(ThemeBrush inBrush, SInt16 inDepth, Boolean inIsColorDevice) -> None"},
1123 {"SetThemeTextColor", (PyCFunction
)App_SetThemeTextColor
, 1,
1124 "(ThemeTextColor inColor, SInt16 inDepth, Boolean inIsColorDevice) -> None"},
1125 {"SetThemeWindowBackground", (PyCFunction
)App_SetThemeWindowBackground
, 1,
1126 "(WindowPtr inWindow, ThemeBrush inBrush, Boolean inUpdate) -> None"},
1127 {"DrawThemeWindowHeader", (PyCFunction
)App_DrawThemeWindowHeader
, 1,
1128 "(Rect inRect, ThemeDrawState inState) -> None"},
1129 {"DrawThemeWindowListViewHeader", (PyCFunction
)App_DrawThemeWindowListViewHeader
, 1,
1130 "(Rect inRect, ThemeDrawState inState) -> None"},
1131 {"DrawThemePlacard", (PyCFunction
)App_DrawThemePlacard
, 1,
1132 "(Rect inRect, ThemeDrawState inState) -> None"},
1133 {"DrawThemeEditTextFrame", (PyCFunction
)App_DrawThemeEditTextFrame
, 1,
1134 "(Rect inRect, ThemeDrawState inState) -> None"},
1135 {"DrawThemeListBoxFrame", (PyCFunction
)App_DrawThemeListBoxFrame
, 1,
1136 "(Rect inRect, ThemeDrawState inState) -> None"},
1137 {"DrawThemeFocusRect", (PyCFunction
)App_DrawThemeFocusRect
, 1,
1138 "(Rect inRect, Boolean inHasFocus) -> None"},
1139 {"DrawThemePrimaryGroup", (PyCFunction
)App_DrawThemePrimaryGroup
, 1,
1140 "(Rect inRect, ThemeDrawState inState) -> None"},
1141 {"DrawThemeSecondaryGroup", (PyCFunction
)App_DrawThemeSecondaryGroup
, 1,
1142 "(Rect inRect, ThemeDrawState inState) -> None"},
1143 {"DrawThemeSeparator", (PyCFunction
)App_DrawThemeSeparator
, 1,
1144 "(Rect inRect, ThemeDrawState inState) -> None"},
1145 {"DrawThemeModelessDialogFrame", (PyCFunction
)App_DrawThemeModelessDialogFrame
, 1,
1146 "(Rect inRect, ThemeDrawState inState) -> None"},
1147 {"DrawThemeGenericWell", (PyCFunction
)App_DrawThemeGenericWell
, 1,
1148 "(Rect inRect, ThemeDrawState inState, Boolean inFillCenter) -> None"},
1149 {"DrawThemeFocusRegion", (PyCFunction
)App_DrawThemeFocusRegion
, 1,
1150 "(Boolean inHasFocus) -> None"},
1151 {"IsThemeInColor", (PyCFunction
)App_IsThemeInColor
, 1,
1152 "(SInt16 inDepth, Boolean inIsColorDevice) -> (Boolean _rv)"},
1153 {"GetThemeAccentColors", (PyCFunction
)App_GetThemeAccentColors
, 1,
1154 "() -> (CTabHandle outColors)"},
1155 {"DrawThemeMenuBarBackground", (PyCFunction
)App_DrawThemeMenuBarBackground
, 1,
1156 "(Rect inBounds, ThemeMenuBarState inState, UInt32 inAttributes) -> None"},
1157 {"GetThemeMenuBarHeight", (PyCFunction
)App_GetThemeMenuBarHeight
, 1,
1158 "() -> (SInt16 outHeight)"},
1159 {"DrawThemeMenuBackground", (PyCFunction
)App_DrawThemeMenuBackground
, 1,
1160 "(Rect inMenuRect, ThemeMenuType inMenuType) -> None"},
1161 {"GetThemeMenuBackgroundRegion", (PyCFunction
)App_GetThemeMenuBackgroundRegion
, 1,
1162 "(Rect inMenuRect, ThemeMenuType menuType) -> None"},
1163 {"DrawThemeMenuSeparator", (PyCFunction
)App_DrawThemeMenuSeparator
, 1,
1164 "(Rect inItemRect) -> None"},
1165 {"GetThemeMenuSeparatorHeight", (PyCFunction
)App_GetThemeMenuSeparatorHeight
, 1,
1166 "() -> (SInt16 outHeight)"},
1167 {"GetThemeMenuItemExtra", (PyCFunction
)App_GetThemeMenuItemExtra
, 1,
1168 "(ThemeMenuItemType inItemType) -> (SInt16 outHeight, SInt16 outWidth)"},
1169 {"GetThemeMenuTitleExtra", (PyCFunction
)App_GetThemeMenuTitleExtra
, 1,
1170 "(Boolean inIsSquished) -> (SInt16 outWidth)"},
1171 {"DrawThemeTabPane", (PyCFunction
)App_DrawThemeTabPane
, 1,
1172 "(Rect inRect, ThemeDrawState inState) -> None"},
1173 {"GetThemeTabRegion", (PyCFunction
)App_GetThemeTabRegion
, 1,
1174 "(Rect inRect, ThemeTabStyle inStyle, ThemeTabDirection inDirection) -> None"},
1175 {"SetThemeCursor", (PyCFunction
)App_SetThemeCursor
, 1,
1176 "(ThemeCursor inCursor) -> None"},
1177 {"SetAnimatedThemeCursor", (PyCFunction
)App_SetAnimatedThemeCursor
, 1,
1178 "(ThemeCursor inCursor, UInt32 inAnimationStep) -> None"},
1179 {"GetThemeScrollBarThumbStyle", (PyCFunction
)App_GetThemeScrollBarThumbStyle
, 1,
1180 "() -> (ThemeScrollBarThumbStyle outStyle)"},
1181 {"GetThemeScrollBarArrowStyle", (PyCFunction
)App_GetThemeScrollBarArrowStyle
, 1,
1182 "() -> (ThemeScrollBarArrowStyle outStyle)"},
1183 {"GetThemeCheckBoxStyle", (PyCFunction
)App_GetThemeCheckBoxStyle
, 1,
1184 "() -> (ThemeCheckBoxStyle outStyle)"},
1185 {"UseThemeFont", (PyCFunction
)App_UseThemeFont
, 1,
1186 "(ThemeFontID inFontID, ScriptCode inScript) -> None"},
1187 {"DrawThemeScrollBarArrows", (PyCFunction
)App_DrawThemeScrollBarArrows
, 1,
1188 "(Rect bounds, ThemeTrackEnableState enableState, ThemeTrackPressState pressState, Boolean isHoriz) -> (Rect trackBounds)"},
1189 {"GetThemeScrollBarTrackRect", (PyCFunction
)App_GetThemeScrollBarTrackRect
, 1,
1190 "(Rect bounds, ThemeTrackEnableState enableState, ThemeTrackPressState pressState, Boolean isHoriz) -> (Rect trackBounds)"},
1191 {"HitTestThemeScrollBarArrows", (PyCFunction
)App_HitTestThemeScrollBarArrows
, 1,
1192 "(Rect scrollBarBounds, ThemeTrackEnableState enableState, ThemeTrackPressState pressState, Boolean isHoriz, Point ptHit) -> (Boolean _rv, Rect trackBounds, ControlPartCode partcode)"},
1193 {"DrawThemeScrollBarDelimiters", (PyCFunction
)App_DrawThemeScrollBarDelimiters
, 1,
1194 "(ThemeWindowType flavor, Rect inContRect, ThemeDrawState state, ThemeWindowAttributes attributes) -> None"},
1195 {"PlayThemeSound", (PyCFunction
)App_PlayThemeSound
, 1,
1196 "(ThemeSoundKind kind) -> None"},
1197 {"BeginThemeDragSound", (PyCFunction
)App_BeginThemeDragSound
, 1,
1198 "(ThemeDragSoundKind kind) -> None"},
1199 {"EndThemeDragSound", (PyCFunction
)App_EndThemeDragSound
, 1,
1201 {"DrawThemeTickMark", (PyCFunction
)App_DrawThemeTickMark
, 1,
1202 "(Rect bounds, ThemeDrawState state) -> None"},
1203 {"DrawThemeStandaloneGrowBox", (PyCFunction
)App_DrawThemeStandaloneGrowBox
, 1,
1204 "(Point origin, ThemeGrowDirection growDirection, Boolean isSmall, ThemeDrawState state) -> None"},
1205 {"DrawThemeStandaloneNoGrowBox", (PyCFunction
)App_DrawThemeStandaloneNoGrowBox
, 1,
1206 "(Point origin, ThemeGrowDirection growDirection, Boolean isSmall, ThemeDrawState state) -> None"},
1207 {"GetThemeStandaloneGrowBoxBounds", (PyCFunction
)App_GetThemeStandaloneGrowBoxBounds
, 1,
1208 "(Point origin, ThemeGrowDirection growDirection, Boolean isSmall) -> (Rect bounds)"},
1209 {"NormalizeThemeDrawingState", (PyCFunction
)App_NormalizeThemeDrawingState
, 1,
1211 {"ApplyThemeBackground", (PyCFunction
)App_ApplyThemeBackground
, 1,
1212 "(ThemeBackgroundKind inKind, Rect bounds, ThemeDrawState inState, SInt16 inDepth, Boolean inColorDev) -> None"},
1213 {"SetThemeTextColorForWindow", (PyCFunction
)App_SetThemeTextColorForWindow
, 1,
1214 "(WindowPtr window, Boolean isActive, SInt16 depth, Boolean isColorDev) -> None"},
1215 {"IsValidAppearanceFileType", (PyCFunction
)App_IsValidAppearanceFileType
, 1,
1216 "(OSType fileType) -> (Boolean _rv)"},
1217 {"GetThemeBrushAsColor", (PyCFunction
)App_GetThemeBrushAsColor
, 1,
1218 "(ThemeBrush inBrush, SInt16 inDepth, Boolean inColorDev) -> (RGBColor outColor)"},
1219 {"GetThemeTextColor", (PyCFunction
)App_GetThemeTextColor
, 1,
1220 "(ThemeTextColor inColor, SInt16 inDepth, Boolean inColorDev) -> (RGBColor outColor)"},
1235 m
= Py_InitModule("App", App_methods
);
1236 d
= PyModule_GetDict(m
);
1237 App_Error
= PyMac_GetOSErrException();
1238 if (App_Error
== NULL
||
1239 PyDict_SetItemString(d
, "Error", App_Error
) != 0)
1240 Py_FatalError("can't initialize App.Error");
1243 /* ========================= End module App ========================= */