ยปCore Development>Code coverage>Mac/Modules/app/_Appmodule.c

Python code coverage for Mac/Modules/app/_Appmodule.c

#countcontent
1n/a
2n/a/* ========================== Module _App =========================== */
3n/a
4n/a#include "Python.h"
5n/a
6n/a#ifndef __LP64__
7n/a /* Carbon GUI stuff, not available in 64-bit mode */
8n/a
9n/a
10n/a#include "pymactoolbox.h"
11n/a
12n/a/* Macro to test whether a weak-loaded CFM function exists */
13n/a#define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
14n/a PyErr_SetString(PyExc_NotImplementedError, \
15n/a "Not available in this shared library/OS version"); \
16n/a return NULL; \
17n/a }} while(0)
18n/a
19n/a
20n/a#include <Carbon/Carbon.h>
21n/a
22n/a
23n/astatic int ThemeButtonDrawInfo_Convert(PyObject *v, ThemeButtonDrawInfo *p_itself)
24n/a{
25n/a return PyArg_Parse(v, "(iHH)", &p_itself->state, &p_itself->value, &p_itself->adornment);
26n/a}
27n/a
28n/a
29n/astatic PyObject *App_Error;
30n/a
31n/a/* ----------------- Object type ThemeDrawingState ------------------ */
32n/a
33n/aPyTypeObject ThemeDrawingState_Type;
34n/a
35n/a#define ThemeDrawingStateObj_Check(x) ((x)->ob_type == &ThemeDrawingState_Type || PyObject_TypeCheck((x), &ThemeDrawingState_Type))
36n/a
37n/atypedef struct ThemeDrawingStateObject {
38n/a PyObject_HEAD
39n/a ThemeDrawingState ob_itself;
40n/a} ThemeDrawingStateObject;
41n/a
42n/aPyObject *ThemeDrawingStateObj_New(ThemeDrawingState itself)
43n/a{
44n/a ThemeDrawingStateObject *it;
45n/a it = PyObject_NEW(ThemeDrawingStateObject, &ThemeDrawingState_Type);
46n/a if (it == NULL) return NULL;
47n/a it->ob_itself = itself;
48n/a return (PyObject *)it;
49n/a}
50n/a
51n/aint ThemeDrawingStateObj_Convert(PyObject *v, ThemeDrawingState *p_itself)
52n/a{
53n/a if (!ThemeDrawingStateObj_Check(v))
54n/a {
55n/a PyErr_SetString(PyExc_TypeError, "ThemeDrawingState required");
56n/a return 0;
57n/a }
58n/a *p_itself = ((ThemeDrawingStateObject *)v)->ob_itself;
59n/a return 1;
60n/a}
61n/a
62n/astatic void ThemeDrawingStateObj_dealloc(ThemeDrawingStateObject *self)
63n/a{
64n/a /* Cleanup of self->ob_itself goes here */
65n/a self->ob_type->tp_free((PyObject *)self);
66n/a}
67n/a
68n/astatic PyObject *ThemeDrawingStateObj_SetThemeDrawingState(ThemeDrawingStateObject *_self, PyObject *_args)
69n/a{
70n/a PyObject *_res = NULL;
71n/a OSStatus _rv;
72n/a Boolean inDisposeNow;
73n/a#ifndef SetThemeDrawingState
74n/a PyMac_PRECHECK(SetThemeDrawingState);
75n/a#endif
76n/a if (!PyArg_ParseTuple(_args, "b",
77n/a &inDisposeNow))
78n/a return NULL;
79n/a _rv = SetThemeDrawingState(_self->ob_itself,
80n/a inDisposeNow);
81n/a _res = Py_BuildValue("l",
82n/a _rv);
83n/a return _res;
84n/a}
85n/a
86n/astatic PyObject *ThemeDrawingStateObj_DisposeThemeDrawingState(ThemeDrawingStateObject *_self, PyObject *_args)
87n/a{
88n/a PyObject *_res = NULL;
89n/a OSStatus _rv;
90n/a#ifndef DisposeThemeDrawingState
91n/a PyMac_PRECHECK(DisposeThemeDrawingState);
92n/a#endif
93n/a if (!PyArg_ParseTuple(_args, ""))
94n/a return NULL;
95n/a _rv = DisposeThemeDrawingState(_self->ob_itself);
96n/a _res = Py_BuildValue("l",
97n/a _rv);
98n/a return _res;
99n/a}
100n/a
101n/astatic PyMethodDef ThemeDrawingStateObj_methods[] = {
102n/a {"SetThemeDrawingState", (PyCFunction)ThemeDrawingStateObj_SetThemeDrawingState, 1,
103n/a PyDoc_STR("(Boolean inDisposeNow) -> (OSStatus _rv)")},
104n/a {"DisposeThemeDrawingState", (PyCFunction)ThemeDrawingStateObj_DisposeThemeDrawingState, 1,
105n/a PyDoc_STR("() -> (OSStatus _rv)")},
106n/a {NULL, NULL, 0}
107n/a};
108n/a
109n/a#define ThemeDrawingStateObj_getsetlist NULL
110n/a
111n/a
112n/a#define ThemeDrawingStateObj_compare NULL
113n/a
114n/a#define ThemeDrawingStateObj_repr NULL
115n/a
116n/a#define ThemeDrawingStateObj_hash NULL
117n/a#define ThemeDrawingStateObj_tp_init 0
118n/a
119n/a#define ThemeDrawingStateObj_tp_alloc PyType_GenericAlloc
120n/a
121n/astatic PyObject *ThemeDrawingStateObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
122n/a{
123n/a PyObject *_self;
124n/a ThemeDrawingState itself;
125n/a char *kw[] = {"itself", 0};
126n/a
127n/a if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, ThemeDrawingStateObj_Convert, &itself)) return NULL;
128n/a if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
129n/a ((ThemeDrawingStateObject *)_self)->ob_itself = itself;
130n/a return _self;
131n/a}
132n/a
133n/a#define ThemeDrawingStateObj_tp_free PyObject_Del
134n/a
135n/a
136n/aPyTypeObject ThemeDrawingState_Type = {
137n/a PyObject_HEAD_INIT(NULL)
138n/a 0, /*ob_size*/
139n/a "_App.ThemeDrawingState", /*tp_name*/
140n/a sizeof(ThemeDrawingStateObject), /*tp_basicsize*/
141n/a 0, /*tp_itemsize*/
142n/a /* methods */
143n/a (destructor) ThemeDrawingStateObj_dealloc, /*tp_dealloc*/
144n/a 0, /*tp_print*/
145n/a (getattrfunc)0, /*tp_getattr*/
146n/a (setattrfunc)0, /*tp_setattr*/
147n/a (cmpfunc) ThemeDrawingStateObj_compare, /*tp_compare*/
148n/a (reprfunc) ThemeDrawingStateObj_repr, /*tp_repr*/
149n/a (PyNumberMethods *)0, /* tp_as_number */
150n/a (PySequenceMethods *)0, /* tp_as_sequence */
151n/a (PyMappingMethods *)0, /* tp_as_mapping */
152n/a (hashfunc) ThemeDrawingStateObj_hash, /*tp_hash*/
153n/a 0, /*tp_call*/
154n/a 0, /*tp_str*/
155n/a PyObject_GenericGetAttr, /*tp_getattro*/
156n/a PyObject_GenericSetAttr, /*tp_setattro */
157n/a 0, /*tp_as_buffer*/
158n/a Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
159n/a 0, /*tp_doc*/
160n/a 0, /*tp_traverse*/
161n/a 0, /*tp_clear*/
162n/a 0, /*tp_richcompare*/
163n/a 0, /*tp_weaklistoffset*/
164n/a 0, /*tp_iter*/
165n/a 0, /*tp_iternext*/
166n/a ThemeDrawingStateObj_methods, /* tp_methods */
167n/a 0, /*tp_members*/
168n/a ThemeDrawingStateObj_getsetlist, /*tp_getset*/
169n/a 0, /*tp_base*/
170n/a 0, /*tp_dict*/
171n/a 0, /*tp_descr_get*/
172n/a 0, /*tp_descr_set*/
173n/a 0, /*tp_dictoffset*/
174n/a ThemeDrawingStateObj_tp_init, /* tp_init */
175n/a ThemeDrawingStateObj_tp_alloc, /* tp_alloc */
176n/a ThemeDrawingStateObj_tp_new, /* tp_new */
177n/a ThemeDrawingStateObj_tp_free, /* tp_free */
178n/a};
179n/a
180n/a/* --------------- End object type ThemeDrawingState ---------------- */
181n/a
182n/a
183n/astatic PyObject *App_RegisterAppearanceClient(PyObject *_self, PyObject *_args)
184n/a{
185n/a PyObject *_res = NULL;
186n/a OSStatus _err;
187n/a#ifndef RegisterAppearanceClient
188n/a PyMac_PRECHECK(RegisterAppearanceClient);
189n/a#endif
190n/a if (!PyArg_ParseTuple(_args, ""))
191n/a return NULL;
192n/a _err = RegisterAppearanceClient();
193n/a if (_err != noErr) return PyMac_Error(_err);
194n/a Py_INCREF(Py_None);
195n/a _res = Py_None;
196n/a return _res;
197n/a}
198n/a
199n/astatic PyObject *App_UnregisterAppearanceClient(PyObject *_self, PyObject *_args)
200n/a{
201n/a PyObject *_res = NULL;
202n/a OSStatus _err;
203n/a#ifndef UnregisterAppearanceClient
204n/a PyMac_PRECHECK(UnregisterAppearanceClient);
205n/a#endif
206n/a if (!PyArg_ParseTuple(_args, ""))
207n/a return NULL;
208n/a _err = UnregisterAppearanceClient();
209n/a if (_err != noErr) return PyMac_Error(_err);
210n/a Py_INCREF(Py_None);
211n/a _res = Py_None;
212n/a return _res;
213n/a}
214n/a
215n/astatic PyObject *App_SetThemePen(PyObject *_self, PyObject *_args)
216n/a{
217n/a PyObject *_res = NULL;
218n/a OSStatus _err;
219n/a ThemeBrush inBrush;
220n/a SInt16 inDepth;
221n/a Boolean inIsColorDevice;
222n/a#ifndef SetThemePen
223n/a PyMac_PRECHECK(SetThemePen);
224n/a#endif
225n/a if (!PyArg_ParseTuple(_args, "hhb",
226n/a &inBrush,
227n/a &inDepth,
228n/a &inIsColorDevice))
229n/a return NULL;
230n/a _err = SetThemePen(inBrush,
231n/a inDepth,
232n/a inIsColorDevice);
233n/a if (_err != noErr) return PyMac_Error(_err);
234n/a Py_INCREF(Py_None);
235n/a _res = Py_None;
236n/a return _res;
237n/a}
238n/a
239n/astatic PyObject *App_SetThemeBackground(PyObject *_self, PyObject *_args)
240n/a{
241n/a PyObject *_res = NULL;
242n/a OSStatus _err;
243n/a ThemeBrush inBrush;
244n/a SInt16 inDepth;
245n/a Boolean inIsColorDevice;
246n/a#ifndef SetThemeBackground
247n/a PyMac_PRECHECK(SetThemeBackground);
248n/a#endif
249n/a if (!PyArg_ParseTuple(_args, "hhb",
250n/a &inBrush,
251n/a &inDepth,
252n/a &inIsColorDevice))
253n/a return NULL;
254n/a _err = SetThemeBackground(inBrush,
255n/a inDepth,
256n/a inIsColorDevice);
257n/a if (_err != noErr) return PyMac_Error(_err);
258n/a Py_INCREF(Py_None);
259n/a _res = Py_None;
260n/a return _res;
261n/a}
262n/a
263n/astatic PyObject *App_SetThemeTextColor(PyObject *_self, PyObject *_args)
264n/a{
265n/a PyObject *_res = NULL;
266n/a OSStatus _err;
267n/a ThemeTextColor inColor;
268n/a SInt16 inDepth;
269n/a Boolean inIsColorDevice;
270n/a#ifndef SetThemeTextColor
271n/a PyMac_PRECHECK(SetThemeTextColor);
272n/a#endif
273n/a if (!PyArg_ParseTuple(_args, "hhb",
274n/a &inColor,
275n/a &inDepth,
276n/a &inIsColorDevice))
277n/a return NULL;
278n/a _err = SetThemeTextColor(inColor,
279n/a inDepth,
280n/a inIsColorDevice);
281n/a if (_err != noErr) return PyMac_Error(_err);
282n/a Py_INCREF(Py_None);
283n/a _res = Py_None;
284n/a return _res;
285n/a}
286n/a
287n/astatic PyObject *App_SetThemeWindowBackground(PyObject *_self, PyObject *_args)
288n/a{
289n/a PyObject *_res = NULL;
290n/a OSStatus _err;
291n/a WindowPtr inWindow;
292n/a ThemeBrush inBrush;
293n/a Boolean inUpdate;
294n/a#ifndef SetThemeWindowBackground
295n/a PyMac_PRECHECK(SetThemeWindowBackground);
296n/a#endif
297n/a if (!PyArg_ParseTuple(_args, "O&hb",
298n/a WinObj_Convert, &inWindow,
299n/a &inBrush,
300n/a &inUpdate))
301n/a return NULL;
302n/a _err = SetThemeWindowBackground(inWindow,
303n/a inBrush,
304n/a inUpdate);
305n/a if (_err != noErr) return PyMac_Error(_err);
306n/a Py_INCREF(Py_None);
307n/a _res = Py_None;
308n/a return _res;
309n/a}
310n/a
311n/astatic PyObject *App_DrawThemeWindowHeader(PyObject *_self, PyObject *_args)
312n/a{
313n/a PyObject *_res = NULL;
314n/a OSStatus _err;
315n/a Rect inRect;
316n/a ThemeDrawState inState;
317n/a#ifndef DrawThemeWindowHeader
318n/a PyMac_PRECHECK(DrawThemeWindowHeader);
319n/a#endif
320n/a if (!PyArg_ParseTuple(_args, "O&l",
321n/a PyMac_GetRect, &inRect,
322n/a &inState))
323n/a return NULL;
324n/a _err = DrawThemeWindowHeader(&inRect,
325n/a inState);
326n/a if (_err != noErr) return PyMac_Error(_err);
327n/a Py_INCREF(Py_None);
328n/a _res = Py_None;
329n/a return _res;
330n/a}
331n/a
332n/astatic PyObject *App_DrawThemeWindowListViewHeader(PyObject *_self, PyObject *_args)
333n/a{
334n/a PyObject *_res = NULL;
335n/a OSStatus _err;
336n/a Rect inRect;
337n/a ThemeDrawState inState;
338n/a#ifndef DrawThemeWindowListViewHeader
339n/a PyMac_PRECHECK(DrawThemeWindowListViewHeader);
340n/a#endif
341n/a if (!PyArg_ParseTuple(_args, "O&l",
342n/a PyMac_GetRect, &inRect,
343n/a &inState))
344n/a return NULL;
345n/a _err = DrawThemeWindowListViewHeader(&inRect,
346n/a inState);
347n/a if (_err != noErr) return PyMac_Error(_err);
348n/a Py_INCREF(Py_None);
349n/a _res = Py_None;
350n/a return _res;
351n/a}
352n/a
353n/astatic PyObject *App_DrawThemePlacard(PyObject *_self, PyObject *_args)
354n/a{
355n/a PyObject *_res = NULL;
356n/a OSStatus _err;
357n/a Rect inRect;
358n/a ThemeDrawState inState;
359n/a#ifndef DrawThemePlacard
360n/a PyMac_PRECHECK(DrawThemePlacard);
361n/a#endif
362n/a if (!PyArg_ParseTuple(_args, "O&l",
363n/a PyMac_GetRect, &inRect,
364n/a &inState))
365n/a return NULL;
366n/a _err = DrawThemePlacard(&inRect,
367n/a inState);
368n/a if (_err != noErr) return PyMac_Error(_err);
369n/a Py_INCREF(Py_None);
370n/a _res = Py_None;
371n/a return _res;
372n/a}
373n/a
374n/astatic PyObject *App_DrawThemeEditTextFrame(PyObject *_self, PyObject *_args)
375n/a{
376n/a PyObject *_res = NULL;
377n/a OSStatus _err;
378n/a Rect inRect;
379n/a ThemeDrawState inState;
380n/a#ifndef DrawThemeEditTextFrame
381n/a PyMac_PRECHECK(DrawThemeEditTextFrame);
382n/a#endif
383n/a if (!PyArg_ParseTuple(_args, "O&l",
384n/a PyMac_GetRect, &inRect,
385n/a &inState))
386n/a return NULL;
387n/a _err = DrawThemeEditTextFrame(&inRect,
388n/a inState);
389n/a if (_err != noErr) return PyMac_Error(_err);
390n/a Py_INCREF(Py_None);
391n/a _res = Py_None;
392n/a return _res;
393n/a}
394n/a
395n/astatic PyObject *App_DrawThemeListBoxFrame(PyObject *_self, PyObject *_args)
396n/a{
397n/a PyObject *_res = NULL;
398n/a OSStatus _err;
399n/a Rect inRect;
400n/a ThemeDrawState inState;
401n/a#ifndef DrawThemeListBoxFrame
402n/a PyMac_PRECHECK(DrawThemeListBoxFrame);
403n/a#endif
404n/a if (!PyArg_ParseTuple(_args, "O&l",
405n/a PyMac_GetRect, &inRect,
406n/a &inState))
407n/a return NULL;
408n/a _err = DrawThemeListBoxFrame(&inRect,
409n/a inState);
410n/a if (_err != noErr) return PyMac_Error(_err);
411n/a Py_INCREF(Py_None);
412n/a _res = Py_None;
413n/a return _res;
414n/a}
415n/a
416n/astatic PyObject *App_DrawThemeFocusRect(PyObject *_self, PyObject *_args)
417n/a{
418n/a PyObject *_res = NULL;
419n/a OSStatus _err;
420n/a Rect inRect;
421n/a Boolean inHasFocus;
422n/a#ifndef DrawThemeFocusRect
423n/a PyMac_PRECHECK(DrawThemeFocusRect);
424n/a#endif
425n/a if (!PyArg_ParseTuple(_args, "O&b",
426n/a PyMac_GetRect, &inRect,
427n/a &inHasFocus))
428n/a return NULL;
429n/a _err = DrawThemeFocusRect(&inRect,
430n/a inHasFocus);
431n/a if (_err != noErr) return PyMac_Error(_err);
432n/a Py_INCREF(Py_None);
433n/a _res = Py_None;
434n/a return _res;
435n/a}
436n/a
437n/astatic PyObject *App_DrawThemePrimaryGroup(PyObject *_self, PyObject *_args)
438n/a{
439n/a PyObject *_res = NULL;
440n/a OSStatus _err;
441n/a Rect inRect;
442n/a ThemeDrawState inState;
443n/a#ifndef DrawThemePrimaryGroup
444n/a PyMac_PRECHECK(DrawThemePrimaryGroup);
445n/a#endif
446n/a if (!PyArg_ParseTuple(_args, "O&l",
447n/a PyMac_GetRect, &inRect,
448n/a &inState))
449n/a return NULL;
450n/a _err = DrawThemePrimaryGroup(&inRect,
451n/a inState);
452n/a if (_err != noErr) return PyMac_Error(_err);
453n/a Py_INCREF(Py_None);
454n/a _res = Py_None;
455n/a return _res;
456n/a}
457n/a
458n/astatic PyObject *App_DrawThemeSecondaryGroup(PyObject *_self, PyObject *_args)
459n/a{
460n/a PyObject *_res = NULL;
461n/a OSStatus _err;
462n/a Rect inRect;
463n/a ThemeDrawState inState;
464n/a#ifndef DrawThemeSecondaryGroup
465n/a PyMac_PRECHECK(DrawThemeSecondaryGroup);
466n/a#endif
467n/a if (!PyArg_ParseTuple(_args, "O&l",
468n/a PyMac_GetRect, &inRect,
469n/a &inState))
470n/a return NULL;
471n/a _err = DrawThemeSecondaryGroup(&inRect,
472n/a inState);
473n/a if (_err != noErr) return PyMac_Error(_err);
474n/a Py_INCREF(Py_None);
475n/a _res = Py_None;
476n/a return _res;
477n/a}
478n/a
479n/astatic PyObject *App_DrawThemeSeparator(PyObject *_self, PyObject *_args)
480n/a{
481n/a PyObject *_res = NULL;
482n/a OSStatus _err;
483n/a Rect inRect;
484n/a ThemeDrawState inState;
485n/a#ifndef DrawThemeSeparator
486n/a PyMac_PRECHECK(DrawThemeSeparator);
487n/a#endif
488n/a if (!PyArg_ParseTuple(_args, "O&l",
489n/a PyMac_GetRect, &inRect,
490n/a &inState))
491n/a return NULL;
492n/a _err = DrawThemeSeparator(&inRect,
493n/a inState);
494n/a if (_err != noErr) return PyMac_Error(_err);
495n/a Py_INCREF(Py_None);
496n/a _res = Py_None;
497n/a return _res;
498n/a}
499n/a
500n/astatic PyObject *App_DrawThemeModelessDialogFrame(PyObject *_self, PyObject *_args)
501n/a{
502n/a PyObject *_res = NULL;
503n/a OSStatus _err;
504n/a Rect inRect;
505n/a ThemeDrawState inState;
506n/a#ifndef DrawThemeModelessDialogFrame
507n/a PyMac_PRECHECK(DrawThemeModelessDialogFrame);
508n/a#endif
509n/a if (!PyArg_ParseTuple(_args, "O&l",
510n/a PyMac_GetRect, &inRect,
511n/a &inState))
512n/a return NULL;
513n/a _err = DrawThemeModelessDialogFrame(&inRect,
514n/a inState);
515n/a if (_err != noErr) return PyMac_Error(_err);
516n/a Py_INCREF(Py_None);
517n/a _res = Py_None;
518n/a return _res;
519n/a}
520n/a
521n/astatic PyObject *App_DrawThemeGenericWell(PyObject *_self, PyObject *_args)
522n/a{
523n/a PyObject *_res = NULL;
524n/a OSStatus _err;
525n/a Rect inRect;
526n/a ThemeDrawState inState;
527n/a Boolean inFillCenter;
528n/a#ifndef DrawThemeGenericWell
529n/a PyMac_PRECHECK(DrawThemeGenericWell);
530n/a#endif
531n/a if (!PyArg_ParseTuple(_args, "O&lb",
532n/a PyMac_GetRect, &inRect,
533n/a &inState,
534n/a &inFillCenter))
535n/a return NULL;
536n/a _err = DrawThemeGenericWell(&inRect,
537n/a inState,
538n/a inFillCenter);
539n/a if (_err != noErr) return PyMac_Error(_err);
540n/a Py_INCREF(Py_None);
541n/a _res = Py_None;
542n/a return _res;
543n/a}
544n/a
545n/astatic PyObject *App_DrawThemeFocusRegion(PyObject *_self, PyObject *_args)
546n/a{
547n/a PyObject *_res = NULL;
548n/a OSStatus _err;
549n/a Boolean inHasFocus;
550n/a#ifndef DrawThemeFocusRegion
551n/a PyMac_PRECHECK(DrawThemeFocusRegion);
552n/a#endif
553n/a if (!PyArg_ParseTuple(_args, "b",
554n/a &inHasFocus))
555n/a return NULL;
556n/a _err = DrawThemeFocusRegion((RgnHandle)0,
557n/a inHasFocus);
558n/a if (_err != noErr) return PyMac_Error(_err);
559n/a Py_INCREF(Py_None);
560n/a _res = Py_None;
561n/a return _res;
562n/a}
563n/a
564n/astatic PyObject *App_IsThemeInColor(PyObject *_self, PyObject *_args)
565n/a{
566n/a PyObject *_res = NULL;
567n/a Boolean _rv;
568n/a SInt16 inDepth;
569n/a Boolean inIsColorDevice;
570n/a#ifndef IsThemeInColor
571n/a PyMac_PRECHECK(IsThemeInColor);
572n/a#endif
573n/a if (!PyArg_ParseTuple(_args, "hb",
574n/a &inDepth,
575n/a &inIsColorDevice))
576n/a return NULL;
577n/a _rv = IsThemeInColor(inDepth,
578n/a inIsColorDevice);
579n/a _res = Py_BuildValue("b",
580n/a _rv);
581n/a return _res;
582n/a}
583n/a
584n/astatic PyObject *App_GetThemeAccentColors(PyObject *_self, PyObject *_args)
585n/a{
586n/a PyObject *_res = NULL;
587n/a OSStatus _err;
588n/a CTabHandle outColors;
589n/a#ifndef GetThemeAccentColors
590n/a PyMac_PRECHECK(GetThemeAccentColors);
591n/a#endif
592n/a if (!PyArg_ParseTuple(_args, ""))
593n/a return NULL;
594n/a _err = GetThemeAccentColors(&outColors);
595n/a if (_err != noErr) return PyMac_Error(_err);
596n/a _res = Py_BuildValue("O&",
597n/a ResObj_New, outColors);
598n/a return _res;
599n/a}
600n/a
601n/astatic PyObject *App_DrawThemeMenuBarBackground(PyObject *_self, PyObject *_args)
602n/a{
603n/a PyObject *_res = NULL;
604n/a OSStatus _err;
605n/a Rect inBounds;
606n/a ThemeMenuBarState inState;
607n/a UInt32 inAttributes;
608n/a#ifndef DrawThemeMenuBarBackground
609n/a PyMac_PRECHECK(DrawThemeMenuBarBackground);
610n/a#endif
611n/a if (!PyArg_ParseTuple(_args, "O&Hl",
612n/a PyMac_GetRect, &inBounds,
613n/a &inState,
614n/a &inAttributes))
615n/a return NULL;
616n/a _err = DrawThemeMenuBarBackground(&inBounds,
617n/a inState,
618n/a inAttributes);
619n/a if (_err != noErr) return PyMac_Error(_err);
620n/a Py_INCREF(Py_None);
621n/a _res = Py_None;
622n/a return _res;
623n/a}
624n/a
625n/astatic PyObject *App_GetThemeMenuBarHeight(PyObject *_self, PyObject *_args)
626n/a{
627n/a PyObject *_res = NULL;
628n/a OSStatus _err;
629n/a SInt16 outHeight;
630n/a#ifndef GetThemeMenuBarHeight
631n/a PyMac_PRECHECK(GetThemeMenuBarHeight);
632n/a#endif
633n/a if (!PyArg_ParseTuple(_args, ""))
634n/a return NULL;
635n/a _err = GetThemeMenuBarHeight(&outHeight);
636n/a if (_err != noErr) return PyMac_Error(_err);
637n/a _res = Py_BuildValue("h",
638n/a outHeight);
639n/a return _res;
640n/a}
641n/a
642n/astatic PyObject *App_DrawThemeMenuBackground(PyObject *_self, PyObject *_args)
643n/a{
644n/a PyObject *_res = NULL;
645n/a OSStatus _err;
646n/a Rect inMenuRect;
647n/a ThemeMenuType inMenuType;
648n/a#ifndef DrawThemeMenuBackground
649n/a PyMac_PRECHECK(DrawThemeMenuBackground);
650n/a#endif
651n/a if (!PyArg_ParseTuple(_args, "O&H",
652n/a PyMac_GetRect, &inMenuRect,
653n/a &inMenuType))
654n/a return NULL;
655n/a _err = DrawThemeMenuBackground(&inMenuRect,
656n/a inMenuType);
657n/a if (_err != noErr) return PyMac_Error(_err);
658n/a Py_INCREF(Py_None);
659n/a _res = Py_None;
660n/a return _res;
661n/a}
662n/a
663n/astatic PyObject *App_GetThemeMenuBackgroundRegion(PyObject *_self, PyObject *_args)
664n/a{
665n/a PyObject *_res = NULL;
666n/a OSStatus _err;
667n/a Rect inMenuRect;
668n/a ThemeMenuType menuType;
669n/a#ifndef GetThemeMenuBackgroundRegion
670n/a PyMac_PRECHECK(GetThemeMenuBackgroundRegion);
671n/a#endif
672n/a if (!PyArg_ParseTuple(_args, "O&H",
673n/a PyMac_GetRect, &inMenuRect,
674n/a &menuType))
675n/a return NULL;
676n/a _err = GetThemeMenuBackgroundRegion(&inMenuRect,
677n/a menuType,
678n/a (RgnHandle)0);
679n/a if (_err != noErr) return PyMac_Error(_err);
680n/a Py_INCREF(Py_None);
681n/a _res = Py_None;
682n/a return _res;
683n/a}
684n/a
685n/astatic PyObject *App_DrawThemeMenuSeparator(PyObject *_self, PyObject *_args)
686n/a{
687n/a PyObject *_res = NULL;
688n/a OSStatus _err;
689n/a Rect inItemRect;
690n/a#ifndef DrawThemeMenuSeparator
691n/a PyMac_PRECHECK(DrawThemeMenuSeparator);
692n/a#endif
693n/a if (!PyArg_ParseTuple(_args, "O&",
694n/a PyMac_GetRect, &inItemRect))
695n/a return NULL;
696n/a _err = DrawThemeMenuSeparator(&inItemRect);
697n/a if (_err != noErr) return PyMac_Error(_err);
698n/a Py_INCREF(Py_None);
699n/a _res = Py_None;
700n/a return _res;
701n/a}
702n/a
703n/astatic PyObject *App_GetThemeMenuSeparatorHeight(PyObject *_self, PyObject *_args)
704n/a{
705n/a PyObject *_res = NULL;
706n/a OSStatus _err;
707n/a SInt16 outHeight;
708n/a#ifndef GetThemeMenuSeparatorHeight
709n/a PyMac_PRECHECK(GetThemeMenuSeparatorHeight);
710n/a#endif
711n/a if (!PyArg_ParseTuple(_args, ""))
712n/a return NULL;
713n/a _err = GetThemeMenuSeparatorHeight(&outHeight);
714n/a if (_err != noErr) return PyMac_Error(_err);
715n/a _res = Py_BuildValue("h",
716n/a outHeight);
717n/a return _res;
718n/a}
719n/a
720n/astatic PyObject *App_GetThemeMenuItemExtra(PyObject *_self, PyObject *_args)
721n/a{
722n/a PyObject *_res = NULL;
723n/a OSStatus _err;
724n/a ThemeMenuItemType inItemType;
725n/a SInt16 outHeight;
726n/a SInt16 outWidth;
727n/a#ifndef GetThemeMenuItemExtra
728n/a PyMac_PRECHECK(GetThemeMenuItemExtra);
729n/a#endif
730n/a if (!PyArg_ParseTuple(_args, "H",
731n/a &inItemType))
732n/a return NULL;
733n/a _err = GetThemeMenuItemExtra(inItemType,
734n/a &outHeight,
735n/a &outWidth);
736n/a if (_err != noErr) return PyMac_Error(_err);
737n/a _res = Py_BuildValue("hh",
738n/a outHeight,
739n/a outWidth);
740n/a return _res;
741n/a}
742n/a
743n/astatic PyObject *App_GetThemeMenuTitleExtra(PyObject *_self, PyObject *_args)
744n/a{
745n/a PyObject *_res = NULL;
746n/a OSStatus _err;
747n/a SInt16 outWidth;
748n/a Boolean inIsSquished;
749n/a#ifndef GetThemeMenuTitleExtra
750n/a PyMac_PRECHECK(GetThemeMenuTitleExtra);
751n/a#endif
752n/a if (!PyArg_ParseTuple(_args, "b",
753n/a &inIsSquished))
754n/a return NULL;
755n/a _err = GetThemeMenuTitleExtra(&outWidth,
756n/a inIsSquished);
757n/a if (_err != noErr) return PyMac_Error(_err);
758n/a _res = Py_BuildValue("h",
759n/a outWidth);
760n/a return _res;
761n/a}
762n/a
763n/astatic PyObject *App_DrawThemeTabPane(PyObject *_self, PyObject *_args)
764n/a{
765n/a PyObject *_res = NULL;
766n/a OSStatus _err;
767n/a Rect inRect;
768n/a ThemeDrawState inState;
769n/a#ifndef DrawThemeTabPane
770n/a PyMac_PRECHECK(DrawThemeTabPane);
771n/a#endif
772n/a if (!PyArg_ParseTuple(_args, "O&l",
773n/a PyMac_GetRect, &inRect,
774n/a &inState))
775n/a return NULL;
776n/a _err = DrawThemeTabPane(&inRect,
777n/a inState);
778n/a if (_err != noErr) return PyMac_Error(_err);
779n/a Py_INCREF(Py_None);
780n/a _res = Py_None;
781n/a return _res;
782n/a}
783n/a
784n/astatic PyObject *App_GetThemeTabRegion(PyObject *_self, PyObject *_args)
785n/a{
786n/a PyObject *_res = NULL;
787n/a OSStatus _err;
788n/a Rect inRect;
789n/a ThemeTabStyle inStyle;
790n/a ThemeTabDirection inDirection;
791n/a#ifndef GetThemeTabRegion
792n/a PyMac_PRECHECK(GetThemeTabRegion);
793n/a#endif
794n/a if (!PyArg_ParseTuple(_args, "O&HH",
795n/a PyMac_GetRect, &inRect,
796n/a &inStyle,
797n/a &inDirection))
798n/a return NULL;
799n/a _err = GetThemeTabRegion(&inRect,
800n/a inStyle,
801n/a inDirection,
802n/a (RgnHandle)0);
803n/a if (_err != noErr) return PyMac_Error(_err);
804n/a Py_INCREF(Py_None);
805n/a _res = Py_None;
806n/a return _res;
807n/a}
808n/a
809n/astatic PyObject *App_SetThemeCursor(PyObject *_self, PyObject *_args)
810n/a{
811n/a PyObject *_res = NULL;
812n/a OSStatus _err;
813n/a ThemeCursor inCursor;
814n/a#ifndef SetThemeCursor
815n/a PyMac_PRECHECK(SetThemeCursor);
816n/a#endif
817n/a if (!PyArg_ParseTuple(_args, "l",
818n/a &inCursor))
819n/a return NULL;
820n/a _err = SetThemeCursor(inCursor);
821n/a if (_err != noErr) return PyMac_Error(_err);
822n/a Py_INCREF(Py_None);
823n/a _res = Py_None;
824n/a return _res;
825n/a}
826n/a
827n/astatic PyObject *App_SetAnimatedThemeCursor(PyObject *_self, PyObject *_args)
828n/a{
829n/a PyObject *_res = NULL;
830n/a OSStatus _err;
831n/a ThemeCursor inCursor;
832n/a UInt32 inAnimationStep;
833n/a#ifndef SetAnimatedThemeCursor
834n/a PyMac_PRECHECK(SetAnimatedThemeCursor);
835n/a#endif
836n/a if (!PyArg_ParseTuple(_args, "ll",
837n/a &inCursor,
838n/a &inAnimationStep))
839n/a return NULL;
840n/a _err = SetAnimatedThemeCursor(inCursor,
841n/a inAnimationStep);
842n/a if (_err != noErr) return PyMac_Error(_err);
843n/a Py_INCREF(Py_None);
844n/a _res = Py_None;
845n/a return _res;
846n/a}
847n/a
848n/astatic PyObject *App_GetThemeScrollBarThumbStyle(PyObject *_self, PyObject *_args)
849n/a{
850n/a PyObject *_res = NULL;
851n/a OSStatus _err;
852n/a ThemeScrollBarThumbStyle outStyle;
853n/a#ifndef GetThemeScrollBarThumbStyle
854n/a PyMac_PRECHECK(GetThemeScrollBarThumbStyle);
855n/a#endif
856n/a if (!PyArg_ParseTuple(_args, ""))
857n/a return NULL;
858n/a _err = GetThemeScrollBarThumbStyle(&outStyle);
859n/a if (_err != noErr) return PyMac_Error(_err);
860n/a _res = Py_BuildValue("H",
861n/a outStyle);
862n/a return _res;
863n/a}
864n/a
865n/astatic PyObject *App_GetThemeScrollBarArrowStyle(PyObject *_self, PyObject *_args)
866n/a{
867n/a PyObject *_res = NULL;
868n/a OSStatus _err;
869n/a ThemeScrollBarArrowStyle outStyle;
870n/a#ifndef GetThemeScrollBarArrowStyle
871n/a PyMac_PRECHECK(GetThemeScrollBarArrowStyle);
872n/a#endif
873n/a if (!PyArg_ParseTuple(_args, ""))
874n/a return NULL;
875n/a _err = GetThemeScrollBarArrowStyle(&outStyle);
876n/a if (_err != noErr) return PyMac_Error(_err);
877n/a _res = Py_BuildValue("H",
878n/a outStyle);
879n/a return _res;
880n/a}
881n/a
882n/astatic PyObject *App_GetThemeCheckBoxStyle(PyObject *_self, PyObject *_args)
883n/a{
884n/a PyObject *_res = NULL;
885n/a OSStatus _err;
886n/a ThemeCheckBoxStyle outStyle;
887n/a#ifndef GetThemeCheckBoxStyle
888n/a PyMac_PRECHECK(GetThemeCheckBoxStyle);
889n/a#endif
890n/a if (!PyArg_ParseTuple(_args, ""))
891n/a return NULL;
892n/a _err = GetThemeCheckBoxStyle(&outStyle);
893n/a if (_err != noErr) return PyMac_Error(_err);
894n/a _res = Py_BuildValue("H",
895n/a outStyle);
896n/a return _res;
897n/a}
898n/a
899n/astatic PyObject *App_UseThemeFont(PyObject *_self, PyObject *_args)
900n/a{
901n/a PyObject *_res = NULL;
902n/a OSStatus _err;
903n/a ThemeFontID inFontID;
904n/a ScriptCode inScript;
905n/a#ifndef UseThemeFont
906n/a PyMac_PRECHECK(UseThemeFont);
907n/a#endif
908n/a if (!PyArg_ParseTuple(_args, "Hh",
909n/a &inFontID,
910n/a &inScript))
911n/a return NULL;
912n/a _err = UseThemeFont(inFontID,
913n/a inScript);
914n/a if (_err != noErr) return PyMac_Error(_err);
915n/a Py_INCREF(Py_None);
916n/a _res = Py_None;
917n/a return _res;
918n/a}
919n/a
920n/astatic PyObject *App_DrawThemeTextBox(PyObject *_self, PyObject *_args)
921n/a{
922n/a PyObject *_res = NULL;
923n/a OSStatus _err;
924n/a CFStringRef inString;
925n/a ThemeFontID inFontID;
926n/a ThemeDrawState inState;
927n/a Boolean inWrapToWidth;
928n/a Rect inBoundingBox;
929n/a SInt16 inJust;
930n/a#ifndef DrawThemeTextBox
931n/a PyMac_PRECHECK(DrawThemeTextBox);
932n/a#endif
933n/a if (!PyArg_ParseTuple(_args, "O&HlbO&h",
934n/a CFStringRefObj_Convert, &inString,
935n/a &inFontID,
936n/a &inState,
937n/a &inWrapToWidth,
938n/a PyMac_GetRect, &inBoundingBox,
939n/a &inJust))
940n/a return NULL;
941n/a _err = DrawThemeTextBox(inString,
942n/a inFontID,
943n/a inState,
944n/a inWrapToWidth,
945n/a &inBoundingBox,
946n/a inJust,
947n/a NULL);
948n/a if (_err != noErr) return PyMac_Error(_err);
949n/a Py_INCREF(Py_None);
950n/a _res = Py_None;
951n/a return _res;
952n/a}
953n/a
954n/astatic PyObject *App_TruncateThemeText(PyObject *_self, PyObject *_args)
955n/a{
956n/a PyObject *_res = NULL;
957n/a OSStatus _err;
958n/a CFMutableStringRef inString;
959n/a ThemeFontID inFontID;
960n/a ThemeDrawState inState;
961n/a SInt16 inPixelWidthLimit;
962n/a TruncCode inTruncWhere;
963n/a Boolean outTruncated;
964n/a#ifndef TruncateThemeText
965n/a PyMac_PRECHECK(TruncateThemeText);
966n/a#endif
967n/a if (!PyArg_ParseTuple(_args, "O&Hlhh",
968n/a CFMutableStringRefObj_Convert, &inString,
969n/a &inFontID,
970n/a &inState,
971n/a &inPixelWidthLimit,
972n/a &inTruncWhere))
973n/a return NULL;
974n/a _err = TruncateThemeText(inString,
975n/a inFontID,
976n/a inState,
977n/a inPixelWidthLimit,
978n/a inTruncWhere,
979n/a &outTruncated);
980n/a if (_err != noErr) return PyMac_Error(_err);
981n/a _res = Py_BuildValue("b",
982n/a outTruncated);
983n/a return _res;
984n/a}
985n/a
986n/astatic PyObject *App_GetThemeTextDimensions(PyObject *_self, PyObject *_args)
987n/a{
988n/a PyObject *_res = NULL;
989n/a OSStatus _err;
990n/a CFStringRef inString;
991n/a ThemeFontID inFontID;
992n/a ThemeDrawState inState;
993n/a Boolean inWrapToWidth;
994n/a Point ioBounds;
995n/a SInt16 outBaseline;
996n/a#ifndef GetThemeTextDimensions
997n/a PyMac_PRECHECK(GetThemeTextDimensions);
998n/a#endif
999n/a if (!PyArg_ParseTuple(_args, "O&HlbO&",
1000n/a CFStringRefObj_Convert, &inString,
1001n/a &inFontID,
1002n/a &inState,
1003n/a &inWrapToWidth,
1004n/a PyMac_GetPoint, &ioBounds))
1005n/a return NULL;
1006n/a _err = GetThemeTextDimensions(inString,
1007n/a inFontID,
1008n/a inState,
1009n/a inWrapToWidth,
1010n/a &ioBounds,
1011n/a &outBaseline);
1012n/a if (_err != noErr) return PyMac_Error(_err);
1013n/a _res = Py_BuildValue("O&h",
1014n/a PyMac_BuildPoint, ioBounds,
1015n/a outBaseline);
1016n/a return _res;
1017n/a}
1018n/a
1019n/astatic PyObject *App_GetThemeTextShadowOutset(PyObject *_self, PyObject *_args)
1020n/a{
1021n/a PyObject *_res = NULL;
1022n/a OSStatus _err;
1023n/a ThemeFontID inFontID;
1024n/a ThemeDrawState inState;
1025n/a Rect outOutset;
1026n/a#ifndef GetThemeTextShadowOutset
1027n/a PyMac_PRECHECK(GetThemeTextShadowOutset);
1028n/a#endif
1029n/a if (!PyArg_ParseTuple(_args, "Hl",
1030n/a &inFontID,
1031n/a &inState))
1032n/a return NULL;
1033n/a _err = GetThemeTextShadowOutset(inFontID,
1034n/a inState,
1035n/a &outOutset);
1036n/a if (_err != noErr) return PyMac_Error(_err);
1037n/a _res = Py_BuildValue("O&",
1038n/a PyMac_BuildRect, &outOutset);
1039n/a return _res;
1040n/a}
1041n/a
1042n/astatic PyObject *App_DrawThemeScrollBarArrows(PyObject *_self, PyObject *_args)
1043n/a{
1044n/a PyObject *_res = NULL;
1045n/a OSStatus _err;
1046n/a Rect bounds;
1047n/a ThemeTrackEnableState enableState;
1048n/a ThemeTrackPressState pressState;
1049n/a Boolean isHoriz;
1050n/a Rect trackBounds;
1051n/a#ifndef DrawThemeScrollBarArrows
1052n/a PyMac_PRECHECK(DrawThemeScrollBarArrows);
1053n/a#endif
1054n/a if (!PyArg_ParseTuple(_args, "O&bbb",
1055n/a PyMac_GetRect, &bounds,
1056n/a &enableState,
1057n/a &pressState,
1058n/a &isHoriz))
1059n/a return NULL;
1060n/a _err = DrawThemeScrollBarArrows(&bounds,
1061n/a enableState,
1062n/a pressState,
1063n/a isHoriz,
1064n/a &trackBounds);
1065n/a if (_err != noErr) return PyMac_Error(_err);
1066n/a _res = Py_BuildValue("O&",
1067n/a PyMac_BuildRect, &trackBounds);
1068n/a return _res;
1069n/a}
1070n/a
1071n/astatic PyObject *App_GetThemeScrollBarTrackRect(PyObject *_self, PyObject *_args)
1072n/a{
1073n/a PyObject *_res = NULL;
1074n/a OSStatus _err;
1075n/a Rect bounds;
1076n/a ThemeTrackEnableState enableState;
1077n/a ThemeTrackPressState pressState;
1078n/a Boolean isHoriz;
1079n/a Rect trackBounds;
1080n/a#ifndef GetThemeScrollBarTrackRect
1081n/a PyMac_PRECHECK(GetThemeScrollBarTrackRect);
1082n/a#endif
1083n/a if (!PyArg_ParseTuple(_args, "O&bbb",
1084n/a PyMac_GetRect, &bounds,
1085n/a &enableState,
1086n/a &pressState,
1087n/a &isHoriz))
1088n/a return NULL;
1089n/a _err = GetThemeScrollBarTrackRect(&bounds,
1090n/a enableState,
1091n/a pressState,
1092n/a isHoriz,
1093n/a &trackBounds);
1094n/a if (_err != noErr) return PyMac_Error(_err);
1095n/a _res = Py_BuildValue("O&",
1096n/a PyMac_BuildRect, &trackBounds);
1097n/a return _res;
1098n/a}
1099n/a
1100n/astatic PyObject *App_HitTestThemeScrollBarArrows(PyObject *_self, PyObject *_args)
1101n/a{
1102n/a PyObject *_res = NULL;
1103n/a Boolean _rv;
1104n/a Rect scrollBarBounds;
1105n/a ThemeTrackEnableState enableState;
1106n/a ThemeTrackPressState pressState;
1107n/a Boolean isHoriz;
1108n/a Point ptHit;
1109n/a Rect trackBounds;
1110n/a ControlPartCode partcode;
1111n/a#ifndef HitTestThemeScrollBarArrows
1112n/a PyMac_PRECHECK(HitTestThemeScrollBarArrows);
1113n/a#endif
1114n/a if (!PyArg_ParseTuple(_args, "O&bbbO&",
1115n/a PyMac_GetRect, &scrollBarBounds,
1116n/a &enableState,
1117n/a &pressState,
1118n/a &isHoriz,
1119n/a PyMac_GetPoint, &ptHit))
1120n/a return NULL;
1121n/a _rv = HitTestThemeScrollBarArrows(&scrollBarBounds,
1122n/a enableState,
1123n/a pressState,
1124n/a isHoriz,
1125n/a ptHit,
1126n/a &trackBounds,
1127n/a &partcode);
1128n/a _res = Py_BuildValue("bO&h",
1129n/a _rv,
1130n/a PyMac_BuildRect, &trackBounds,
1131n/a partcode);
1132n/a return _res;
1133n/a}
1134n/a
1135n/astatic PyObject *App_DrawThemeScrollBarDelimiters(PyObject *_self, PyObject *_args)
1136n/a{
1137n/a PyObject *_res = NULL;
1138n/a OSStatus _err;
1139n/a ThemeWindowType flavor;
1140n/a Rect inContRect;
1141n/a ThemeDrawState state;
1142n/a ThemeWindowAttributes attributes;
1143n/a#ifndef DrawThemeScrollBarDelimiters
1144n/a PyMac_PRECHECK(DrawThemeScrollBarDelimiters);
1145n/a#endif
1146n/a if (!PyArg_ParseTuple(_args, "HO&ll",
1147n/a &flavor,
1148n/a PyMac_GetRect, &inContRect,
1149n/a &state,
1150n/a &attributes))
1151n/a return NULL;
1152n/a _err = DrawThemeScrollBarDelimiters(flavor,
1153n/a &inContRect,
1154n/a state,
1155n/a attributes);
1156n/a if (_err != noErr) return PyMac_Error(_err);
1157n/a Py_INCREF(Py_None);
1158n/a _res = Py_None;
1159n/a return _res;
1160n/a}
1161n/a
1162n/astatic PyObject *App_DrawThemeButton(PyObject *_self, PyObject *_args)
1163n/a{
1164n/a PyObject *_res = NULL;
1165n/a OSStatus _err;
1166n/a Rect inBounds;
1167n/a UInt16 inKind;
1168n/a ThemeButtonDrawInfo inNewInfo;
1169n/a ThemeButtonDrawInfo inPrevInfo;
1170n/a UInt32 inUserData;
1171n/a#ifndef DrawThemeButton
1172n/a PyMac_PRECHECK(DrawThemeButton);
1173n/a#endif
1174n/a if (!PyArg_ParseTuple(_args, "O&HO&O&l",
1175n/a PyMac_GetRect, &inBounds,
1176n/a &inKind,
1177n/a ThemeButtonDrawInfo_Convert, &inNewInfo,
1178n/a ThemeButtonDrawInfo_Convert, &inPrevInfo,
1179n/a &inUserData))
1180n/a return NULL;
1181n/a _err = DrawThemeButton(&inBounds,
1182n/a inKind,
1183n/a &inNewInfo,
1184n/a &inPrevInfo,
1185n/a NULL,
1186n/a NULL,
1187n/a inUserData);
1188n/a if (_err != noErr) return PyMac_Error(_err);
1189n/a Py_INCREF(Py_None);
1190n/a _res = Py_None;
1191n/a return _res;
1192n/a}
1193n/a
1194n/astatic PyObject *App_GetThemeButtonRegion(PyObject *_self, PyObject *_args)
1195n/a{
1196n/a PyObject *_res = NULL;
1197n/a OSStatus _err;
1198n/a Rect inBounds;
1199n/a UInt16 inKind;
1200n/a ThemeButtonDrawInfo inNewInfo;
1201n/a#ifndef GetThemeButtonRegion
1202n/a PyMac_PRECHECK(GetThemeButtonRegion);
1203n/a#endif
1204n/a if (!PyArg_ParseTuple(_args, "O&HO&",
1205n/a PyMac_GetRect, &inBounds,
1206n/a &inKind,
1207n/a ThemeButtonDrawInfo_Convert, &inNewInfo))
1208n/a return NULL;
1209n/a _err = GetThemeButtonRegion(&inBounds,
1210n/a inKind,
1211n/a &inNewInfo,
1212n/a (RgnHandle)0);
1213n/a if (_err != noErr) return PyMac_Error(_err);
1214n/a Py_INCREF(Py_None);
1215n/a _res = Py_None;
1216n/a return _res;
1217n/a}
1218n/a
1219n/astatic PyObject *App_GetThemeButtonContentBounds(PyObject *_self, PyObject *_args)
1220n/a{
1221n/a PyObject *_res = NULL;
1222n/a OSStatus _err;
1223n/a Rect inBounds;
1224n/a UInt16 inKind;
1225n/a ThemeButtonDrawInfo inDrawInfo;
1226n/a Rect outBounds;
1227n/a#ifndef GetThemeButtonContentBounds
1228n/a PyMac_PRECHECK(GetThemeButtonContentBounds);
1229n/a#endif
1230n/a if (!PyArg_ParseTuple(_args, "O&HO&",
1231n/a PyMac_GetRect, &inBounds,
1232n/a &inKind,
1233n/a ThemeButtonDrawInfo_Convert, &inDrawInfo))
1234n/a return NULL;
1235n/a _err = GetThemeButtonContentBounds(&inBounds,
1236n/a inKind,
1237n/a &inDrawInfo,
1238n/a &outBounds);
1239n/a if (_err != noErr) return PyMac_Error(_err);
1240n/a _res = Py_BuildValue("O&",
1241n/a PyMac_BuildRect, &outBounds);
1242n/a return _res;
1243n/a}
1244n/a
1245n/astatic PyObject *App_GetThemeButtonBackgroundBounds(PyObject *_self, PyObject *_args)
1246n/a{
1247n/a PyObject *_res = NULL;
1248n/a OSStatus _err;
1249n/a Rect inBounds;
1250n/a UInt16 inKind;
1251n/a ThemeButtonDrawInfo inDrawInfo;
1252n/a Rect outBounds;
1253n/a#ifndef GetThemeButtonBackgroundBounds
1254n/a PyMac_PRECHECK(GetThemeButtonBackgroundBounds);
1255n/a#endif
1256n/a if (!PyArg_ParseTuple(_args, "O&HO&",
1257n/a PyMac_GetRect, &inBounds,
1258n/a &inKind,
1259n/a ThemeButtonDrawInfo_Convert, &inDrawInfo))
1260n/a return NULL;
1261n/a _err = GetThemeButtonBackgroundBounds(&inBounds,
1262n/a inKind,
1263n/a &inDrawInfo,
1264n/a &outBounds);
1265n/a if (_err != noErr) return PyMac_Error(_err);
1266n/a _res = Py_BuildValue("O&",
1267n/a PyMac_BuildRect, &outBounds);
1268n/a return _res;
1269n/a}
1270n/a
1271n/astatic PyObject *App_PlayThemeSound(PyObject *_self, PyObject *_args)
1272n/a{
1273n/a PyObject *_res = NULL;
1274n/a OSStatus _err;
1275n/a ThemeSoundKind kind;
1276n/a#ifndef PlayThemeSound
1277n/a PyMac_PRECHECK(PlayThemeSound);
1278n/a#endif
1279n/a if (!PyArg_ParseTuple(_args, "O&",
1280n/a PyMac_GetOSType, &kind))
1281n/a return NULL;
1282n/a _err = PlayThemeSound(kind);
1283n/a if (_err != noErr) return PyMac_Error(_err);
1284n/a Py_INCREF(Py_None);
1285n/a _res = Py_None;
1286n/a return _res;
1287n/a}
1288n/a
1289n/astatic PyObject *App_BeginThemeDragSound(PyObject *_self, PyObject *_args)
1290n/a{
1291n/a PyObject *_res = NULL;
1292n/a OSStatus _err;
1293n/a ThemeDragSoundKind kind;
1294n/a#ifndef BeginThemeDragSound
1295n/a PyMac_PRECHECK(BeginThemeDragSound);
1296n/a#endif
1297n/a if (!PyArg_ParseTuple(_args, "O&",
1298n/a PyMac_GetOSType, &kind))
1299n/a return NULL;
1300n/a _err = BeginThemeDragSound(kind);
1301n/a if (_err != noErr) return PyMac_Error(_err);
1302n/a Py_INCREF(Py_None);
1303n/a _res = Py_None;
1304n/a return _res;
1305n/a}
1306n/a
1307n/astatic PyObject *App_EndThemeDragSound(PyObject *_self, PyObject *_args)
1308n/a{
1309n/a PyObject *_res = NULL;
1310n/a OSStatus _err;
1311n/a#ifndef EndThemeDragSound
1312n/a PyMac_PRECHECK(EndThemeDragSound);
1313n/a#endif
1314n/a if (!PyArg_ParseTuple(_args, ""))
1315n/a return NULL;
1316n/a _err = EndThemeDragSound();
1317n/a if (_err != noErr) return PyMac_Error(_err);
1318n/a Py_INCREF(Py_None);
1319n/a _res = Py_None;
1320n/a return _res;
1321n/a}
1322n/a
1323n/astatic PyObject *App_DrawThemeTickMark(PyObject *_self, PyObject *_args)
1324n/a{
1325n/a PyObject *_res = NULL;
1326n/a OSStatus _err;
1327n/a Rect bounds;
1328n/a ThemeDrawState state;
1329n/a#ifndef DrawThemeTickMark
1330n/a PyMac_PRECHECK(DrawThemeTickMark);
1331n/a#endif
1332n/a if (!PyArg_ParseTuple(_args, "O&l",
1333n/a PyMac_GetRect, &bounds,
1334n/a &state))
1335n/a return NULL;
1336n/a _err = DrawThemeTickMark(&bounds,
1337n/a state);
1338n/a if (_err != noErr) return PyMac_Error(_err);
1339n/a Py_INCREF(Py_None);
1340n/a _res = Py_None;
1341n/a return _res;
1342n/a}
1343n/a
1344n/astatic PyObject *App_DrawThemeChasingArrows(PyObject *_self, PyObject *_args)
1345n/a{
1346n/a PyObject *_res = NULL;
1347n/a OSStatus _err;
1348n/a Rect bounds;
1349n/a UInt32 index;
1350n/a ThemeDrawState state;
1351n/a UInt32 eraseData;
1352n/a#ifndef DrawThemeChasingArrows
1353n/a PyMac_PRECHECK(DrawThemeChasingArrows);
1354n/a#endif
1355n/a if (!PyArg_ParseTuple(_args, "O&lll",
1356n/a PyMac_GetRect, &bounds,
1357n/a &index,
1358n/a &state,
1359n/a &eraseData))
1360n/a return NULL;
1361n/a _err = DrawThemeChasingArrows(&bounds,
1362n/a index,
1363n/a state,
1364n/a NULL,
1365n/a eraseData);
1366n/a if (_err != noErr) return PyMac_Error(_err);
1367n/a Py_INCREF(Py_None);
1368n/a _res = Py_None;
1369n/a return _res;
1370n/a}
1371n/a
1372n/astatic PyObject *App_DrawThemePopupArrow(PyObject *_self, PyObject *_args)
1373n/a{
1374n/a PyObject *_res = NULL;
1375n/a OSStatus _err;
1376n/a Rect bounds;
1377n/a ThemeArrowOrientation orientation;
1378n/a ThemePopupArrowSize size;
1379n/a ThemeDrawState state;
1380n/a UInt32 eraseData;
1381n/a#ifndef DrawThemePopupArrow
1382n/a PyMac_PRECHECK(DrawThemePopupArrow);
1383n/a#endif
1384n/a if (!PyArg_ParseTuple(_args, "O&HHll",
1385n/a PyMac_GetRect, &bounds,
1386n/a &orientation,
1387n/a &size,
1388n/a &state,
1389n/a &eraseData))
1390n/a return NULL;
1391n/a _err = DrawThemePopupArrow(&bounds,
1392n/a orientation,
1393n/a size,
1394n/a state,
1395n/a NULL,
1396n/a eraseData);
1397n/a if (_err != noErr) return PyMac_Error(_err);
1398n/a Py_INCREF(Py_None);
1399n/a _res = Py_None;
1400n/a return _res;
1401n/a}
1402n/a
1403n/astatic PyObject *App_DrawThemeStandaloneGrowBox(PyObject *_self, PyObject *_args)
1404n/a{
1405n/a PyObject *_res = NULL;
1406n/a OSStatus _err;
1407n/a Point origin;
1408n/a ThemeGrowDirection growDirection;
1409n/a Boolean isSmall;
1410n/a ThemeDrawState state;
1411n/a#ifndef DrawThemeStandaloneGrowBox
1412n/a PyMac_PRECHECK(DrawThemeStandaloneGrowBox);
1413n/a#endif
1414n/a if (!PyArg_ParseTuple(_args, "O&Hbl",
1415n/a PyMac_GetPoint, &origin,
1416n/a &growDirection,
1417n/a &isSmall,
1418n/a &state))
1419n/a return NULL;
1420n/a _err = DrawThemeStandaloneGrowBox(origin,
1421n/a growDirection,
1422n/a isSmall,
1423n/a state);
1424n/a if (_err != noErr) return PyMac_Error(_err);
1425n/a Py_INCREF(Py_None);
1426n/a _res = Py_None;
1427n/a return _res;
1428n/a}
1429n/a
1430n/astatic PyObject *App_DrawThemeStandaloneNoGrowBox(PyObject *_self, PyObject *_args)
1431n/a{
1432n/a PyObject *_res = NULL;
1433n/a OSStatus _err;
1434n/a Point origin;
1435n/a ThemeGrowDirection growDirection;
1436n/a Boolean isSmall;
1437n/a ThemeDrawState state;
1438n/a#ifndef DrawThemeStandaloneNoGrowBox
1439n/a PyMac_PRECHECK(DrawThemeStandaloneNoGrowBox);
1440n/a#endif
1441n/a if (!PyArg_ParseTuple(_args, "O&Hbl",
1442n/a PyMac_GetPoint, &origin,
1443n/a &growDirection,
1444n/a &isSmall,
1445n/a &state))
1446n/a return NULL;
1447n/a _err = DrawThemeStandaloneNoGrowBox(origin,
1448n/a growDirection,
1449n/a isSmall,
1450n/a state);
1451n/a if (_err != noErr) return PyMac_Error(_err);
1452n/a Py_INCREF(Py_None);
1453n/a _res = Py_None;
1454n/a return _res;
1455n/a}
1456n/a
1457n/astatic PyObject *App_GetThemeStandaloneGrowBoxBounds(PyObject *_self, PyObject *_args)
1458n/a{
1459n/a PyObject *_res = NULL;
1460n/a OSStatus _err;
1461n/a Point origin;
1462n/a ThemeGrowDirection growDirection;
1463n/a Boolean isSmall;
1464n/a Rect bounds;
1465n/a#ifndef GetThemeStandaloneGrowBoxBounds
1466n/a PyMac_PRECHECK(GetThemeStandaloneGrowBoxBounds);
1467n/a#endif
1468n/a if (!PyArg_ParseTuple(_args, "O&Hb",
1469n/a PyMac_GetPoint, &origin,
1470n/a &growDirection,
1471n/a &isSmall))
1472n/a return NULL;
1473n/a _err = GetThemeStandaloneGrowBoxBounds(origin,
1474n/a growDirection,
1475n/a isSmall,
1476n/a &bounds);
1477n/a if (_err != noErr) return PyMac_Error(_err);
1478n/a _res = Py_BuildValue("O&",
1479n/a PyMac_BuildRect, &bounds);
1480n/a return _res;
1481n/a}
1482n/a
1483n/astatic PyObject *App_NormalizeThemeDrawingState(PyObject *_self, PyObject *_args)
1484n/a{
1485n/a PyObject *_res = NULL;
1486n/a OSStatus _err;
1487n/a#ifndef NormalizeThemeDrawingState
1488n/a PyMac_PRECHECK(NormalizeThemeDrawingState);
1489n/a#endif
1490n/a if (!PyArg_ParseTuple(_args, ""))
1491n/a return NULL;
1492n/a _err = NormalizeThemeDrawingState();
1493n/a if (_err != noErr) return PyMac_Error(_err);
1494n/a Py_INCREF(Py_None);
1495n/a _res = Py_None;
1496n/a return _res;
1497n/a}
1498n/a
1499n/astatic PyObject *App_GetThemeDrawingState(PyObject *_self, PyObject *_args)
1500n/a{
1501n/a PyObject *_res = NULL;
1502n/a OSStatus _err;
1503n/a ThemeDrawingState outState;
1504n/a#ifndef GetThemeDrawingState
1505n/a PyMac_PRECHECK(GetThemeDrawingState);
1506n/a#endif
1507n/a if (!PyArg_ParseTuple(_args, ""))
1508n/a return NULL;
1509n/a _err = GetThemeDrawingState(&outState);
1510n/a if (_err != noErr) return PyMac_Error(_err);
1511n/a _res = Py_BuildValue("O&",
1512n/a ThemeDrawingStateObj_New, outState);
1513n/a return _res;
1514n/a}
1515n/a
1516n/astatic PyObject *App_ApplyThemeBackground(PyObject *_self, PyObject *_args)
1517n/a{
1518n/a PyObject *_res = NULL;
1519n/a OSStatus _err;
1520n/a ThemeBackgroundKind inKind;
1521n/a Rect bounds;
1522n/a ThemeDrawState inState;
1523n/a SInt16 inDepth;
1524n/a Boolean inColorDev;
1525n/a#ifndef ApplyThemeBackground
1526n/a PyMac_PRECHECK(ApplyThemeBackground);
1527n/a#endif
1528n/a if (!PyArg_ParseTuple(_args, "lO&lhb",
1529n/a &inKind,
1530n/a PyMac_GetRect, &bounds,
1531n/a &inState,
1532n/a &inDepth,
1533n/a &inColorDev))
1534n/a return NULL;
1535n/a _err = ApplyThemeBackground(inKind,
1536n/a &bounds,
1537n/a inState,
1538n/a inDepth,
1539n/a inColorDev);
1540n/a if (_err != noErr) return PyMac_Error(_err);
1541n/a Py_INCREF(Py_None);
1542n/a _res = Py_None;
1543n/a return _res;
1544n/a}
1545n/a
1546n/astatic PyObject *App_SetThemeTextColorForWindow(PyObject *_self, PyObject *_args)
1547n/a{
1548n/a PyObject *_res = NULL;
1549n/a OSStatus _err;
1550n/a WindowPtr window;
1551n/a Boolean isActive;
1552n/a SInt16 depth;
1553n/a Boolean isColorDev;
1554n/a#ifndef SetThemeTextColorForWindow
1555n/a PyMac_PRECHECK(SetThemeTextColorForWindow);
1556n/a#endif
1557n/a if (!PyArg_ParseTuple(_args, "O&bhb",
1558n/a WinObj_Convert, &window,
1559n/a &isActive,
1560n/a &depth,
1561n/a &isColorDev))
1562n/a return NULL;
1563n/a _err = SetThemeTextColorForWindow(window,
1564n/a isActive,
1565n/a depth,
1566n/a isColorDev);
1567n/a if (_err != noErr) return PyMac_Error(_err);
1568n/a Py_INCREF(Py_None);
1569n/a _res = Py_None;
1570n/a return _res;
1571n/a}
1572n/a
1573n/astatic PyObject *App_IsValidAppearanceFileType(PyObject *_self, PyObject *_args)
1574n/a{
1575n/a PyObject *_res = NULL;
1576n/a Boolean _rv;
1577n/a OSType fileType;
1578n/a#ifndef IsValidAppearanceFileType
1579n/a PyMac_PRECHECK(IsValidAppearanceFileType);
1580n/a#endif
1581n/a if (!PyArg_ParseTuple(_args, "O&",
1582n/a PyMac_GetOSType, &fileType))
1583n/a return NULL;
1584n/a _rv = IsValidAppearanceFileType(fileType);
1585n/a _res = Py_BuildValue("b",
1586n/a _rv);
1587n/a return _res;
1588n/a}
1589n/a
1590n/astatic PyObject *App_GetThemeBrushAsColor(PyObject *_self, PyObject *_args)
1591n/a{
1592n/a PyObject *_res = NULL;
1593n/a OSStatus _err;
1594n/a ThemeBrush inBrush;
1595n/a SInt16 inDepth;
1596n/a Boolean inColorDev;
1597n/a RGBColor outColor;
1598n/a#ifndef GetThemeBrushAsColor
1599n/a PyMac_PRECHECK(GetThemeBrushAsColor);
1600n/a#endif
1601n/a if (!PyArg_ParseTuple(_args, "hhb",
1602n/a &inBrush,
1603n/a &inDepth,
1604n/a &inColorDev))
1605n/a return NULL;
1606n/a _err = GetThemeBrushAsColor(inBrush,
1607n/a inDepth,
1608n/a inColorDev,
1609n/a &outColor);
1610n/a if (_err != noErr) return PyMac_Error(_err);
1611n/a _res = Py_BuildValue("O&",
1612n/a QdRGB_New, &outColor);
1613n/a return _res;
1614n/a}
1615n/a
1616n/astatic PyObject *App_GetThemeTextColor(PyObject *_self, PyObject *_args)
1617n/a{
1618n/a PyObject *_res = NULL;
1619n/a OSStatus _err;
1620n/a ThemeTextColor inColor;
1621n/a SInt16 inDepth;
1622n/a Boolean inColorDev;
1623n/a RGBColor outColor;
1624n/a#ifndef GetThemeTextColor
1625n/a PyMac_PRECHECK(GetThemeTextColor);
1626n/a#endif
1627n/a if (!PyArg_ParseTuple(_args, "hhb",
1628n/a &inColor,
1629n/a &inDepth,
1630n/a &inColorDev))
1631n/a return NULL;
1632n/a _err = GetThemeTextColor(inColor,
1633n/a inDepth,
1634n/a inColorDev,
1635n/a &outColor);
1636n/a if (_err != noErr) return PyMac_Error(_err);
1637n/a _res = Py_BuildValue("O&",
1638n/a QdRGB_New, &outColor);
1639n/a return _res;
1640n/a}
1641n/a
1642n/astatic PyObject *App_GetThemeMetric(PyObject *_self, PyObject *_args)
1643n/a{
1644n/a PyObject *_res = NULL;
1645n/a OSStatus _err;
1646n/a ThemeMetric inMetric;
1647n/a SInt32 outMetric;
1648n/a#ifndef GetThemeMetric
1649n/a PyMac_PRECHECK(GetThemeMetric);
1650n/a#endif
1651n/a if (!PyArg_ParseTuple(_args, "l",
1652n/a &inMetric))
1653n/a return NULL;
1654n/a _err = GetThemeMetric(inMetric,
1655n/a &outMetric);
1656n/a if (_err != noErr) return PyMac_Error(_err);
1657n/a _res = Py_BuildValue("l",
1658n/a outMetric);
1659n/a return _res;
1660n/a}
1661n/a
1662n/astatic PyMethodDef App_methods[] = {
1663n/a {"RegisterAppearanceClient", (PyCFunction)App_RegisterAppearanceClient, 1,
1664n/a PyDoc_STR("() -> None")},
1665n/a {"UnregisterAppearanceClient", (PyCFunction)App_UnregisterAppearanceClient, 1,
1666n/a PyDoc_STR("() -> None")},
1667n/a {"SetThemePen", (PyCFunction)App_SetThemePen, 1,
1668n/a PyDoc_STR("(ThemeBrush inBrush, SInt16 inDepth, Boolean inIsColorDevice) -> None")},
1669n/a {"SetThemeBackground", (PyCFunction)App_SetThemeBackground, 1,
1670n/a PyDoc_STR("(ThemeBrush inBrush, SInt16 inDepth, Boolean inIsColorDevice) -> None")},
1671n/a {"SetThemeTextColor", (PyCFunction)App_SetThemeTextColor, 1,
1672n/a PyDoc_STR("(ThemeTextColor inColor, SInt16 inDepth, Boolean inIsColorDevice) -> None")},
1673n/a {"SetThemeWindowBackground", (PyCFunction)App_SetThemeWindowBackground, 1,
1674n/a PyDoc_STR("(WindowPtr inWindow, ThemeBrush inBrush, Boolean inUpdate) -> None")},
1675n/a {"DrawThemeWindowHeader", (PyCFunction)App_DrawThemeWindowHeader, 1,
1676n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1677n/a {"DrawThemeWindowListViewHeader", (PyCFunction)App_DrawThemeWindowListViewHeader, 1,
1678n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1679n/a {"DrawThemePlacard", (PyCFunction)App_DrawThemePlacard, 1,
1680n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1681n/a {"DrawThemeEditTextFrame", (PyCFunction)App_DrawThemeEditTextFrame, 1,
1682n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1683n/a {"DrawThemeListBoxFrame", (PyCFunction)App_DrawThemeListBoxFrame, 1,
1684n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1685n/a {"DrawThemeFocusRect", (PyCFunction)App_DrawThemeFocusRect, 1,
1686n/a PyDoc_STR("(Rect inRect, Boolean inHasFocus) -> None")},
1687n/a {"DrawThemePrimaryGroup", (PyCFunction)App_DrawThemePrimaryGroup, 1,
1688n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1689n/a {"DrawThemeSecondaryGroup", (PyCFunction)App_DrawThemeSecondaryGroup, 1,
1690n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1691n/a {"DrawThemeSeparator", (PyCFunction)App_DrawThemeSeparator, 1,
1692n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1693n/a {"DrawThemeModelessDialogFrame", (PyCFunction)App_DrawThemeModelessDialogFrame, 1,
1694n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1695n/a {"DrawThemeGenericWell", (PyCFunction)App_DrawThemeGenericWell, 1,
1696n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState, Boolean inFillCenter) -> None")},
1697n/a {"DrawThemeFocusRegion", (PyCFunction)App_DrawThemeFocusRegion, 1,
1698n/a PyDoc_STR("(Boolean inHasFocus) -> None")},
1699n/a {"IsThemeInColor", (PyCFunction)App_IsThemeInColor, 1,
1700n/a PyDoc_STR("(SInt16 inDepth, Boolean inIsColorDevice) -> (Boolean _rv)")},
1701n/a {"GetThemeAccentColors", (PyCFunction)App_GetThemeAccentColors, 1,
1702n/a PyDoc_STR("() -> (CTabHandle outColors)")},
1703n/a {"DrawThemeMenuBarBackground", (PyCFunction)App_DrawThemeMenuBarBackground, 1,
1704n/a PyDoc_STR("(Rect inBounds, ThemeMenuBarState inState, UInt32 inAttributes) -> None")},
1705n/a {"GetThemeMenuBarHeight", (PyCFunction)App_GetThemeMenuBarHeight, 1,
1706n/a PyDoc_STR("() -> (SInt16 outHeight)")},
1707n/a {"DrawThemeMenuBackground", (PyCFunction)App_DrawThemeMenuBackground, 1,
1708n/a PyDoc_STR("(Rect inMenuRect, ThemeMenuType inMenuType) -> None")},
1709n/a {"GetThemeMenuBackgroundRegion", (PyCFunction)App_GetThemeMenuBackgroundRegion, 1,
1710n/a PyDoc_STR("(Rect inMenuRect, ThemeMenuType menuType) -> None")},
1711n/a {"DrawThemeMenuSeparator", (PyCFunction)App_DrawThemeMenuSeparator, 1,
1712n/a PyDoc_STR("(Rect inItemRect) -> None")},
1713n/a {"GetThemeMenuSeparatorHeight", (PyCFunction)App_GetThemeMenuSeparatorHeight, 1,
1714n/a PyDoc_STR("() -> (SInt16 outHeight)")},
1715n/a {"GetThemeMenuItemExtra", (PyCFunction)App_GetThemeMenuItemExtra, 1,
1716n/a PyDoc_STR("(ThemeMenuItemType inItemType) -> (SInt16 outHeight, SInt16 outWidth)")},
1717n/a {"GetThemeMenuTitleExtra", (PyCFunction)App_GetThemeMenuTitleExtra, 1,
1718n/a PyDoc_STR("(Boolean inIsSquished) -> (SInt16 outWidth)")},
1719n/a {"DrawThemeTabPane", (PyCFunction)App_DrawThemeTabPane, 1,
1720n/a PyDoc_STR("(Rect inRect, ThemeDrawState inState) -> None")},
1721n/a {"GetThemeTabRegion", (PyCFunction)App_GetThemeTabRegion, 1,
1722n/a PyDoc_STR("(Rect inRect, ThemeTabStyle inStyle, ThemeTabDirection inDirection) -> None")},
1723n/a {"SetThemeCursor", (PyCFunction)App_SetThemeCursor, 1,
1724n/a PyDoc_STR("(ThemeCursor inCursor) -> None")},
1725n/a {"SetAnimatedThemeCursor", (PyCFunction)App_SetAnimatedThemeCursor, 1,
1726n/a PyDoc_STR("(ThemeCursor inCursor, UInt32 inAnimationStep) -> None")},
1727n/a {"GetThemeScrollBarThumbStyle", (PyCFunction)App_GetThemeScrollBarThumbStyle, 1,
1728n/a PyDoc_STR("() -> (ThemeScrollBarThumbStyle outStyle)")},
1729n/a {"GetThemeScrollBarArrowStyle", (PyCFunction)App_GetThemeScrollBarArrowStyle, 1,
1730n/a PyDoc_STR("() -> (ThemeScrollBarArrowStyle outStyle)")},
1731n/a {"GetThemeCheckBoxStyle", (PyCFunction)App_GetThemeCheckBoxStyle, 1,
1732n/a PyDoc_STR("() -> (ThemeCheckBoxStyle outStyle)")},
1733n/a {"UseThemeFont", (PyCFunction)App_UseThemeFont, 1,
1734n/a PyDoc_STR("(ThemeFontID inFontID, ScriptCode inScript) -> None")},
1735n/a {"DrawThemeTextBox", (PyCFunction)App_DrawThemeTextBox, 1,
1736n/a PyDoc_STR("(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth, Rect inBoundingBox, SInt16 inJust) -> None")},
1737n/a {"TruncateThemeText", (PyCFunction)App_TruncateThemeText, 1,
1738n/a PyDoc_STR("(CFMutableStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, SInt16 inPixelWidthLimit, TruncCode inTruncWhere) -> (Boolean outTruncated)")},
1739n/a {"GetThemeTextDimensions", (PyCFunction)App_GetThemeTextDimensions, 1,
1740n/a PyDoc_STR("(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth, Point ioBounds) -> (Point ioBounds, SInt16 outBaseline)")},
1741n/a {"GetThemeTextShadowOutset", (PyCFunction)App_GetThemeTextShadowOutset, 1,
1742n/a PyDoc_STR("(ThemeFontID inFontID, ThemeDrawState inState) -> (Rect outOutset)")},
1743n/a {"DrawThemeScrollBarArrows", (PyCFunction)App_DrawThemeScrollBarArrows, 1,
1744n/a PyDoc_STR("(Rect bounds, ThemeTrackEnableState enableState, ThemeTrackPressState pressState, Boolean isHoriz) -> (Rect trackBounds)")},
1745n/a {"GetThemeScrollBarTrackRect", (PyCFunction)App_GetThemeScrollBarTrackRect, 1,
1746n/a PyDoc_STR("(Rect bounds, ThemeTrackEnableState enableState, ThemeTrackPressState pressState, Boolean isHoriz) -> (Rect trackBounds)")},
1747n/a {"HitTestThemeScrollBarArrows", (PyCFunction)App_HitTestThemeScrollBarArrows, 1,
1748n/a PyDoc_STR("(Rect scrollBarBounds, ThemeTrackEnableState enableState, ThemeTrackPressState pressState, Boolean isHoriz, Point ptHit) -> (Boolean _rv, Rect trackBounds, ControlPartCode partcode)")},
1749n/a {"DrawThemeScrollBarDelimiters", (PyCFunction)App_DrawThemeScrollBarDelimiters, 1,
1750n/a PyDoc_STR("(ThemeWindowType flavor, Rect inContRect, ThemeDrawState state, ThemeWindowAttributes attributes) -> None")},
1751n/a {"DrawThemeButton", (PyCFunction)App_DrawThemeButton, 1,
1752n/a PyDoc_STR("(Rect inBounds, UInt16 inKind, ThemeButtonDrawInfo inNewInfo, ThemeButtonDrawInfo inPrevInfo, UInt32 inUserData) -> None")},
1753n/a {"GetThemeButtonRegion", (PyCFunction)App_GetThemeButtonRegion, 1,
1754n/a PyDoc_STR("(Rect inBounds, UInt16 inKind, ThemeButtonDrawInfo inNewInfo) -> None")},
1755n/a {"GetThemeButtonContentBounds", (PyCFunction)App_GetThemeButtonContentBounds, 1,
1756n/a PyDoc_STR("(Rect inBounds, UInt16 inKind, ThemeButtonDrawInfo inDrawInfo) -> (Rect outBounds)")},
1757n/a {"GetThemeButtonBackgroundBounds", (PyCFunction)App_GetThemeButtonBackgroundBounds, 1,
1758n/a PyDoc_STR("(Rect inBounds, UInt16 inKind, ThemeButtonDrawInfo inDrawInfo) -> (Rect outBounds)")},
1759n/a {"PlayThemeSound", (PyCFunction)App_PlayThemeSound, 1,
1760n/a PyDoc_STR("(ThemeSoundKind kind) -> None")},
1761n/a {"BeginThemeDragSound", (PyCFunction)App_BeginThemeDragSound, 1,
1762n/a PyDoc_STR("(ThemeDragSoundKind kind) -> None")},
1763n/a {"EndThemeDragSound", (PyCFunction)App_EndThemeDragSound, 1,
1764n/a PyDoc_STR("() -> None")},
1765n/a {"DrawThemeTickMark", (PyCFunction)App_DrawThemeTickMark, 1,
1766n/a PyDoc_STR("(Rect bounds, ThemeDrawState state) -> None")},
1767n/a {"DrawThemeChasingArrows", (PyCFunction)App_DrawThemeChasingArrows, 1,
1768n/a PyDoc_STR("(Rect bounds, UInt32 index, ThemeDrawState state, UInt32 eraseData) -> None")},
1769n/a {"DrawThemePopupArrow", (PyCFunction)App_DrawThemePopupArrow, 1,
1770n/a PyDoc_STR("(Rect bounds, ThemeArrowOrientation orientation, ThemePopupArrowSize size, ThemeDrawState state, UInt32 eraseData) -> None")},
1771n/a {"DrawThemeStandaloneGrowBox", (PyCFunction)App_DrawThemeStandaloneGrowBox, 1,
1772n/a PyDoc_STR("(Point origin, ThemeGrowDirection growDirection, Boolean isSmall, ThemeDrawState state) -> None")},
1773n/a {"DrawThemeStandaloneNoGrowBox", (PyCFunction)App_DrawThemeStandaloneNoGrowBox, 1,
1774n/a PyDoc_STR("(Point origin, ThemeGrowDirection growDirection, Boolean isSmall, ThemeDrawState state) -> None")},
1775n/a {"GetThemeStandaloneGrowBoxBounds", (PyCFunction)App_GetThemeStandaloneGrowBoxBounds, 1,
1776n/a PyDoc_STR("(Point origin, ThemeGrowDirection growDirection, Boolean isSmall) -> (Rect bounds)")},
1777n/a {"NormalizeThemeDrawingState", (PyCFunction)App_NormalizeThemeDrawingState, 1,
1778n/a PyDoc_STR("() -> None")},
1779n/a {"GetThemeDrawingState", (PyCFunction)App_GetThemeDrawingState, 1,
1780n/a PyDoc_STR("() -> (ThemeDrawingState outState)")},
1781n/a {"ApplyThemeBackground", (PyCFunction)App_ApplyThemeBackground, 1,
1782n/a PyDoc_STR("(ThemeBackgroundKind inKind, Rect bounds, ThemeDrawState inState, SInt16 inDepth, Boolean inColorDev) -> None")},
1783n/a {"SetThemeTextColorForWindow", (PyCFunction)App_SetThemeTextColorForWindow, 1,
1784n/a PyDoc_STR("(WindowPtr window, Boolean isActive, SInt16 depth, Boolean isColorDev) -> None")},
1785n/a {"IsValidAppearanceFileType", (PyCFunction)App_IsValidAppearanceFileType, 1,
1786n/a PyDoc_STR("(OSType fileType) -> (Boolean _rv)")},
1787n/a {"GetThemeBrushAsColor", (PyCFunction)App_GetThemeBrushAsColor, 1,
1788n/a PyDoc_STR("(ThemeBrush inBrush, SInt16 inDepth, Boolean inColorDev) -> (RGBColor outColor)")},
1789n/a {"GetThemeTextColor", (PyCFunction)App_GetThemeTextColor, 1,
1790n/a PyDoc_STR("(ThemeTextColor inColor, SInt16 inDepth, Boolean inColorDev) -> (RGBColor outColor)")},
1791n/a {"GetThemeMetric", (PyCFunction)App_GetThemeMetric, 1,
1792n/a PyDoc_STR("(ThemeMetric inMetric) -> (SInt32 outMetric)")},
1793n/a {NULL, NULL, 0}
1794n/a};
1795n/a
1796n/a
1797n/a#else /* __LP64__ */
1798n/a
1799n/astatic PyMethodDef App_methods[] = {
1800n/a {NULL, NULL, 0}
1801n/a};
1802n/a
1803n/a#endif /* __LP64__ */
1804n/a
1805n/a
1806n/avoid init_App(void)
1807n/a{
1808n/a PyObject *m;
1809n/a#ifndef __LP64__
1810n/a PyObject *d;
1811n/a#endif /* !__LP64__ */
1812n/a
1813n/a
1814n/a m = Py_InitModule("_App", App_methods);
1815n/a#ifndef __LP64__
1816n/a d = PyModule_GetDict(m);
1817n/a App_Error = PyMac_GetOSErrException();
1818n/a if (App_Error == NULL ||
1819n/a PyDict_SetItemString(d, "Error", App_Error) != 0)
1820n/a return;
1821n/a ThemeDrawingState_Type.ob_type = &PyType_Type;
1822n/a if (PyType_Ready(&ThemeDrawingState_Type) < 0) return;
1823n/a Py_INCREF(&ThemeDrawingState_Type);
1824n/a PyModule_AddObject(m, "ThemeDrawingState", (PyObject *)&ThemeDrawingState_Type);
1825n/a /* Backward-compatible name */
1826n/a Py_INCREF(&ThemeDrawingState_Type);
1827n/a PyModule_AddObject(m, "ThemeDrawingStateType", (PyObject *)&ThemeDrawingState_Type);
1828n/a#endif /* __LP64__ */
1829n/a}
1830n/a
1831n/a/* ======================== End module _App ========================= */
1832n/a