annotate Python/mactoolboxglue.c @ 19283:b865cd5c1925 legacy-trunk

Added comments before recently added/assigned slots in the type object, so the backward compatibility issues will be easier to understand. I only added comments indicating additions and assignments back to Python 2.0.
author Fred Drake <fdrake@acm.org>
date Wed, 15 Aug 2001 18:32:33 +0000
parents d00802c74ba4
children 4d69d742db2f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19064
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
1 /***********************************************************
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
2 Copyright 1991-1997 by Stichting Mathematisch Centrum, Amsterdam,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
3 The Netherlands.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
4
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
5 All Rights Reserved
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
6
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
7 Permission to use, copy, modify, and distribute this software and its
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
8 documentation for any purpose and without fee is hereby granted,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
9 provided that the above copyright notice appear in all copies and that
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
10 both that copyright notice and this permission notice appear in
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
11 supporting documentation, and that the names of Stichting Mathematisch
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
12 Centrum or CWI not be used in advertising or publicity pertaining to
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
13 distribution of the software without specific, written prior permission.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
14
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
15 STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
17 FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
18 FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
19 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
20 ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
21 OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
22
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
23 ******************************************************************/
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
24
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
25
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
26 #include "Python.h"
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
27 #include "pymactoolbox.h"
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
28
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
29 #ifdef WITHOUT_FRAMEWORKS
19068
d00802c74ba4 Got rid of unused includes.
Jack Jansen <jack.jansen@cwi.nl>
parents: 19064
diff changeset
30 #include <Script.h>
d00802c74ba4 Got rid of unused includes.
Jack Jansen <jack.jansen@cwi.nl>
parents: 19064
diff changeset
31 #include <Resources.h>
19064
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
32 #endif
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
33
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
34 /*
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
35 ** Find out what the current script is.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
36 ** Donated by Fredrik Lund.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
37 */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
38 char *PyMac_getscript()
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
39 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
40 int font, script, lang;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
41 font = 0;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
42 font = GetSysFont();
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
43 script = FontToScript(font);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
44 switch (script) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
45 case smRoman:
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
46 lang = GetScriptVariable(script, smScriptLang);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
47 if (lang == langIcelandic)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
48 return "mac-iceland";
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
49 else if (lang == langTurkish)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
50 return "mac-turkish";
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
51 else if (lang == langGreek)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
52 return "mac-greek";
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
53 else
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
54 return "mac-roman";
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
55 break;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
56 #if 0
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
57 /* We don't have a codec for this, so don't return it */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
58 case smJapanese:
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
59 return "mac-japan";
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
60 #endif
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
61 case smGreek:
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
62 return "mac-greek";
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
63 case smCyrillic:
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
64 return "mac-cyrillic";
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
65 default:
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
66 return "ascii"; /* better than nothing */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
67 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
68 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
69
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
70 /* Like strerror() but for Mac OS error numbers */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
71 char *PyMac_StrError(int err)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
72 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
73 static char buf[256];
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
74 Handle h;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
75 char *str;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
76
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
77 h = GetResource('Estr', err);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
78 if ( h ) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
79 HLock(h);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
80 str = (char *)*h;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
81 memcpy(buf, str+1, (unsigned char)str[0]);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
82 buf[(unsigned char)str[0]] = '\0';
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
83 HUnlock(h);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
84 ReleaseResource(h);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
85 } else {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
86 sprintf(buf, "Mac OS error code %d", err);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
87 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
88 return buf;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
89 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
90
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
91 /* Exception object shared by all Mac specific modules for Mac OS errors */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
92 PyObject *PyMac_OSErrException;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
93
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
94 /* Initialize and return PyMac_OSErrException */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
95 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
96 PyMac_GetOSErrException()
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
97 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
98 if (PyMac_OSErrException == NULL)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
99 PyMac_OSErrException = PyString_FromString("MacOS.Error");
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
100 return PyMac_OSErrException;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
101 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
102
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
103 /* Set a MAC-specific error from errno, and return NULL; return None if no error */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
104 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
105 PyErr_Mac(PyObject *eobj, int err)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
106 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
107 char *msg;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
108 PyObject *v;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
109
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
110 if (err == 0 && !PyErr_Occurred()) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
111 Py_INCREF(Py_None);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
112 return Py_None;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
113 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
114 if (err == -1 && PyErr_Occurred())
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
115 return NULL;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
116 msg = PyMac_StrError(err);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
117 v = Py_BuildValue("(is)", err, msg);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
118 PyErr_SetObject(eobj, v);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
119 Py_DECREF(v);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
120 return NULL;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
121 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
122
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
123 /* Call PyErr_Mac with PyMac_OSErrException */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
124 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
125 PyMac_Error(OSErr err)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
126 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
127 return PyErr_Mac(PyMac_GetOSErrException(), err);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
128 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
129
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
130 /* Convert a 4-char string object argument to an OSType value */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
131 int
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
132 PyMac_GetOSType(PyObject *v, OSType *pr)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
133 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
134 if (!PyString_Check(v) || PyString_Size(v) != 4) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
135 PyErr_SetString(PyExc_TypeError,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
136 "OSType arg must be string of 4 chars");
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
137 return 0;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
138 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
139 memcpy((char *)pr, PyString_AsString(v), 4);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
140 return 1;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
141 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
142
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
143 /* Convert an OSType value to a 4-char string object */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
144 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
145 PyMac_BuildOSType(OSType t)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
146 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
147 return PyString_FromStringAndSize((char *)&t, 4);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
148 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
149
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
150 /* Convert an NumVersion value to a 4-element tuple */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
151 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
152 PyMac_BuildNumVersion(NumVersion t)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
153 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
154 return Py_BuildValue("(hhhh)", t.majorRev, t.minorAndBugRev, t.stage, t.nonRelRev);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
155 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
156
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
157
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
158 /* Convert a Python string object to a Str255 */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
159 int
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
160 PyMac_GetStr255(PyObject *v, Str255 pbuf)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
161 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
162 int len;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
163 if (!PyString_Check(v) || (len = PyString_Size(v)) > 255) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
164 PyErr_SetString(PyExc_TypeError,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
165 "Str255 arg must be string of at most 255 chars");
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
166 return 0;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
167 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
168 pbuf[0] = len;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
169 memcpy((char *)(pbuf+1), PyString_AsString(v), len);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
170 return 1;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
171 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
172
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
173 /* Convert a Str255 to a Python string object */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
174 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
175 PyMac_BuildStr255(Str255 s)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
176 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
177 if ( s == NULL ) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
178 PyErr_SetString(PyExc_SystemError, "Str255 pointer is NULL");
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
179 return NULL;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
180 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
181 return PyString_FromStringAndSize((char *)&s[1], (int)s[0]);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
182 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
183
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
184 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
185 PyMac_BuildOptStr255(Str255 s)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
186 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
187 if ( s == NULL ) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
188 Py_INCREF(Py_None);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
189 return Py_None;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
190 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
191 return PyString_FromStringAndSize((char *)&s[1], (int)s[0]);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
192 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
193
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
194
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
195
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
196 /* Convert a Python object to a Rect.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
197 The object must be a (left, top, right, bottom) tuple.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
198 (This differs from the order in the struct but is consistent with
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
199 the arguments to SetRect(), and also with STDWIN). */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
200 int
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
201 PyMac_GetRect(PyObject *v, Rect *r)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
202 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
203 return PyArg_Parse(v, "(hhhh)", &r->left, &r->top, &r->right, &r->bottom);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
204 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
205
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
206 /* Convert a Rect to a Python object */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
207 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
208 PyMac_BuildRect(Rect *r)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
209 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
210 return Py_BuildValue("(hhhh)", r->left, r->top, r->right, r->bottom);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
211 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
212
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
213
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
214 /* Convert a Python object to a Point.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
215 The object must be a (h, v) tuple.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
216 (This differs from the order in the struct but is consistent with
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
217 the arguments to SetPoint(), and also with STDWIN). */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
218 int
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
219 PyMac_GetPoint(PyObject *v, Point *p)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
220 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
221 return PyArg_Parse(v, "(hh)", &p->h, &p->v);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
222 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
223
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
224 /* Convert a Point to a Python object */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
225 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
226 PyMac_BuildPoint(Point p)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
227 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
228 return Py_BuildValue("(hh)", p.h, p.v);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
229 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
230
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
231
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
232 /* Convert a Python object to an EventRecord.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
233 The object must be a (what, message, when, (v, h), modifiers) tuple. */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
234 int
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
235 PyMac_GetEventRecord(PyObject *v, EventRecord *e)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
236 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
237 return PyArg_Parse(v, "(Hll(hh)H)",
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
238 &e->what,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
239 &e->message,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
240 &e->when,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
241 &e->where.h,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
242 &e->where.v,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
243 &e->modifiers);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
244 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
245
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
246 /* Convert a Rect to an EventRecord object */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
247 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
248 PyMac_BuildEventRecord(EventRecord *e)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
249 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
250 return Py_BuildValue("(hll(hh)h)",
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
251 e->what,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
252 e->message,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
253 e->when,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
254 e->where.h,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
255 e->where.v,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
256 e->modifiers);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
257 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
258
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
259 /* Convert Python object to Fixed */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
260 int
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
261 PyMac_GetFixed(PyObject *v, Fixed *f)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
262 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
263 double d;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
264
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
265 if( !PyArg_Parse(v, "d", &d))
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
266 return 0;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
267 *f = (Fixed)(d * 0x10000);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
268 return 1;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
269 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
270
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
271 /* Convert a Point to a Python object */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
272 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
273 PyMac_BuildFixed(Fixed f)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
274 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
275 double d;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
276
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
277 d = f;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
278 d = d / 0x10000;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
279 return Py_BuildValue("d", d);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
280 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
281
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
282 /* Convert wide to/from Python int or (hi, lo) tuple. XXXX Should use Python longs */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
283 int
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
284 PyMac_Getwide(PyObject *v, wide *rv)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
285 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
286 if (PyInt_Check(v)) {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
287 rv->hi = 0;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
288 rv->lo = PyInt_AsLong(v);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
289 if( rv->lo & 0x80000000 )
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
290 rv->hi = -1;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
291 return 1;
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
292 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
293 return PyArg_Parse(v, "(ll)", &rv->hi, &rv->lo);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
294 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
295
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
296
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
297 PyObject *
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
298 PyMac_Buildwide(wide *w)
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
299 {
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
300 if ( (w->hi == 0 && (w->lo & 0x80000000) == 0) ||
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
301 (w->hi == -1 && (w->lo & 0x80000000) ) )
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
302 return PyInt_FromLong(w->lo);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
303 return Py_BuildValue("(ll)", w->hi, w->lo);
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
304 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
305
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
306 #ifdef USE_TOOLBOX_OBJECT_GLUE
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
307 /*
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
308 ** Glue together the toolbox objects.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
309 **
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
310 ** Because toolbox modules interdepend on each other, they use each others
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
311 ** object types, on MacOSX/MachO this leads to the situation that they
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
312 ** cannot be dynamically loaded (or they would all have to be lumped into
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
313 ** a single .so, but this would be bad for extensibility).
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
314 **
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
315 ** This file defines wrappers for all the _New and _Convert functions,
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
316 ** which are the Py_BuildValue and PyArg_ParseTuple helpers. The wrappers
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
317 ** check an indirection function pointer, and if it isn't filled in yet
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
318 ** they import the appropriate module, whose init routine should fill in
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
319 ** the pointer.
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
320 */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
321
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
322 #define GLUE_NEW(object, routinename, module) \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
323 PyObject *(*PyMacGluePtr_##routinename)(object); \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
324 \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
325 PyObject *routinename(object cobj) { \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
326 if (!PyMacGluePtr_##routinename) { \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
327 if (!PyImport_ImportModule(module)) return NULL; \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
328 if (!PyMacGluePtr_##routinename) { \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
329 PyErr_SetString(PyExc_ImportError, "Module did not provide routine: " module ": " #routinename); \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
330 return NULL; \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
331 } \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
332 } \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
333 return (*PyMacGluePtr_##routinename)(cobj); \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
334 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
335
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
336 #define GLUE_CONVERT(object, routinename, module) \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
337 int (*PyMacGluePtr_##routinename)(PyObject *, object *); \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
338 \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
339 int routinename(PyObject *pyobj, object *cobj) { \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
340 if (!PyMacGluePtr_##routinename) { \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
341 if (!PyImport_ImportModule(module)) return NULL; \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
342 if (!PyMacGluePtr_##routinename) { \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
343 PyErr_SetString(PyExc_ImportError, "Module did not provide routine: " module ": " #routinename); \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
344 return NULL; \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
345 } \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
346 } \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
347 return (*PyMacGluePtr_##routinename)(pyobj, cobj); \
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
348 }
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
349 GLUE_CONVERT(FSSpec, PyMac_GetFSSpec, "macfs")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
350
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
351 GLUE_NEW(AppleEvent *, AEDesc_New, "AE") /* XXXX Why by address? */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
352 GLUE_CONVERT(AppleEvent, AEDesc_Convert, "AE")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
353
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
354 GLUE_NEW(Component, CmpObj_New, "Cm")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
355 GLUE_CONVERT(Component, CmpObj_Convert, "Cm")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
356 GLUE_NEW(ComponentInstance, CmpInstObj_New, "Cm")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
357 GLUE_CONVERT(ComponentInstance, CmpInstObj_Convert, "Cm")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
358
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
359 GLUE_NEW(ControlHandle, CtlObj_New, "Ctl")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
360 GLUE_CONVERT(ControlHandle, CtlObj_Convert, "Ctl")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
361
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
362 GLUE_NEW(DialogPtr, DlgObj_New, "Dlg")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
363 GLUE_CONVERT(DialogPtr, DlgObj_Convert, "Dlg")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
364 GLUE_NEW(DialogPtr, DlgObj_WhichDialog, "Dlg")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
365
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
366 GLUE_NEW(DragReference, DragObj_New, "Drag")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
367 GLUE_CONVERT(DragReference, DragObj_Convert, "Drag")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
368
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
369 GLUE_NEW(ListHandle, ListObj_New, "List")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
370 GLUE_CONVERT(ListHandle, ListObj_Convert, "List")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
371
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
372 GLUE_NEW(MenuHandle, MenuObj_New, "Menu")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
373 GLUE_CONVERT(MenuHandle, MenuObj_Convert, "Menu")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
374
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
375 GLUE_NEW(GrafPtr, GrafObj_New, "Qd")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
376 GLUE_CONVERT(GrafPtr, GrafObj_Convert, "Qd")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
377 GLUE_NEW(BitMapPtr, BMObj_New, "Qd")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
378 GLUE_CONVERT(BitMapPtr, BMObj_Convert, "Qd")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
379 GLUE_NEW(RGBColor *, QdRGB_New, "Qd") /* XXXX Why? */
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
380 GLUE_CONVERT(RGBColor, QdRGB_Convert, "Qd")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
381
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
382 GLUE_NEW(GWorldPtr, GWorldObj_New, "Qdoffs")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
383 GLUE_CONVERT(GWorldPtr, GWorldObj_Convert, "Qdoffs")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
384
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
385 GLUE_NEW(Track, TrackObj_New, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
386 GLUE_CONVERT(Track, TrackObj_Convert, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
387 GLUE_NEW(Movie, MovieObj_New, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
388 GLUE_CONVERT(Movie, MovieObj_Convert, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
389 GLUE_NEW(MovieController, MovieCtlObj_New, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
390 GLUE_CONVERT(MovieController, MovieCtlObj_Convert, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
391 GLUE_NEW(TimeBase, TimeBaseObj_New, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
392 GLUE_CONVERT(TimeBase, TimeBaseObj_Convert, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
393 GLUE_NEW(UserData, UserDataObj_New, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
394 GLUE_CONVERT(UserData, UserDataObj_Convert, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
395 GLUE_NEW(Media, MediaObj_New, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
396 GLUE_CONVERT(Media, MediaObj_Convert, "Qt")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
397
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
398 GLUE_NEW(Handle, ResObj_New, "Res")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
399 GLUE_CONVERT(Handle, ResObj_Convert, "Res")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
400 GLUE_NEW(Handle, OptResObj_New, "Res")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
401 GLUE_CONVERT(Handle, OptResObj_Convert, "Res")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
402
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
403 GLUE_NEW(TEHandle, TEObj_New, "TE")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
404 GLUE_CONVERT(TEHandle, TEObj_Convert, "TE")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
405
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
406 GLUE_NEW(WindowPtr, WinObj_New, "Win")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
407 GLUE_CONVERT(WindowPtr, WinObj_Convert, "Win")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
408 GLUE_NEW(WindowPtr, WinObj_WhichWindow, "Win")
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
409
e57a4614469e Split macglue.c into two: a new mactoolboxglue.c (in ./Python)
Jack Jansen <jack.jansen@cwi.nl>
parents:
diff changeset
410 #endif /* USE_TOOLBOX_OBJECT_GLUE */