This reverts r63675 based on the discussion in this thread:
[python.git] / Mac / Modules / qd / _Qdmodule.c
blob8c98fa1aaa9fd3b765e14ab1b7973f742dde4aab
2 /* =========================== Module _Qd =========================== */
4 #include "Python.h"
7 #ifndef __LP64__
9 #include "pymactoolbox.h"
11 /* Macro to test whether a weak-loaded CFM function exists */
12 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\
13 PyErr_SetString(PyExc_NotImplementedError, \
14 "Not available in this shared library/OS version"); \
15 return NULL; \
16 }} while(0)
19 #include <Carbon/Carbon.h>
21 #ifdef USE_TOOLBOX_OBJECT_GLUE
22 extern PyObject *_GrafObj_New(GrafPtr);
23 extern int _GrafObj_Convert(PyObject *, GrafPtr *);
24 extern PyObject *_BMObj_New(BitMapPtr);
25 extern int _BMObj_Convert(PyObject *, BitMapPtr *);
26 extern PyObject *_QdRGB_New(RGBColorPtr);
27 extern int _QdRGB_Convert(PyObject *, RGBColorPtr);
29 #define GrafObj_New _GrafObj_New
30 #define GrafObj_Convert _GrafObj_Convert
31 #define BMObj_New _BMObj_New
32 #define BMObj_Convert _BMObj_Convert
33 #define QdRGB_New _QdRGB_New
34 #define QdRGB_Convert _QdRGB_Convert
35 #endif
37 static PyObject *BMObj_NewCopied(BitMapPtr);
40 ** Parse/generate RGB records
42 PyObject *QdRGB_New(RGBColorPtr itself)
45 return Py_BuildValue("lll", (long)itself->red, (long)itself->green, (long)itself->blue);
48 int QdRGB_Convert(PyObject *v, RGBColorPtr p_itself)
50 long red, green, blue;
52 if( !PyArg_ParseTuple(v, "lll", &red, &green, &blue) )
53 return 0;
54 p_itself->red = (unsigned short)red;
55 p_itself->green = (unsigned short)green;
56 p_itself->blue = (unsigned short)blue;
57 return 1;
61 ** Generate FontInfo records
63 static
64 PyObject *QdFI_New(FontInfo *itself)
67 return Py_BuildValue("hhhh", itself->ascent, itself->descent,
68 itself->widMax, itself->leading);
71 static PyObject *Qd_Error;
73 /* ---------------------- Object type GrafPort ---------------------- */
75 PyTypeObject GrafPort_Type;
77 #define GrafObj_Check(x) ((x)->ob_type == &GrafPort_Type || PyObject_TypeCheck((x), &GrafPort_Type))
79 typedef struct GrafPortObject {
80 PyObject_HEAD
81 GrafPtr ob_itself;
82 } GrafPortObject;
84 PyObject *GrafObj_New(GrafPtr itself)
86 GrafPortObject *it;
87 if (itself == NULL) return PyMac_Error(resNotFound);
88 it = PyObject_NEW(GrafPortObject, &GrafPort_Type);
89 if (it == NULL) return NULL;
90 it->ob_itself = itself;
91 return (PyObject *)it;
94 int GrafObj_Convert(PyObject *v, GrafPtr *p_itself)
96 #if 1
98 WindowRef win;
99 if (WinObj_Convert(v, &win) && v) {
100 *p_itself = (GrafPtr)GetWindowPort(win);
101 return 1;
103 PyErr_Clear();
105 #else
106 if (DlgObj_Check(v)) {
107 DialogRef dlg = (DialogRef)((GrafPortObject *)v)->ob_itself;
108 *p_itself = (GrafPtr)GetWindowPort(GetDialogWindow(dlg));
109 return 1;
111 if (WinObj_Check(v)) {
112 WindowRef win = (WindowRef)((GrafPortObject *)v)->ob_itself;
113 *p_itself = (GrafPtr)GetWindowPort(win);
114 return 1;
116 #endif
117 if (!GrafObj_Check(v))
119 PyErr_SetString(PyExc_TypeError, "GrafPort required");
120 return 0;
122 *p_itself = ((GrafPortObject *)v)->ob_itself;
123 return 1;
126 static void GrafObj_dealloc(GrafPortObject *self)
128 /* Cleanup of self->ob_itself goes here */
129 self->ob_type->tp_free((PyObject *)self);
132 static PyObject *GrafObj_MacSetPort(GrafPortObject *_self, PyObject *_args)
134 PyObject *_res = NULL;
135 #ifndef MacSetPort
136 PyMac_PRECHECK(MacSetPort);
137 #endif
138 if (!PyArg_ParseTuple(_args, ""))
139 return NULL;
140 MacSetPort(_self->ob_itself);
141 Py_INCREF(Py_None);
142 _res = Py_None;
143 return _res;
146 static PyObject *GrafObj_QDSwapPort(GrafPortObject *_self, PyObject *_args)
148 PyObject *_res = NULL;
149 Boolean _rv;
150 CGrafPtr outOldPort;
151 #ifndef QDSwapPort
152 PyMac_PRECHECK(QDSwapPort);
153 #endif
154 if (!PyArg_ParseTuple(_args, ""))
155 return NULL;
156 _rv = QDSwapPort(_self->ob_itself,
157 &outOldPort);
158 _res = Py_BuildValue("bO&",
159 _rv,
160 GrafObj_New, outOldPort);
161 return _res;
164 static PyObject *GrafObj_IsValidPort(GrafPortObject *_self, PyObject *_args)
166 PyObject *_res = NULL;
167 Boolean _rv;
168 #ifndef IsValidPort
169 PyMac_PRECHECK(IsValidPort);
170 #endif
171 if (!PyArg_ParseTuple(_args, ""))
172 return NULL;
173 _rv = IsValidPort(_self->ob_itself);
174 _res = Py_BuildValue("b",
175 _rv);
176 return _res;
179 static PyObject *GrafObj_GetPortPixMap(GrafPortObject *_self, PyObject *_args)
181 PyObject *_res = NULL;
182 PixMapHandle _rv;
183 #ifndef GetPortPixMap
184 PyMac_PRECHECK(GetPortPixMap);
185 #endif
186 if (!PyArg_ParseTuple(_args, ""))
187 return NULL;
188 _rv = GetPortPixMap(_self->ob_itself);
189 _res = Py_BuildValue("O&",
190 ResObj_New, _rv);
191 return _res;
194 static PyObject *GrafObj_GetPortBitMapForCopyBits(GrafPortObject *_self, PyObject *_args)
196 PyObject *_res = NULL;
197 const BitMap * _rv;
198 #ifndef GetPortBitMapForCopyBits
199 PyMac_PRECHECK(GetPortBitMapForCopyBits);
200 #endif
201 if (!PyArg_ParseTuple(_args, ""))
202 return NULL;
203 _rv = GetPortBitMapForCopyBits(_self->ob_itself);
204 _res = Py_BuildValue("O&",
205 BMObj_New, _rv);
206 return _res;
209 static PyObject *GrafObj_GetPortBounds(GrafPortObject *_self, PyObject *_args)
211 PyObject *_res = NULL;
212 Rect rect;
213 #ifndef GetPortBounds
214 PyMac_PRECHECK(GetPortBounds);
215 #endif
216 if (!PyArg_ParseTuple(_args, ""))
217 return NULL;
218 GetPortBounds(_self->ob_itself,
219 &rect);
220 _res = Py_BuildValue("O&",
221 PyMac_BuildRect, &rect);
222 return _res;
225 static PyObject *GrafObj_GetPortForeColor(GrafPortObject *_self, PyObject *_args)
227 PyObject *_res = NULL;
228 RGBColor foreColor;
229 #ifndef GetPortForeColor
230 PyMac_PRECHECK(GetPortForeColor);
231 #endif
232 if (!PyArg_ParseTuple(_args, ""))
233 return NULL;
234 GetPortForeColor(_self->ob_itself,
235 &foreColor);
236 _res = Py_BuildValue("O&",
237 QdRGB_New, &foreColor);
238 return _res;
241 static PyObject *GrafObj_GetPortBackColor(GrafPortObject *_self, PyObject *_args)
243 PyObject *_res = NULL;
244 RGBColor backColor;
245 #ifndef GetPortBackColor
246 PyMac_PRECHECK(GetPortBackColor);
247 #endif
248 if (!PyArg_ParseTuple(_args, ""))
249 return NULL;
250 GetPortBackColor(_self->ob_itself,
251 &backColor);
252 _res = Py_BuildValue("O&",
253 QdRGB_New, &backColor);
254 return _res;
257 static PyObject *GrafObj_GetPortOpColor(GrafPortObject *_self, PyObject *_args)
259 PyObject *_res = NULL;
260 RGBColor opColor;
261 #ifndef GetPortOpColor
262 PyMac_PRECHECK(GetPortOpColor);
263 #endif
264 if (!PyArg_ParseTuple(_args, ""))
265 return NULL;
266 GetPortOpColor(_self->ob_itself,
267 &opColor);
268 _res = Py_BuildValue("O&",
269 QdRGB_New, &opColor);
270 return _res;
273 static PyObject *GrafObj_GetPortHiliteColor(GrafPortObject *_self, PyObject *_args)
275 PyObject *_res = NULL;
276 RGBColor hiliteColor;
277 #ifndef GetPortHiliteColor
278 PyMac_PRECHECK(GetPortHiliteColor);
279 #endif
280 if (!PyArg_ParseTuple(_args, ""))
281 return NULL;
282 GetPortHiliteColor(_self->ob_itself,
283 &hiliteColor);
284 _res = Py_BuildValue("O&",
285 QdRGB_New, &hiliteColor);
286 return _res;
289 static PyObject *GrafObj_GetPortTextFont(GrafPortObject *_self, PyObject *_args)
291 PyObject *_res = NULL;
292 short _rv;
293 #ifndef GetPortTextFont
294 PyMac_PRECHECK(GetPortTextFont);
295 #endif
296 if (!PyArg_ParseTuple(_args, ""))
297 return NULL;
298 _rv = GetPortTextFont(_self->ob_itself);
299 _res = Py_BuildValue("h",
300 _rv);
301 return _res;
304 static PyObject *GrafObj_GetPortTextFace(GrafPortObject *_self, PyObject *_args)
306 PyObject *_res = NULL;
307 Style _rv;
308 #ifndef GetPortTextFace
309 PyMac_PRECHECK(GetPortTextFace);
310 #endif
311 if (!PyArg_ParseTuple(_args, ""))
312 return NULL;
313 _rv = GetPortTextFace(_self->ob_itself);
314 _res = Py_BuildValue("b",
315 _rv);
316 return _res;
319 static PyObject *GrafObj_GetPortTextMode(GrafPortObject *_self, PyObject *_args)
321 PyObject *_res = NULL;
322 short _rv;
323 #ifndef GetPortTextMode
324 PyMac_PRECHECK(GetPortTextMode);
325 #endif
326 if (!PyArg_ParseTuple(_args, ""))
327 return NULL;
328 _rv = GetPortTextMode(_self->ob_itself);
329 _res = Py_BuildValue("h",
330 _rv);
331 return _res;
334 static PyObject *GrafObj_GetPortTextSize(GrafPortObject *_self, PyObject *_args)
336 PyObject *_res = NULL;
337 short _rv;
338 #ifndef GetPortTextSize
339 PyMac_PRECHECK(GetPortTextSize);
340 #endif
341 if (!PyArg_ParseTuple(_args, ""))
342 return NULL;
343 _rv = GetPortTextSize(_self->ob_itself);
344 _res = Py_BuildValue("h",
345 _rv);
346 return _res;
349 static PyObject *GrafObj_GetPortChExtra(GrafPortObject *_self, PyObject *_args)
351 PyObject *_res = NULL;
352 short _rv;
353 #ifndef GetPortChExtra
354 PyMac_PRECHECK(GetPortChExtra);
355 #endif
356 if (!PyArg_ParseTuple(_args, ""))
357 return NULL;
358 _rv = GetPortChExtra(_self->ob_itself);
359 _res = Py_BuildValue("h",
360 _rv);
361 return _res;
364 static PyObject *GrafObj_GetPortFracHPenLocation(GrafPortObject *_self, PyObject *_args)
366 PyObject *_res = NULL;
367 short _rv;
368 #ifndef GetPortFracHPenLocation
369 PyMac_PRECHECK(GetPortFracHPenLocation);
370 #endif
371 if (!PyArg_ParseTuple(_args, ""))
372 return NULL;
373 _rv = GetPortFracHPenLocation(_self->ob_itself);
374 _res = Py_BuildValue("h",
375 _rv);
376 return _res;
379 static PyObject *GrafObj_GetPortSpExtra(GrafPortObject *_self, PyObject *_args)
381 PyObject *_res = NULL;
382 Fixed _rv;
383 #ifndef GetPortSpExtra
384 PyMac_PRECHECK(GetPortSpExtra);
385 #endif
386 if (!PyArg_ParseTuple(_args, ""))
387 return NULL;
388 _rv = GetPortSpExtra(_self->ob_itself);
389 _res = Py_BuildValue("O&",
390 PyMac_BuildFixed, _rv);
391 return _res;
394 static PyObject *GrafObj_GetPortPenVisibility(GrafPortObject *_self, PyObject *_args)
396 PyObject *_res = NULL;
397 short _rv;
398 #ifndef GetPortPenVisibility
399 PyMac_PRECHECK(GetPortPenVisibility);
400 #endif
401 if (!PyArg_ParseTuple(_args, ""))
402 return NULL;
403 _rv = GetPortPenVisibility(_self->ob_itself);
404 _res = Py_BuildValue("h",
405 _rv);
406 return _res;
409 static PyObject *GrafObj_GetPortVisibleRegion(GrafPortObject *_self, PyObject *_args)
411 PyObject *_res = NULL;
412 RgnHandle _rv;
413 RgnHandle visRgn;
414 #ifndef GetPortVisibleRegion
415 PyMac_PRECHECK(GetPortVisibleRegion);
416 #endif
417 if (!PyArg_ParseTuple(_args, "O&",
418 ResObj_Convert, &visRgn))
419 return NULL;
420 _rv = GetPortVisibleRegion(_self->ob_itself,
421 visRgn);
422 _res = Py_BuildValue("O&",
423 ResObj_New, _rv);
424 return _res;
427 static PyObject *GrafObj_GetPortClipRegion(GrafPortObject *_self, PyObject *_args)
429 PyObject *_res = NULL;
430 RgnHandle _rv;
431 RgnHandle clipRgn;
432 #ifndef GetPortClipRegion
433 PyMac_PRECHECK(GetPortClipRegion);
434 #endif
435 if (!PyArg_ParseTuple(_args, "O&",
436 ResObj_Convert, &clipRgn))
437 return NULL;
438 _rv = GetPortClipRegion(_self->ob_itself,
439 clipRgn);
440 _res = Py_BuildValue("O&",
441 ResObj_New, _rv);
442 return _res;
445 static PyObject *GrafObj_GetPortBackPixPat(GrafPortObject *_self, PyObject *_args)
447 PyObject *_res = NULL;
448 PixPatHandle _rv;
449 PixPatHandle backPattern;
450 #ifndef GetPortBackPixPat
451 PyMac_PRECHECK(GetPortBackPixPat);
452 #endif
453 if (!PyArg_ParseTuple(_args, "O&",
454 ResObj_Convert, &backPattern))
455 return NULL;
456 _rv = GetPortBackPixPat(_self->ob_itself,
457 backPattern);
458 _res = Py_BuildValue("O&",
459 ResObj_New, _rv);
460 return _res;
463 static PyObject *GrafObj_GetPortPenPixPat(GrafPortObject *_self, PyObject *_args)
465 PyObject *_res = NULL;
466 PixPatHandle _rv;
467 PixPatHandle penPattern;
468 #ifndef GetPortPenPixPat
469 PyMac_PRECHECK(GetPortPenPixPat);
470 #endif
471 if (!PyArg_ParseTuple(_args, "O&",
472 ResObj_Convert, &penPattern))
473 return NULL;
474 _rv = GetPortPenPixPat(_self->ob_itself,
475 penPattern);
476 _res = Py_BuildValue("O&",
477 ResObj_New, _rv);
478 return _res;
481 static PyObject *GrafObj_GetPortFillPixPat(GrafPortObject *_self, PyObject *_args)
483 PyObject *_res = NULL;
484 PixPatHandle _rv;
485 PixPatHandle fillPattern;
486 #ifndef GetPortFillPixPat
487 PyMac_PRECHECK(GetPortFillPixPat);
488 #endif
489 if (!PyArg_ParseTuple(_args, "O&",
490 ResObj_Convert, &fillPattern))
491 return NULL;
492 _rv = GetPortFillPixPat(_self->ob_itself,
493 fillPattern);
494 _res = Py_BuildValue("O&",
495 ResObj_New, _rv);
496 return _res;
499 static PyObject *GrafObj_GetPortPenSize(GrafPortObject *_self, PyObject *_args)
501 PyObject *_res = NULL;
502 Point penSize;
503 #ifndef GetPortPenSize
504 PyMac_PRECHECK(GetPortPenSize);
505 #endif
506 if (!PyArg_ParseTuple(_args, "O&",
507 PyMac_GetPoint, &penSize))
508 return NULL;
509 GetPortPenSize(_self->ob_itself,
510 &penSize);
511 _res = Py_BuildValue("O&",
512 PyMac_BuildPoint, penSize);
513 return _res;
516 static PyObject *GrafObj_GetPortPenMode(GrafPortObject *_self, PyObject *_args)
518 PyObject *_res = NULL;
519 SInt32 _rv;
520 #ifndef GetPortPenMode
521 PyMac_PRECHECK(GetPortPenMode);
522 #endif
523 if (!PyArg_ParseTuple(_args, ""))
524 return NULL;
525 _rv = GetPortPenMode(_self->ob_itself);
526 _res = Py_BuildValue("l",
527 _rv);
528 return _res;
531 static PyObject *GrafObj_GetPortPenLocation(GrafPortObject *_self, PyObject *_args)
533 PyObject *_res = NULL;
534 Point penLocation;
535 #ifndef GetPortPenLocation
536 PyMac_PRECHECK(GetPortPenLocation);
537 #endif
538 if (!PyArg_ParseTuple(_args, "O&",
539 PyMac_GetPoint, &penLocation))
540 return NULL;
541 GetPortPenLocation(_self->ob_itself,
542 &penLocation);
543 _res = Py_BuildValue("O&",
544 PyMac_BuildPoint, penLocation);
545 return _res;
548 static PyObject *GrafObj_IsPortRegionBeingDefined(GrafPortObject *_self, PyObject *_args)
550 PyObject *_res = NULL;
551 Boolean _rv;
552 #ifndef IsPortRegionBeingDefined
553 PyMac_PRECHECK(IsPortRegionBeingDefined);
554 #endif
555 if (!PyArg_ParseTuple(_args, ""))
556 return NULL;
557 _rv = IsPortRegionBeingDefined(_self->ob_itself);
558 _res = Py_BuildValue("b",
559 _rv);
560 return _res;
563 static PyObject *GrafObj_IsPortPictureBeingDefined(GrafPortObject *_self, PyObject *_args)
565 PyObject *_res = NULL;
566 Boolean _rv;
567 #ifndef IsPortPictureBeingDefined
568 PyMac_PRECHECK(IsPortPictureBeingDefined);
569 #endif
570 if (!PyArg_ParseTuple(_args, ""))
571 return NULL;
572 _rv = IsPortPictureBeingDefined(_self->ob_itself);
573 _res = Py_BuildValue("b",
574 _rv);
575 return _res;
578 static PyObject *GrafObj_IsPortPolyBeingDefined(GrafPortObject *_self, PyObject *_args)
580 PyObject *_res = NULL;
581 Boolean _rv;
582 #ifndef IsPortPolyBeingDefined
583 PyMac_PRECHECK(IsPortPolyBeingDefined);
584 #endif
585 if (!PyArg_ParseTuple(_args, ""))
586 return NULL;
587 _rv = IsPortPolyBeingDefined(_self->ob_itself);
588 _res = Py_BuildValue("b",
589 _rv);
590 return _res;
593 static PyObject *GrafObj_IsPortOffscreen(GrafPortObject *_self, PyObject *_args)
595 PyObject *_res = NULL;
596 Boolean _rv;
597 #ifndef IsPortOffscreen
598 PyMac_PRECHECK(IsPortOffscreen);
599 #endif
600 if (!PyArg_ParseTuple(_args, ""))
601 return NULL;
602 _rv = IsPortOffscreen(_self->ob_itself);
603 _res = Py_BuildValue("b",
604 _rv);
605 return _res;
608 static PyObject *GrafObj_IsPortColor(GrafPortObject *_self, PyObject *_args)
610 PyObject *_res = NULL;
611 Boolean _rv;
612 #ifndef IsPortColor
613 PyMac_PRECHECK(IsPortColor);
614 #endif
615 if (!PyArg_ParseTuple(_args, ""))
616 return NULL;
617 _rv = IsPortColor(_self->ob_itself);
618 _res = Py_BuildValue("b",
619 _rv);
620 return _res;
623 static PyObject *GrafObj_IsPortVisibleRegionEmpty(GrafPortObject *_self, PyObject *_args)
625 PyObject *_res = NULL;
626 Boolean _rv;
627 #ifndef IsPortVisibleRegionEmpty
628 PyMac_PRECHECK(IsPortVisibleRegionEmpty);
629 #endif
630 if (!PyArg_ParseTuple(_args, ""))
631 return NULL;
632 _rv = IsPortVisibleRegionEmpty(_self->ob_itself);
633 _res = Py_BuildValue("b",
634 _rv);
635 return _res;
638 static PyObject *GrafObj_IsPortClipRegionEmpty(GrafPortObject *_self, PyObject *_args)
640 PyObject *_res = NULL;
641 Boolean _rv;
642 #ifndef IsPortClipRegionEmpty
643 PyMac_PRECHECK(IsPortClipRegionEmpty);
644 #endif
645 if (!PyArg_ParseTuple(_args, ""))
646 return NULL;
647 _rv = IsPortClipRegionEmpty(_self->ob_itself);
648 _res = Py_BuildValue("b",
649 _rv);
650 return _res;
653 static PyObject *GrafObj_SectRegionWithPortClipRegion(GrafPortObject *_self, PyObject *_args)
655 PyObject *_res = NULL;
656 RgnHandle ioRegion;
657 #ifndef SectRegionWithPortClipRegion
658 PyMac_PRECHECK(SectRegionWithPortClipRegion);
659 #endif
660 if (!PyArg_ParseTuple(_args, "O&",
661 ResObj_Convert, &ioRegion))
662 return NULL;
663 SectRegionWithPortClipRegion(_self->ob_itself,
664 ioRegion);
665 Py_INCREF(Py_None);
666 _res = Py_None;
667 return _res;
670 static PyObject *GrafObj_SectRegionWithPortVisibleRegion(GrafPortObject *_self, PyObject *_args)
672 PyObject *_res = NULL;
673 RgnHandle ioRegion;
674 #ifndef SectRegionWithPortVisibleRegion
675 PyMac_PRECHECK(SectRegionWithPortVisibleRegion);
676 #endif
677 if (!PyArg_ParseTuple(_args, "O&",
678 ResObj_Convert, &ioRegion))
679 return NULL;
680 SectRegionWithPortVisibleRegion(_self->ob_itself,
681 ioRegion);
682 Py_INCREF(Py_None);
683 _res = Py_None;
684 return _res;
687 static PyObject *GrafObj_SwapPortPicSaveHandle(GrafPortObject *_self, PyObject *_args)
689 PyObject *_res = NULL;
690 Handle _rv;
691 Handle inPicSaveHdl;
692 #ifndef SwapPortPicSaveHandle
693 PyMac_PRECHECK(SwapPortPicSaveHandle);
694 #endif
695 if (!PyArg_ParseTuple(_args, "O&",
696 ResObj_Convert, &inPicSaveHdl))
697 return NULL;
698 _rv = SwapPortPicSaveHandle(_self->ob_itself,
699 inPicSaveHdl);
700 _res = Py_BuildValue("O&",
701 ResObj_New, _rv);
702 return _res;
705 static PyObject *GrafObj_SwapPortPolySaveHandle(GrafPortObject *_self, PyObject *_args)
707 PyObject *_res = NULL;
708 Handle _rv;
709 Handle inPolySaveHdl;
710 #ifndef SwapPortPolySaveHandle
711 PyMac_PRECHECK(SwapPortPolySaveHandle);
712 #endif
713 if (!PyArg_ParseTuple(_args, "O&",
714 ResObj_Convert, &inPolySaveHdl))
715 return NULL;
716 _rv = SwapPortPolySaveHandle(_self->ob_itself,
717 inPolySaveHdl);
718 _res = Py_BuildValue("O&",
719 ResObj_New, _rv);
720 return _res;
723 static PyObject *GrafObj_SwapPortRegionSaveHandle(GrafPortObject *_self, PyObject *_args)
725 PyObject *_res = NULL;
726 Handle _rv;
727 Handle inRegionSaveHdl;
728 #ifndef SwapPortRegionSaveHandle
729 PyMac_PRECHECK(SwapPortRegionSaveHandle);
730 #endif
731 if (!PyArg_ParseTuple(_args, "O&",
732 ResObj_Convert, &inRegionSaveHdl))
733 return NULL;
734 _rv = SwapPortRegionSaveHandle(_self->ob_itself,
735 inRegionSaveHdl);
736 _res = Py_BuildValue("O&",
737 ResObj_New, _rv);
738 return _res;
741 static PyObject *GrafObj_SetPortBounds(GrafPortObject *_self, PyObject *_args)
743 PyObject *_res = NULL;
744 Rect rect;
745 #ifndef SetPortBounds
746 PyMac_PRECHECK(SetPortBounds);
747 #endif
748 if (!PyArg_ParseTuple(_args, "O&",
749 PyMac_GetRect, &rect))
750 return NULL;
751 SetPortBounds(_self->ob_itself,
752 &rect);
753 Py_INCREF(Py_None);
754 _res = Py_None;
755 return _res;
758 static PyObject *GrafObj_SetPortOpColor(GrafPortObject *_self, PyObject *_args)
760 PyObject *_res = NULL;
761 RGBColor opColor;
762 #ifndef SetPortOpColor
763 PyMac_PRECHECK(SetPortOpColor);
764 #endif
765 if (!PyArg_ParseTuple(_args, "O&",
766 QdRGB_Convert, &opColor))
767 return NULL;
768 SetPortOpColor(_self->ob_itself,
769 &opColor);
770 Py_INCREF(Py_None);
771 _res = Py_None;
772 return _res;
775 static PyObject *GrafObj_SetPortTextFont(GrafPortObject *_self, PyObject *_args)
777 PyObject *_res = NULL;
778 short txFont;
779 #ifndef SetPortTextFont
780 PyMac_PRECHECK(SetPortTextFont);
781 #endif
782 if (!PyArg_ParseTuple(_args, "h",
783 &txFont))
784 return NULL;
785 SetPortTextFont(_self->ob_itself,
786 txFont);
787 Py_INCREF(Py_None);
788 _res = Py_None;
789 return _res;
792 static PyObject *GrafObj_SetPortTextSize(GrafPortObject *_self, PyObject *_args)
794 PyObject *_res = NULL;
795 short txSize;
796 #ifndef SetPortTextSize
797 PyMac_PRECHECK(SetPortTextSize);
798 #endif
799 if (!PyArg_ParseTuple(_args, "h",
800 &txSize))
801 return NULL;
802 SetPortTextSize(_self->ob_itself,
803 txSize);
804 Py_INCREF(Py_None);
805 _res = Py_None;
806 return _res;
809 static PyObject *GrafObj_SetPortTextFace(GrafPortObject *_self, PyObject *_args)
811 PyObject *_res = NULL;
812 StyleParameter face;
813 #ifndef SetPortTextFace
814 PyMac_PRECHECK(SetPortTextFace);
815 #endif
816 if (!PyArg_ParseTuple(_args, "h",
817 &face))
818 return NULL;
819 SetPortTextFace(_self->ob_itself,
820 face);
821 Py_INCREF(Py_None);
822 _res = Py_None;
823 return _res;
826 static PyObject *GrafObj_SetPortTextMode(GrafPortObject *_self, PyObject *_args)
828 PyObject *_res = NULL;
829 short mode;
830 #ifndef SetPortTextMode
831 PyMac_PRECHECK(SetPortTextMode);
832 #endif
833 if (!PyArg_ParseTuple(_args, "h",
834 &mode))
835 return NULL;
836 SetPortTextMode(_self->ob_itself,
837 mode);
838 Py_INCREF(Py_None);
839 _res = Py_None;
840 return _res;
843 static PyObject *GrafObj_SetPortVisibleRegion(GrafPortObject *_self, PyObject *_args)
845 PyObject *_res = NULL;
846 RgnHandle visRgn;
847 #ifndef SetPortVisibleRegion
848 PyMac_PRECHECK(SetPortVisibleRegion);
849 #endif
850 if (!PyArg_ParseTuple(_args, "O&",
851 ResObj_Convert, &visRgn))
852 return NULL;
853 SetPortVisibleRegion(_self->ob_itself,
854 visRgn);
855 Py_INCREF(Py_None);
856 _res = Py_None;
857 return _res;
860 static PyObject *GrafObj_SetPortClipRegion(GrafPortObject *_self, PyObject *_args)
862 PyObject *_res = NULL;
863 RgnHandle clipRgn;
864 #ifndef SetPortClipRegion
865 PyMac_PRECHECK(SetPortClipRegion);
866 #endif
867 if (!PyArg_ParseTuple(_args, "O&",
868 ResObj_Convert, &clipRgn))
869 return NULL;
870 SetPortClipRegion(_self->ob_itself,
871 clipRgn);
872 Py_INCREF(Py_None);
873 _res = Py_None;
874 return _res;
877 static PyObject *GrafObj_SetPortPenPixPat(GrafPortObject *_self, PyObject *_args)
879 PyObject *_res = NULL;
880 PixPatHandle penPattern;
881 #ifndef SetPortPenPixPat
882 PyMac_PRECHECK(SetPortPenPixPat);
883 #endif
884 if (!PyArg_ParseTuple(_args, "O&",
885 ResObj_Convert, &penPattern))
886 return NULL;
887 SetPortPenPixPat(_self->ob_itself,
888 penPattern);
889 Py_INCREF(Py_None);
890 _res = Py_None;
891 return _res;
894 static PyObject *GrafObj_SetPortFillPixPat(GrafPortObject *_self, PyObject *_args)
896 PyObject *_res = NULL;
897 PixPatHandle penPattern;
898 #ifndef SetPortFillPixPat
899 PyMac_PRECHECK(SetPortFillPixPat);
900 #endif
901 if (!PyArg_ParseTuple(_args, "O&",
902 ResObj_Convert, &penPattern))
903 return NULL;
904 SetPortFillPixPat(_self->ob_itself,
905 penPattern);
906 Py_INCREF(Py_None);
907 _res = Py_None;
908 return _res;
911 static PyObject *GrafObj_SetPortBackPixPat(GrafPortObject *_self, PyObject *_args)
913 PyObject *_res = NULL;
914 PixPatHandle backPattern;
915 #ifndef SetPortBackPixPat
916 PyMac_PRECHECK(SetPortBackPixPat);
917 #endif
918 if (!PyArg_ParseTuple(_args, "O&",
919 ResObj_Convert, &backPattern))
920 return NULL;
921 SetPortBackPixPat(_self->ob_itself,
922 backPattern);
923 Py_INCREF(Py_None);
924 _res = Py_None;
925 return _res;
928 static PyObject *GrafObj_SetPortPenSize(GrafPortObject *_self, PyObject *_args)
930 PyObject *_res = NULL;
931 Point penSize;
932 #ifndef SetPortPenSize
933 PyMac_PRECHECK(SetPortPenSize);
934 #endif
935 if (!PyArg_ParseTuple(_args, "O&",
936 PyMac_GetPoint, &penSize))
937 return NULL;
938 SetPortPenSize(_self->ob_itself,
939 penSize);
940 Py_INCREF(Py_None);
941 _res = Py_None;
942 return _res;
945 static PyObject *GrafObj_SetPortPenMode(GrafPortObject *_self, PyObject *_args)
947 PyObject *_res = NULL;
948 SInt32 penMode;
949 #ifndef SetPortPenMode
950 PyMac_PRECHECK(SetPortPenMode);
951 #endif
952 if (!PyArg_ParseTuple(_args, "l",
953 &penMode))
954 return NULL;
955 SetPortPenMode(_self->ob_itself,
956 penMode);
957 Py_INCREF(Py_None);
958 _res = Py_None;
959 return _res;
962 static PyObject *GrafObj_SetPortFracHPenLocation(GrafPortObject *_self, PyObject *_args)
964 PyObject *_res = NULL;
965 short pnLocHFrac;
966 #ifndef SetPortFracHPenLocation
967 PyMac_PRECHECK(SetPortFracHPenLocation);
968 #endif
969 if (!PyArg_ParseTuple(_args, "h",
970 &pnLocHFrac))
971 return NULL;
972 SetPortFracHPenLocation(_self->ob_itself,
973 pnLocHFrac);
974 Py_INCREF(Py_None);
975 _res = Py_None;
976 return _res;
979 static PyObject *GrafObj_DisposePort(GrafPortObject *_self, PyObject *_args)
981 PyObject *_res = NULL;
982 #ifndef DisposePort
983 PyMac_PRECHECK(DisposePort);
984 #endif
985 if (!PyArg_ParseTuple(_args, ""))
986 return NULL;
987 DisposePort(_self->ob_itself);
988 Py_INCREF(Py_None);
989 _res = Py_None;
990 return _res;
993 static PyObject *GrafObj_QDLocalToGlobalPoint(GrafPortObject *_self, PyObject *_args)
995 PyObject *_res = NULL;
996 Point point;
997 #ifndef QDLocalToGlobalPoint
998 PyMac_PRECHECK(QDLocalToGlobalPoint);
999 #endif
1000 if (!PyArg_ParseTuple(_args, "O&",
1001 PyMac_GetPoint, &point))
1002 return NULL;
1003 QDLocalToGlobalPoint(_self->ob_itself,
1004 &point);
1005 _res = Py_BuildValue("O&",
1006 PyMac_BuildPoint, point);
1007 return _res;
1010 static PyObject *GrafObj_QDGlobalToLocalPoint(GrafPortObject *_self, PyObject *_args)
1012 PyObject *_res = NULL;
1013 Point point;
1014 #ifndef QDGlobalToLocalPoint
1015 PyMac_PRECHECK(QDGlobalToLocalPoint);
1016 #endif
1017 if (!PyArg_ParseTuple(_args, "O&",
1018 PyMac_GetPoint, &point))
1019 return NULL;
1020 QDGlobalToLocalPoint(_self->ob_itself,
1021 &point);
1022 _res = Py_BuildValue("O&",
1023 PyMac_BuildPoint, point);
1024 return _res;
1027 static PyObject *GrafObj_QDLocalToGlobalRect(GrafPortObject *_self, PyObject *_args)
1029 PyObject *_res = NULL;
1030 Rect bounds;
1031 #ifndef QDLocalToGlobalRect
1032 PyMac_PRECHECK(QDLocalToGlobalRect);
1033 #endif
1034 if (!PyArg_ParseTuple(_args, ""))
1035 return NULL;
1036 QDLocalToGlobalRect(_self->ob_itself,
1037 &bounds);
1038 _res = Py_BuildValue("O&",
1039 PyMac_BuildRect, &bounds);
1040 return _res;
1043 static PyObject *GrafObj_QDGlobalToLocalRect(GrafPortObject *_self, PyObject *_args)
1045 PyObject *_res = NULL;
1046 Rect bounds;
1047 #ifndef QDGlobalToLocalRect
1048 PyMac_PRECHECK(QDGlobalToLocalRect);
1049 #endif
1050 if (!PyArg_ParseTuple(_args, ""))
1051 return NULL;
1052 QDGlobalToLocalRect(_self->ob_itself,
1053 &bounds);
1054 _res = Py_BuildValue("O&",
1055 PyMac_BuildRect, &bounds);
1056 return _res;
1059 static PyObject *GrafObj_QDLocalToGlobalRegion(GrafPortObject *_self, PyObject *_args)
1061 PyObject *_res = NULL;
1062 RgnHandle _rv;
1063 RgnHandle region;
1064 #ifndef QDLocalToGlobalRegion
1065 PyMac_PRECHECK(QDLocalToGlobalRegion);
1066 #endif
1067 if (!PyArg_ParseTuple(_args, "O&",
1068 ResObj_Convert, &region))
1069 return NULL;
1070 _rv = QDLocalToGlobalRegion(_self->ob_itself,
1071 region);
1072 _res = Py_BuildValue("O&",
1073 ResObj_New, _rv);
1074 return _res;
1077 static PyObject *GrafObj_QDGlobalToLocalRegion(GrafPortObject *_self, PyObject *_args)
1079 PyObject *_res = NULL;
1080 RgnHandle _rv;
1081 RgnHandle region;
1082 #ifndef QDGlobalToLocalRegion
1083 PyMac_PRECHECK(QDGlobalToLocalRegion);
1084 #endif
1085 if (!PyArg_ParseTuple(_args, "O&",
1086 ResObj_Convert, &region))
1087 return NULL;
1088 _rv = QDGlobalToLocalRegion(_self->ob_itself,
1089 region);
1090 _res = Py_BuildValue("O&",
1091 ResObj_New, _rv);
1092 return _res;
1095 static PyObject *GrafObj_QDIsPortBuffered(GrafPortObject *_self, PyObject *_args)
1097 PyObject *_res = NULL;
1098 Boolean _rv;
1099 #ifndef QDIsPortBuffered
1100 PyMac_PRECHECK(QDIsPortBuffered);
1101 #endif
1102 if (!PyArg_ParseTuple(_args, ""))
1103 return NULL;
1104 _rv = QDIsPortBuffered(_self->ob_itself);
1105 _res = Py_BuildValue("b",
1106 _rv);
1107 return _res;
1110 static PyObject *GrafObj_QDIsPortBufferDirty(GrafPortObject *_self, PyObject *_args)
1112 PyObject *_res = NULL;
1113 Boolean _rv;
1114 #ifndef QDIsPortBufferDirty
1115 PyMac_PRECHECK(QDIsPortBufferDirty);
1116 #endif
1117 if (!PyArg_ParseTuple(_args, ""))
1118 return NULL;
1119 _rv = QDIsPortBufferDirty(_self->ob_itself);
1120 _res = Py_BuildValue("b",
1121 _rv);
1122 return _res;
1125 static PyObject *GrafObj_QDFlushPortBuffer(GrafPortObject *_self, PyObject *_args)
1127 PyObject *_res = NULL;
1128 RgnHandle region;
1129 #ifndef QDFlushPortBuffer
1130 PyMac_PRECHECK(QDFlushPortBuffer);
1131 #endif
1132 if (!PyArg_ParseTuple(_args, "O&",
1133 OptResObj_Convert, &region))
1134 return NULL;
1135 QDFlushPortBuffer(_self->ob_itself,
1136 region);
1137 Py_INCREF(Py_None);
1138 _res = Py_None;
1139 return _res;
1142 static PyObject *GrafObj_QDGetDirtyRegion(GrafPortObject *_self, PyObject *_args)
1144 PyObject *_res = NULL;
1145 OSStatus _err;
1146 RgnHandle rgn;
1147 #ifndef QDGetDirtyRegion
1148 PyMac_PRECHECK(QDGetDirtyRegion);
1149 #endif
1150 if (!PyArg_ParseTuple(_args, "O&",
1151 ResObj_Convert, &rgn))
1152 return NULL;
1153 _err = QDGetDirtyRegion(_self->ob_itself,
1154 rgn);
1155 if (_err != noErr) return PyMac_Error(_err);
1156 Py_INCREF(Py_None);
1157 _res = Py_None;
1158 return _res;
1161 static PyObject *GrafObj_QDSetDirtyRegion(GrafPortObject *_self, PyObject *_args)
1163 PyObject *_res = NULL;
1164 OSStatus _err;
1165 RgnHandle rgn;
1166 #ifndef QDSetDirtyRegion
1167 PyMac_PRECHECK(QDSetDirtyRegion);
1168 #endif
1169 if (!PyArg_ParseTuple(_args, "O&",
1170 ResObj_Convert, &rgn))
1171 return NULL;
1172 _err = QDSetDirtyRegion(_self->ob_itself,
1173 rgn);
1174 if (_err != noErr) return PyMac_Error(_err);
1175 Py_INCREF(Py_None);
1176 _res = Py_None;
1177 return _res;
1180 static PyMethodDef GrafObj_methods[] = {
1181 {"MacSetPort", (PyCFunction)GrafObj_MacSetPort, 1,
1182 PyDoc_STR("() -> None")},
1183 {"QDSwapPort", (PyCFunction)GrafObj_QDSwapPort, 1,
1184 PyDoc_STR("() -> (Boolean _rv, CGrafPtr outOldPort)")},
1185 {"IsValidPort", (PyCFunction)GrafObj_IsValidPort, 1,
1186 PyDoc_STR("() -> (Boolean _rv)")},
1187 {"GetPortPixMap", (PyCFunction)GrafObj_GetPortPixMap, 1,
1188 PyDoc_STR("() -> (PixMapHandle _rv)")},
1189 {"GetPortBitMapForCopyBits", (PyCFunction)GrafObj_GetPortBitMapForCopyBits, 1,
1190 PyDoc_STR("() -> (const BitMap * _rv)")},
1191 {"GetPortBounds", (PyCFunction)GrafObj_GetPortBounds, 1,
1192 PyDoc_STR("() -> (Rect rect)")},
1193 {"GetPortForeColor", (PyCFunction)GrafObj_GetPortForeColor, 1,
1194 PyDoc_STR("() -> (RGBColor foreColor)")},
1195 {"GetPortBackColor", (PyCFunction)GrafObj_GetPortBackColor, 1,
1196 PyDoc_STR("() -> (RGBColor backColor)")},
1197 {"GetPortOpColor", (PyCFunction)GrafObj_GetPortOpColor, 1,
1198 PyDoc_STR("() -> (RGBColor opColor)")},
1199 {"GetPortHiliteColor", (PyCFunction)GrafObj_GetPortHiliteColor, 1,
1200 PyDoc_STR("() -> (RGBColor hiliteColor)")},
1201 {"GetPortTextFont", (PyCFunction)GrafObj_GetPortTextFont, 1,
1202 PyDoc_STR("() -> (short _rv)")},
1203 {"GetPortTextFace", (PyCFunction)GrafObj_GetPortTextFace, 1,
1204 PyDoc_STR("() -> (Style _rv)")},
1205 {"GetPortTextMode", (PyCFunction)GrafObj_GetPortTextMode, 1,
1206 PyDoc_STR("() -> (short _rv)")},
1207 {"GetPortTextSize", (PyCFunction)GrafObj_GetPortTextSize, 1,
1208 PyDoc_STR("() -> (short _rv)")},
1209 {"GetPortChExtra", (PyCFunction)GrafObj_GetPortChExtra, 1,
1210 PyDoc_STR("() -> (short _rv)")},
1211 {"GetPortFracHPenLocation", (PyCFunction)GrafObj_GetPortFracHPenLocation, 1,
1212 PyDoc_STR("() -> (short _rv)")},
1213 {"GetPortSpExtra", (PyCFunction)GrafObj_GetPortSpExtra, 1,
1214 PyDoc_STR("() -> (Fixed _rv)")},
1215 {"GetPortPenVisibility", (PyCFunction)GrafObj_GetPortPenVisibility, 1,
1216 PyDoc_STR("() -> (short _rv)")},
1217 {"GetPortVisibleRegion", (PyCFunction)GrafObj_GetPortVisibleRegion, 1,
1218 PyDoc_STR("(RgnHandle visRgn) -> (RgnHandle _rv)")},
1219 {"GetPortClipRegion", (PyCFunction)GrafObj_GetPortClipRegion, 1,
1220 PyDoc_STR("(RgnHandle clipRgn) -> (RgnHandle _rv)")},
1221 {"GetPortBackPixPat", (PyCFunction)GrafObj_GetPortBackPixPat, 1,
1222 PyDoc_STR("(PixPatHandle backPattern) -> (PixPatHandle _rv)")},
1223 {"GetPortPenPixPat", (PyCFunction)GrafObj_GetPortPenPixPat, 1,
1224 PyDoc_STR("(PixPatHandle penPattern) -> (PixPatHandle _rv)")},
1225 {"GetPortFillPixPat", (PyCFunction)GrafObj_GetPortFillPixPat, 1,
1226 PyDoc_STR("(PixPatHandle fillPattern) -> (PixPatHandle _rv)")},
1227 {"GetPortPenSize", (PyCFunction)GrafObj_GetPortPenSize, 1,
1228 PyDoc_STR("(Point penSize) -> (Point penSize)")},
1229 {"GetPortPenMode", (PyCFunction)GrafObj_GetPortPenMode, 1,
1230 PyDoc_STR("() -> (SInt32 _rv)")},
1231 {"GetPortPenLocation", (PyCFunction)GrafObj_GetPortPenLocation, 1,
1232 PyDoc_STR("(Point penLocation) -> (Point penLocation)")},
1233 {"IsPortRegionBeingDefined", (PyCFunction)GrafObj_IsPortRegionBeingDefined, 1,
1234 PyDoc_STR("() -> (Boolean _rv)")},
1235 {"IsPortPictureBeingDefined", (PyCFunction)GrafObj_IsPortPictureBeingDefined, 1,
1236 PyDoc_STR("() -> (Boolean _rv)")},
1237 {"IsPortPolyBeingDefined", (PyCFunction)GrafObj_IsPortPolyBeingDefined, 1,
1238 PyDoc_STR("() -> (Boolean _rv)")},
1239 {"IsPortOffscreen", (PyCFunction)GrafObj_IsPortOffscreen, 1,
1240 PyDoc_STR("() -> (Boolean _rv)")},
1241 {"IsPortColor", (PyCFunction)GrafObj_IsPortColor, 1,
1242 PyDoc_STR("() -> (Boolean _rv)")},
1243 {"IsPortVisibleRegionEmpty", (PyCFunction)GrafObj_IsPortVisibleRegionEmpty, 1,
1244 PyDoc_STR("() -> (Boolean _rv)")},
1245 {"IsPortClipRegionEmpty", (PyCFunction)GrafObj_IsPortClipRegionEmpty, 1,
1246 PyDoc_STR("() -> (Boolean _rv)")},
1247 {"SectRegionWithPortClipRegion", (PyCFunction)GrafObj_SectRegionWithPortClipRegion, 1,
1248 PyDoc_STR("(RgnHandle ioRegion) -> None")},
1249 {"SectRegionWithPortVisibleRegion", (PyCFunction)GrafObj_SectRegionWithPortVisibleRegion, 1,
1250 PyDoc_STR("(RgnHandle ioRegion) -> None")},
1251 {"SwapPortPicSaveHandle", (PyCFunction)GrafObj_SwapPortPicSaveHandle, 1,
1252 PyDoc_STR("(Handle inPicSaveHdl) -> (Handle _rv)")},
1253 {"SwapPortPolySaveHandle", (PyCFunction)GrafObj_SwapPortPolySaveHandle, 1,
1254 PyDoc_STR("(Handle inPolySaveHdl) -> (Handle _rv)")},
1255 {"SwapPortRegionSaveHandle", (PyCFunction)GrafObj_SwapPortRegionSaveHandle, 1,
1256 PyDoc_STR("(Handle inRegionSaveHdl) -> (Handle _rv)")},
1257 {"SetPortBounds", (PyCFunction)GrafObj_SetPortBounds, 1,
1258 PyDoc_STR("(Rect rect) -> None")},
1259 {"SetPortOpColor", (PyCFunction)GrafObj_SetPortOpColor, 1,
1260 PyDoc_STR("(RGBColor opColor) -> None")},
1261 {"SetPortTextFont", (PyCFunction)GrafObj_SetPortTextFont, 1,
1262 PyDoc_STR("(short txFont) -> None")},
1263 {"SetPortTextSize", (PyCFunction)GrafObj_SetPortTextSize, 1,
1264 PyDoc_STR("(short txSize) -> None")},
1265 {"SetPortTextFace", (PyCFunction)GrafObj_SetPortTextFace, 1,
1266 PyDoc_STR("(StyleParameter face) -> None")},
1267 {"SetPortTextMode", (PyCFunction)GrafObj_SetPortTextMode, 1,
1268 PyDoc_STR("(short mode) -> None")},
1269 {"SetPortVisibleRegion", (PyCFunction)GrafObj_SetPortVisibleRegion, 1,
1270 PyDoc_STR("(RgnHandle visRgn) -> None")},
1271 {"SetPortClipRegion", (PyCFunction)GrafObj_SetPortClipRegion, 1,
1272 PyDoc_STR("(RgnHandle clipRgn) -> None")},
1273 {"SetPortPenPixPat", (PyCFunction)GrafObj_SetPortPenPixPat, 1,
1274 PyDoc_STR("(PixPatHandle penPattern) -> None")},
1275 {"SetPortFillPixPat", (PyCFunction)GrafObj_SetPortFillPixPat, 1,
1276 PyDoc_STR("(PixPatHandle penPattern) -> None")},
1277 {"SetPortBackPixPat", (PyCFunction)GrafObj_SetPortBackPixPat, 1,
1278 PyDoc_STR("(PixPatHandle backPattern) -> None")},
1279 {"SetPortPenSize", (PyCFunction)GrafObj_SetPortPenSize, 1,
1280 PyDoc_STR("(Point penSize) -> None")},
1281 {"SetPortPenMode", (PyCFunction)GrafObj_SetPortPenMode, 1,
1282 PyDoc_STR("(SInt32 penMode) -> None")},
1283 {"SetPortFracHPenLocation", (PyCFunction)GrafObj_SetPortFracHPenLocation, 1,
1284 PyDoc_STR("(short pnLocHFrac) -> None")},
1285 {"DisposePort", (PyCFunction)GrafObj_DisposePort, 1,
1286 PyDoc_STR("() -> None")},
1287 {"QDLocalToGlobalPoint", (PyCFunction)GrafObj_QDLocalToGlobalPoint, 1,
1288 PyDoc_STR("(Point point) -> (Point point)")},
1289 {"QDGlobalToLocalPoint", (PyCFunction)GrafObj_QDGlobalToLocalPoint, 1,
1290 PyDoc_STR("(Point point) -> (Point point)")},
1291 {"QDLocalToGlobalRect", (PyCFunction)GrafObj_QDLocalToGlobalRect, 1,
1292 PyDoc_STR("() -> (Rect bounds)")},
1293 {"QDGlobalToLocalRect", (PyCFunction)GrafObj_QDGlobalToLocalRect, 1,
1294 PyDoc_STR("() -> (Rect bounds)")},
1295 {"QDLocalToGlobalRegion", (PyCFunction)GrafObj_QDLocalToGlobalRegion, 1,
1296 PyDoc_STR("(RgnHandle region) -> (RgnHandle _rv)")},
1297 {"QDGlobalToLocalRegion", (PyCFunction)GrafObj_QDGlobalToLocalRegion, 1,
1298 PyDoc_STR("(RgnHandle region) -> (RgnHandle _rv)")},
1299 {"QDIsPortBuffered", (PyCFunction)GrafObj_QDIsPortBuffered, 1,
1300 PyDoc_STR("() -> (Boolean _rv)")},
1301 {"QDIsPortBufferDirty", (PyCFunction)GrafObj_QDIsPortBufferDirty, 1,
1302 PyDoc_STR("() -> (Boolean _rv)")},
1303 {"QDFlushPortBuffer", (PyCFunction)GrafObj_QDFlushPortBuffer, 1,
1304 PyDoc_STR("(RgnHandle region) -> None")},
1305 {"QDGetDirtyRegion", (PyCFunction)GrafObj_QDGetDirtyRegion, 1,
1306 PyDoc_STR("(RgnHandle rgn) -> None")},
1307 {"QDSetDirtyRegion", (PyCFunction)GrafObj_QDSetDirtyRegion, 1,
1308 PyDoc_STR("(RgnHandle rgn) -> None")},
1309 {NULL, NULL, 0}
1312 static PyObject *GrafObj_get_visRgn(GrafPortObject *self, void *closure)
1314 RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
1315 return Py_BuildValue("O&", ResObj_New, (Handle)GetPortVisibleRegion(self->ob_itself, h));
1319 #define GrafObj_set_visRgn NULL
1321 static PyObject *GrafObj_get_clipRgn(GrafPortObject *self, void *closure)
1323 RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */
1324 return Py_BuildValue("O&", ResObj_New, (Handle)GetPortClipRegion(self->ob_itself, h));
1328 #define GrafObj_set_clipRgn NULL
1330 static PyGetSetDef GrafObj_getsetlist[] = {
1331 {"visRgn", (getter)GrafObj_get_visRgn, (setter)GrafObj_set_visRgn, "Convenience attribute: return a copy of the visible region"},
1332 {"clipRgn", (getter)GrafObj_get_clipRgn, (setter)GrafObj_set_clipRgn, "Convenience attribute: return a copy of the clipping region"},
1333 {NULL, NULL, NULL, NULL},
1337 #define GrafObj_compare NULL
1339 #define GrafObj_repr NULL
1341 #define GrafObj_hash NULL
1342 #define GrafObj_tp_init 0
1344 #define GrafObj_tp_alloc PyType_GenericAlloc
1346 static PyObject *GrafObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
1348 PyObject *_self;
1349 GrafPtr itself;
1350 char *kw[] = {"itself", 0};
1352 if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, GrafObj_Convert, &itself)) return NULL;
1353 if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
1354 ((GrafPortObject *)_self)->ob_itself = itself;
1355 return _self;
1358 #define GrafObj_tp_free PyObject_Del
1361 PyTypeObject GrafPort_Type = {
1362 PyObject_HEAD_INIT(NULL)
1363 0, /*ob_size*/
1364 "_Qd.GrafPort", /*tp_name*/
1365 sizeof(GrafPortObject), /*tp_basicsize*/
1366 0, /*tp_itemsize*/
1367 /* methods */
1368 (destructor) GrafObj_dealloc, /*tp_dealloc*/
1369 0, /*tp_print*/
1370 (getattrfunc)0, /*tp_getattr*/
1371 (setattrfunc)0, /*tp_setattr*/
1372 (cmpfunc) GrafObj_compare, /*tp_compare*/
1373 (reprfunc) GrafObj_repr, /*tp_repr*/
1374 (PyNumberMethods *)0, /* tp_as_number */
1375 (PySequenceMethods *)0, /* tp_as_sequence */
1376 (PyMappingMethods *)0, /* tp_as_mapping */
1377 (hashfunc) GrafObj_hash, /*tp_hash*/
1378 0, /*tp_call*/
1379 0, /*tp_str*/
1380 PyObject_GenericGetAttr, /*tp_getattro*/
1381 PyObject_GenericSetAttr, /*tp_setattro */
1382 0, /*tp_as_buffer*/
1383 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
1384 0, /*tp_doc*/
1385 0, /*tp_traverse*/
1386 0, /*tp_clear*/
1387 0, /*tp_richcompare*/
1388 0, /*tp_weaklistoffset*/
1389 0, /*tp_iter*/
1390 0, /*tp_iternext*/
1391 GrafObj_methods, /* tp_methods */
1392 0, /*tp_members*/
1393 GrafObj_getsetlist, /*tp_getset*/
1394 0, /*tp_base*/
1395 0, /*tp_dict*/
1396 0, /*tp_descr_get*/
1397 0, /*tp_descr_set*/
1398 0, /*tp_dictoffset*/
1399 GrafObj_tp_init, /* tp_init */
1400 GrafObj_tp_alloc, /* tp_alloc */
1401 GrafObj_tp_new, /* tp_new */
1402 GrafObj_tp_free, /* tp_free */
1405 /* -------------------- End object type GrafPort -------------------- */
1408 /* ----------------------- Object type BitMap ----------------------- */
1410 PyTypeObject BitMap_Type;
1412 #define BMObj_Check(x) ((x)->ob_type == &BitMap_Type || PyObject_TypeCheck((x), &BitMap_Type))
1414 typedef struct BitMapObject {
1415 PyObject_HEAD
1416 BitMapPtr ob_itself;
1417 PyObject *referred_object;
1418 BitMap *referred_bitmap;
1419 } BitMapObject;
1421 PyObject *BMObj_New(BitMapPtr itself)
1423 BitMapObject *it;
1424 if (itself == NULL) return PyMac_Error(resNotFound);
1425 it = PyObject_NEW(BitMapObject, &BitMap_Type);
1426 if (it == NULL) return NULL;
1427 it->ob_itself = itself;
1428 it->referred_object = NULL;
1429 it->referred_bitmap = NULL;
1430 return (PyObject *)it;
1433 int BMObj_Convert(PyObject *v, BitMapPtr *p_itself)
1435 if (!BMObj_Check(v))
1437 PyErr_SetString(PyExc_TypeError, "BitMap required");
1438 return 0;
1440 *p_itself = ((BitMapObject *)v)->ob_itself;
1441 return 1;
1444 static void BMObj_dealloc(BitMapObject *self)
1446 Py_XDECREF(self->referred_object);
1447 if (self->referred_bitmap) free(self->referred_bitmap);
1448 self->ob_type->tp_free((PyObject *)self);
1451 static PyObject *BMObj_getdata(BitMapObject *_self, PyObject *_args)
1453 PyObject *_res = NULL;
1455 int from, length;
1456 char *cp;
1458 if ( !PyArg_ParseTuple(_args, "ii", &from, &length) )
1459 return NULL;
1460 cp = _self->ob_itself->baseAddr+from;
1461 _res = PyString_FromStringAndSize(cp, length);
1462 return _res;
1466 static PyObject *BMObj_putdata(BitMapObject *_self, PyObject *_args)
1468 PyObject *_res = NULL;
1470 int from, length;
1471 char *cp, *icp;
1473 if ( !PyArg_ParseTuple(_args, "is#", &from, &icp, &length) )
1474 return NULL;
1475 cp = _self->ob_itself->baseAddr+from;
1476 memcpy(cp, icp, length);
1477 Py_INCREF(Py_None);
1478 _res = Py_None;
1479 return _res;
1483 static PyMethodDef BMObj_methods[] = {
1484 {"getdata", (PyCFunction)BMObj_getdata, 1,
1485 PyDoc_STR("(int start, int size) -> string. Return bytes from the bitmap")},
1486 {"putdata", (PyCFunction)BMObj_putdata, 1,
1487 PyDoc_STR("(int start, string data). Store bytes into the bitmap")},
1488 {NULL, NULL, 0}
1491 static PyObject *BMObj_get_baseAddr(BitMapObject *self, void *closure)
1493 return PyInt_FromLong((long)self->ob_itself->baseAddr);
1496 #define BMObj_set_baseAddr NULL
1498 static PyObject *BMObj_get_rowBytes(BitMapObject *self, void *closure)
1500 return PyInt_FromLong((long)self->ob_itself->rowBytes);
1503 #define BMObj_set_rowBytes NULL
1505 static PyObject *BMObj_get_bounds(BitMapObject *self, void *closure)
1507 return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->bounds);
1510 #define BMObj_set_bounds NULL
1512 static PyObject *BMObj_get_bitmap_data(BitMapObject *self, void *closure)
1514 return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(BitMap));
1517 #define BMObj_set_bitmap_data NULL
1519 static PyObject *BMObj_get_pixmap_data(BitMapObject *self, void *closure)
1521 return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(PixMap));
1524 #define BMObj_set_pixmap_data NULL
1526 static PyGetSetDef BMObj_getsetlist[] = {
1527 {"baseAddr", (getter)BMObj_get_baseAddr, (setter)BMObj_set_baseAddr, NULL},
1528 {"rowBytes", (getter)BMObj_get_rowBytes, (setter)BMObj_set_rowBytes, NULL},
1529 {"bounds", (getter)BMObj_get_bounds, (setter)BMObj_set_bounds, NULL},
1530 {"bitmap_data", (getter)BMObj_get_bitmap_data, (setter)BMObj_set_bitmap_data, NULL},
1531 {"pixmap_data", (getter)BMObj_get_pixmap_data, (setter)BMObj_set_pixmap_data, NULL},
1532 {NULL, NULL, NULL, NULL},
1536 #define BMObj_compare NULL
1538 #define BMObj_repr NULL
1540 #define BMObj_hash NULL
1541 #define BMObj_tp_init 0
1543 #define BMObj_tp_alloc PyType_GenericAlloc
1545 static PyObject *BMObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds)
1547 PyObject *_self;
1548 BitMapPtr itself;
1549 char *kw[] = {"itself", 0};
1551 if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, BMObj_Convert, &itself)) return NULL;
1552 if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL;
1553 ((BitMapObject *)_self)->ob_itself = itself;
1554 return _self;
1557 #define BMObj_tp_free PyObject_Del
1560 PyTypeObject BitMap_Type = {
1561 PyObject_HEAD_INIT(NULL)
1562 0, /*ob_size*/
1563 "_Qd.BitMap", /*tp_name*/
1564 sizeof(BitMapObject), /*tp_basicsize*/
1565 0, /*tp_itemsize*/
1566 /* methods */
1567 (destructor) BMObj_dealloc, /*tp_dealloc*/
1568 0, /*tp_print*/
1569 (getattrfunc)0, /*tp_getattr*/
1570 (setattrfunc)0, /*tp_setattr*/
1571 (cmpfunc) BMObj_compare, /*tp_compare*/
1572 (reprfunc) BMObj_repr, /*tp_repr*/
1573 (PyNumberMethods *)0, /* tp_as_number */
1574 (PySequenceMethods *)0, /* tp_as_sequence */
1575 (PyMappingMethods *)0, /* tp_as_mapping */
1576 (hashfunc) BMObj_hash, /*tp_hash*/
1577 0, /*tp_call*/
1578 0, /*tp_str*/
1579 PyObject_GenericGetAttr, /*tp_getattro*/
1580 PyObject_GenericSetAttr, /*tp_setattro */
1581 0, /*tp_as_buffer*/
1582 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */
1583 0, /*tp_doc*/
1584 0, /*tp_traverse*/
1585 0, /*tp_clear*/
1586 0, /*tp_richcompare*/
1587 0, /*tp_weaklistoffset*/
1588 0, /*tp_iter*/
1589 0, /*tp_iternext*/
1590 BMObj_methods, /* tp_methods */
1591 0, /*tp_members*/
1592 BMObj_getsetlist, /*tp_getset*/
1593 0, /*tp_base*/
1594 0, /*tp_dict*/
1595 0, /*tp_descr_get*/
1596 0, /*tp_descr_set*/
1597 0, /*tp_dictoffset*/
1598 BMObj_tp_init, /* tp_init */
1599 BMObj_tp_alloc, /* tp_alloc */
1600 BMObj_tp_new, /* tp_new */
1601 BMObj_tp_free, /* tp_free */
1604 /* --------------------- End object type BitMap --------------------- */
1607 static PyObject *Qd_GetPort(PyObject *_self, PyObject *_args)
1609 PyObject *_res = NULL;
1610 GrafPtr port;
1611 #ifndef GetPort
1612 PyMac_PRECHECK(GetPort);
1613 #endif
1614 if (!PyArg_ParseTuple(_args, ""))
1615 return NULL;
1616 GetPort(&port);
1617 _res = Py_BuildValue("O&",
1618 GrafObj_New, port);
1619 return _res;
1622 static PyObject *Qd_GrafDevice(PyObject *_self, PyObject *_args)
1624 PyObject *_res = NULL;
1625 short device;
1626 #ifndef GrafDevice
1627 PyMac_PRECHECK(GrafDevice);
1628 #endif
1629 if (!PyArg_ParseTuple(_args, "h",
1630 &device))
1631 return NULL;
1632 GrafDevice(device);
1633 Py_INCREF(Py_None);
1634 _res = Py_None;
1635 return _res;
1638 static PyObject *Qd_SetPortBits(PyObject *_self, PyObject *_args)
1640 PyObject *_res = NULL;
1641 BitMapPtr bm;
1642 #ifndef SetPortBits
1643 PyMac_PRECHECK(SetPortBits);
1644 #endif
1645 if (!PyArg_ParseTuple(_args, "O&",
1646 BMObj_Convert, &bm))
1647 return NULL;
1648 SetPortBits(bm);
1649 Py_INCREF(Py_None);
1650 _res = Py_None;
1651 return _res;
1654 static PyObject *Qd_PortSize(PyObject *_self, PyObject *_args)
1656 PyObject *_res = NULL;
1657 short width;
1658 short height;
1659 #ifndef PortSize
1660 PyMac_PRECHECK(PortSize);
1661 #endif
1662 if (!PyArg_ParseTuple(_args, "hh",
1663 &width,
1664 &height))
1665 return NULL;
1666 PortSize(width,
1667 height);
1668 Py_INCREF(Py_None);
1669 _res = Py_None;
1670 return _res;
1673 static PyObject *Qd_MovePortTo(PyObject *_self, PyObject *_args)
1675 PyObject *_res = NULL;
1676 short leftGlobal;
1677 short topGlobal;
1678 #ifndef MovePortTo
1679 PyMac_PRECHECK(MovePortTo);
1680 #endif
1681 if (!PyArg_ParseTuple(_args, "hh",
1682 &leftGlobal,
1683 &topGlobal))
1684 return NULL;
1685 MovePortTo(leftGlobal,
1686 topGlobal);
1687 Py_INCREF(Py_None);
1688 _res = Py_None;
1689 return _res;
1692 static PyObject *Qd_SetOrigin(PyObject *_self, PyObject *_args)
1694 PyObject *_res = NULL;
1695 short h;
1696 short v;
1697 #ifndef SetOrigin
1698 PyMac_PRECHECK(SetOrigin);
1699 #endif
1700 if (!PyArg_ParseTuple(_args, "hh",
1702 &v))
1703 return NULL;
1704 SetOrigin(h,
1706 Py_INCREF(Py_None);
1707 _res = Py_None;
1708 return _res;
1711 static PyObject *Qd_SetClip(PyObject *_self, PyObject *_args)
1713 PyObject *_res = NULL;
1714 RgnHandle rgn;
1715 #ifndef SetClip
1716 PyMac_PRECHECK(SetClip);
1717 #endif
1718 if (!PyArg_ParseTuple(_args, "O&",
1719 ResObj_Convert, &rgn))
1720 return NULL;
1721 SetClip(rgn);
1722 Py_INCREF(Py_None);
1723 _res = Py_None;
1724 return _res;
1727 static PyObject *Qd_GetClip(PyObject *_self, PyObject *_args)
1729 PyObject *_res = NULL;
1730 RgnHandle rgn;
1731 #ifndef GetClip
1732 PyMac_PRECHECK(GetClip);
1733 #endif
1734 if (!PyArg_ParseTuple(_args, "O&",
1735 ResObj_Convert, &rgn))
1736 return NULL;
1737 GetClip(rgn);
1738 Py_INCREF(Py_None);
1739 _res = Py_None;
1740 return _res;
1743 static PyObject *Qd_ClipRect(PyObject *_self, PyObject *_args)
1745 PyObject *_res = NULL;
1746 Rect r;
1747 #ifndef ClipRect
1748 PyMac_PRECHECK(ClipRect);
1749 #endif
1750 if (!PyArg_ParseTuple(_args, "O&",
1751 PyMac_GetRect, &r))
1752 return NULL;
1753 ClipRect(&r);
1754 Py_INCREF(Py_None);
1755 _res = Py_None;
1756 return _res;
1759 static PyObject *Qd_BackPat(PyObject *_self, PyObject *_args)
1761 PyObject *_res = NULL;
1762 Pattern *pat__in__;
1763 int pat__in_len__;
1764 #ifndef BackPat
1765 PyMac_PRECHECK(BackPat);
1766 #endif
1767 if (!PyArg_ParseTuple(_args, "s#",
1768 (char **)&pat__in__, &pat__in_len__))
1769 return NULL;
1770 if (pat__in_len__ != sizeof(Pattern))
1772 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
1773 goto pat__error__;
1775 BackPat(pat__in__);
1776 Py_INCREF(Py_None);
1777 _res = Py_None;
1778 pat__error__: ;
1779 return _res;
1782 static PyObject *Qd_InitCursor(PyObject *_self, PyObject *_args)
1784 PyObject *_res = NULL;
1785 #ifndef InitCursor
1786 PyMac_PRECHECK(InitCursor);
1787 #endif
1788 if (!PyArg_ParseTuple(_args, ""))
1789 return NULL;
1790 InitCursor();
1791 Py_INCREF(Py_None);
1792 _res = Py_None;
1793 return _res;
1796 static PyObject *Qd_MacSetCursor(PyObject *_self, PyObject *_args)
1798 PyObject *_res = NULL;
1799 Cursor *crsr__in__;
1800 int crsr__in_len__;
1801 #ifndef MacSetCursor
1802 PyMac_PRECHECK(MacSetCursor);
1803 #endif
1804 if (!PyArg_ParseTuple(_args, "s#",
1805 (char **)&crsr__in__, &crsr__in_len__))
1806 return NULL;
1807 if (crsr__in_len__ != sizeof(Cursor))
1809 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)");
1810 goto crsr__error__;
1812 MacSetCursor(crsr__in__);
1813 Py_INCREF(Py_None);
1814 _res = Py_None;
1815 crsr__error__: ;
1816 return _res;
1819 static PyObject *Qd_HideCursor(PyObject *_self, PyObject *_args)
1821 PyObject *_res = NULL;
1822 #ifndef HideCursor
1823 PyMac_PRECHECK(HideCursor);
1824 #endif
1825 if (!PyArg_ParseTuple(_args, ""))
1826 return NULL;
1827 HideCursor();
1828 Py_INCREF(Py_None);
1829 _res = Py_None;
1830 return _res;
1833 static PyObject *Qd_MacShowCursor(PyObject *_self, PyObject *_args)
1835 PyObject *_res = NULL;
1836 #ifndef MacShowCursor
1837 PyMac_PRECHECK(MacShowCursor);
1838 #endif
1839 if (!PyArg_ParseTuple(_args, ""))
1840 return NULL;
1841 MacShowCursor();
1842 Py_INCREF(Py_None);
1843 _res = Py_None;
1844 return _res;
1847 static PyObject *Qd_ObscureCursor(PyObject *_self, PyObject *_args)
1849 PyObject *_res = NULL;
1850 #ifndef ObscureCursor
1851 PyMac_PRECHECK(ObscureCursor);
1852 #endif
1853 if (!PyArg_ParseTuple(_args, ""))
1854 return NULL;
1855 ObscureCursor();
1856 Py_INCREF(Py_None);
1857 _res = Py_None;
1858 return _res;
1861 static PyObject *Qd_HidePen(PyObject *_self, PyObject *_args)
1863 PyObject *_res = NULL;
1864 #ifndef HidePen
1865 PyMac_PRECHECK(HidePen);
1866 #endif
1867 if (!PyArg_ParseTuple(_args, ""))
1868 return NULL;
1869 HidePen();
1870 Py_INCREF(Py_None);
1871 _res = Py_None;
1872 return _res;
1875 static PyObject *Qd_ShowPen(PyObject *_self, PyObject *_args)
1877 PyObject *_res = NULL;
1878 #ifndef ShowPen
1879 PyMac_PRECHECK(ShowPen);
1880 #endif
1881 if (!PyArg_ParseTuple(_args, ""))
1882 return NULL;
1883 ShowPen();
1884 Py_INCREF(Py_None);
1885 _res = Py_None;
1886 return _res;
1889 static PyObject *Qd_GetPen(PyObject *_self, PyObject *_args)
1891 PyObject *_res = NULL;
1892 Point pt;
1893 #ifndef GetPen
1894 PyMac_PRECHECK(GetPen);
1895 #endif
1896 if (!PyArg_ParseTuple(_args, ""))
1897 return NULL;
1898 GetPen(&pt);
1899 _res = Py_BuildValue("O&",
1900 PyMac_BuildPoint, pt);
1901 return _res;
1904 static PyObject *Qd_GetPenState(PyObject *_self, PyObject *_args)
1906 PyObject *_res = NULL;
1907 PenState pnState__out__;
1908 #ifndef GetPenState
1909 PyMac_PRECHECK(GetPenState);
1910 #endif
1911 if (!PyArg_ParseTuple(_args, ""))
1912 return NULL;
1913 GetPenState(&pnState__out__);
1914 _res = Py_BuildValue("s#",
1915 (char *)&pnState__out__, (int)sizeof(PenState));
1916 return _res;
1919 static PyObject *Qd_SetPenState(PyObject *_self, PyObject *_args)
1921 PyObject *_res = NULL;
1922 PenState *pnState__in__;
1923 int pnState__in_len__;
1924 #ifndef SetPenState
1925 PyMac_PRECHECK(SetPenState);
1926 #endif
1927 if (!PyArg_ParseTuple(_args, "s#",
1928 (char **)&pnState__in__, &pnState__in_len__))
1929 return NULL;
1930 if (pnState__in_len__ != sizeof(PenState))
1932 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(PenState)");
1933 goto pnState__error__;
1935 SetPenState(pnState__in__);
1936 Py_INCREF(Py_None);
1937 _res = Py_None;
1938 pnState__error__: ;
1939 return _res;
1942 static PyObject *Qd_PenSize(PyObject *_self, PyObject *_args)
1944 PyObject *_res = NULL;
1945 short width;
1946 short height;
1947 #ifndef PenSize
1948 PyMac_PRECHECK(PenSize);
1949 #endif
1950 if (!PyArg_ParseTuple(_args, "hh",
1951 &width,
1952 &height))
1953 return NULL;
1954 PenSize(width,
1955 height);
1956 Py_INCREF(Py_None);
1957 _res = Py_None;
1958 return _res;
1961 static PyObject *Qd_PenMode(PyObject *_self, PyObject *_args)
1963 PyObject *_res = NULL;
1964 short mode;
1965 #ifndef PenMode
1966 PyMac_PRECHECK(PenMode);
1967 #endif
1968 if (!PyArg_ParseTuple(_args, "h",
1969 &mode))
1970 return NULL;
1971 PenMode(mode);
1972 Py_INCREF(Py_None);
1973 _res = Py_None;
1974 return _res;
1977 static PyObject *Qd_PenPat(PyObject *_self, PyObject *_args)
1979 PyObject *_res = NULL;
1980 Pattern *pat__in__;
1981 int pat__in_len__;
1982 #ifndef PenPat
1983 PyMac_PRECHECK(PenPat);
1984 #endif
1985 if (!PyArg_ParseTuple(_args, "s#",
1986 (char **)&pat__in__, &pat__in_len__))
1987 return NULL;
1988 if (pat__in_len__ != sizeof(Pattern))
1990 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
1991 goto pat__error__;
1993 PenPat(pat__in__);
1994 Py_INCREF(Py_None);
1995 _res = Py_None;
1996 pat__error__: ;
1997 return _res;
2000 static PyObject *Qd_PenNormal(PyObject *_self, PyObject *_args)
2002 PyObject *_res = NULL;
2003 #ifndef PenNormal
2004 PyMac_PRECHECK(PenNormal);
2005 #endif
2006 if (!PyArg_ParseTuple(_args, ""))
2007 return NULL;
2008 PenNormal();
2009 Py_INCREF(Py_None);
2010 _res = Py_None;
2011 return _res;
2014 static PyObject *Qd_MoveTo(PyObject *_self, PyObject *_args)
2016 PyObject *_res = NULL;
2017 short h;
2018 short v;
2019 #ifndef MoveTo
2020 PyMac_PRECHECK(MoveTo);
2021 #endif
2022 if (!PyArg_ParseTuple(_args, "hh",
2024 &v))
2025 return NULL;
2026 MoveTo(h,
2028 Py_INCREF(Py_None);
2029 _res = Py_None;
2030 return _res;
2033 static PyObject *Qd_Move(PyObject *_self, PyObject *_args)
2035 PyObject *_res = NULL;
2036 short dh;
2037 short dv;
2038 #ifndef Move
2039 PyMac_PRECHECK(Move);
2040 #endif
2041 if (!PyArg_ParseTuple(_args, "hh",
2042 &dh,
2043 &dv))
2044 return NULL;
2045 Move(dh,
2046 dv);
2047 Py_INCREF(Py_None);
2048 _res = Py_None;
2049 return _res;
2052 static PyObject *Qd_MacLineTo(PyObject *_self, PyObject *_args)
2054 PyObject *_res = NULL;
2055 short h;
2056 short v;
2057 #ifndef MacLineTo
2058 PyMac_PRECHECK(MacLineTo);
2059 #endif
2060 if (!PyArg_ParseTuple(_args, "hh",
2062 &v))
2063 return NULL;
2064 MacLineTo(h,
2066 Py_INCREF(Py_None);
2067 _res = Py_None;
2068 return _res;
2071 static PyObject *Qd_Line(PyObject *_self, PyObject *_args)
2073 PyObject *_res = NULL;
2074 short dh;
2075 short dv;
2076 #ifndef Line
2077 PyMac_PRECHECK(Line);
2078 #endif
2079 if (!PyArg_ParseTuple(_args, "hh",
2080 &dh,
2081 &dv))
2082 return NULL;
2083 Line(dh,
2084 dv);
2085 Py_INCREF(Py_None);
2086 _res = Py_None;
2087 return _res;
2090 static PyObject *Qd_ForeColor(PyObject *_self, PyObject *_args)
2092 PyObject *_res = NULL;
2093 long color;
2094 #ifndef ForeColor
2095 PyMac_PRECHECK(ForeColor);
2096 #endif
2097 if (!PyArg_ParseTuple(_args, "l",
2098 &color))
2099 return NULL;
2100 ForeColor(color);
2101 Py_INCREF(Py_None);
2102 _res = Py_None;
2103 return _res;
2106 static PyObject *Qd_BackColor(PyObject *_self, PyObject *_args)
2108 PyObject *_res = NULL;
2109 long color;
2110 #ifndef BackColor
2111 PyMac_PRECHECK(BackColor);
2112 #endif
2113 if (!PyArg_ParseTuple(_args, "l",
2114 &color))
2115 return NULL;
2116 BackColor(color);
2117 Py_INCREF(Py_None);
2118 _res = Py_None;
2119 return _res;
2122 static PyObject *Qd_ColorBit(PyObject *_self, PyObject *_args)
2124 PyObject *_res = NULL;
2125 short whichBit;
2126 #ifndef ColorBit
2127 PyMac_PRECHECK(ColorBit);
2128 #endif
2129 if (!PyArg_ParseTuple(_args, "h",
2130 &whichBit))
2131 return NULL;
2132 ColorBit(whichBit);
2133 Py_INCREF(Py_None);
2134 _res = Py_None;
2135 return _res;
2138 static PyObject *Qd_MacSetRect(PyObject *_self, PyObject *_args)
2140 PyObject *_res = NULL;
2141 Rect r;
2142 short left;
2143 short top;
2144 short right;
2145 short bottom;
2146 #ifndef MacSetRect
2147 PyMac_PRECHECK(MacSetRect);
2148 #endif
2149 if (!PyArg_ParseTuple(_args, "hhhh",
2150 &left,
2151 &top,
2152 &right,
2153 &bottom))
2154 return NULL;
2155 MacSetRect(&r,
2156 left,
2157 top,
2158 right,
2159 bottom);
2160 _res = Py_BuildValue("O&",
2161 PyMac_BuildRect, &r);
2162 return _res;
2165 static PyObject *Qd_MacOffsetRect(PyObject *_self, PyObject *_args)
2167 PyObject *_res = NULL;
2168 Rect r;
2169 short dh;
2170 short dv;
2171 #ifndef MacOffsetRect
2172 PyMac_PRECHECK(MacOffsetRect);
2173 #endif
2174 if (!PyArg_ParseTuple(_args, "O&hh",
2175 PyMac_GetRect, &r,
2176 &dh,
2177 &dv))
2178 return NULL;
2179 MacOffsetRect(&r,
2181 dv);
2182 _res = Py_BuildValue("O&",
2183 PyMac_BuildRect, &r);
2184 return _res;
2187 static PyObject *Qd_MacInsetRect(PyObject *_self, PyObject *_args)
2189 PyObject *_res = NULL;
2190 Rect r;
2191 short dh;
2192 short dv;
2193 #ifndef MacInsetRect
2194 PyMac_PRECHECK(MacInsetRect);
2195 #endif
2196 if (!PyArg_ParseTuple(_args, "O&hh",
2197 PyMac_GetRect, &r,
2198 &dh,
2199 &dv))
2200 return NULL;
2201 MacInsetRect(&r,
2203 dv);
2204 _res = Py_BuildValue("O&",
2205 PyMac_BuildRect, &r);
2206 return _res;
2209 static PyObject *Qd_SectRect(PyObject *_self, PyObject *_args)
2211 PyObject *_res = NULL;
2212 Boolean _rv;
2213 Rect src1;
2214 Rect src2;
2215 Rect dstRect;
2216 #ifndef SectRect
2217 PyMac_PRECHECK(SectRect);
2218 #endif
2219 if (!PyArg_ParseTuple(_args, "O&O&",
2220 PyMac_GetRect, &src1,
2221 PyMac_GetRect, &src2))
2222 return NULL;
2223 _rv = SectRect(&src1,
2224 &src2,
2225 &dstRect);
2226 _res = Py_BuildValue("bO&",
2227 _rv,
2228 PyMac_BuildRect, &dstRect);
2229 return _res;
2232 static PyObject *Qd_MacUnionRect(PyObject *_self, PyObject *_args)
2234 PyObject *_res = NULL;
2235 Rect src1;
2236 Rect src2;
2237 Rect dstRect;
2238 #ifndef MacUnionRect
2239 PyMac_PRECHECK(MacUnionRect);
2240 #endif
2241 if (!PyArg_ParseTuple(_args, "O&O&",
2242 PyMac_GetRect, &src1,
2243 PyMac_GetRect, &src2))
2244 return NULL;
2245 MacUnionRect(&src1,
2246 &src2,
2247 &dstRect);
2248 _res = Py_BuildValue("O&",
2249 PyMac_BuildRect, &dstRect);
2250 return _res;
2253 static PyObject *Qd_MacEqualRect(PyObject *_self, PyObject *_args)
2255 PyObject *_res = NULL;
2256 Boolean _rv;
2257 Rect rect1;
2258 Rect rect2;
2259 #ifndef MacEqualRect
2260 PyMac_PRECHECK(MacEqualRect);
2261 #endif
2262 if (!PyArg_ParseTuple(_args, "O&O&",
2263 PyMac_GetRect, &rect1,
2264 PyMac_GetRect, &rect2))
2265 return NULL;
2266 _rv = MacEqualRect(&rect1,
2267 &rect2);
2268 _res = Py_BuildValue("b",
2269 _rv);
2270 return _res;
2273 static PyObject *Qd_EmptyRect(PyObject *_self, PyObject *_args)
2275 PyObject *_res = NULL;
2276 Boolean _rv;
2277 Rect r;
2278 #ifndef EmptyRect
2279 PyMac_PRECHECK(EmptyRect);
2280 #endif
2281 if (!PyArg_ParseTuple(_args, "O&",
2282 PyMac_GetRect, &r))
2283 return NULL;
2284 _rv = EmptyRect(&r);
2285 _res = Py_BuildValue("b",
2286 _rv);
2287 return _res;
2290 static PyObject *Qd_MacFrameRect(PyObject *_self, PyObject *_args)
2292 PyObject *_res = NULL;
2293 Rect r;
2294 #ifndef MacFrameRect
2295 PyMac_PRECHECK(MacFrameRect);
2296 #endif
2297 if (!PyArg_ParseTuple(_args, "O&",
2298 PyMac_GetRect, &r))
2299 return NULL;
2300 MacFrameRect(&r);
2301 Py_INCREF(Py_None);
2302 _res = Py_None;
2303 return _res;
2306 static PyObject *Qd_PaintRect(PyObject *_self, PyObject *_args)
2308 PyObject *_res = NULL;
2309 Rect r;
2310 #ifndef PaintRect
2311 PyMac_PRECHECK(PaintRect);
2312 #endif
2313 if (!PyArg_ParseTuple(_args, "O&",
2314 PyMac_GetRect, &r))
2315 return NULL;
2316 PaintRect(&r);
2317 Py_INCREF(Py_None);
2318 _res = Py_None;
2319 return _res;
2322 static PyObject *Qd_EraseRect(PyObject *_self, PyObject *_args)
2324 PyObject *_res = NULL;
2325 Rect r;
2326 #ifndef EraseRect
2327 PyMac_PRECHECK(EraseRect);
2328 #endif
2329 if (!PyArg_ParseTuple(_args, "O&",
2330 PyMac_GetRect, &r))
2331 return NULL;
2332 EraseRect(&r);
2333 Py_INCREF(Py_None);
2334 _res = Py_None;
2335 return _res;
2338 static PyObject *Qd_MacInvertRect(PyObject *_self, PyObject *_args)
2340 PyObject *_res = NULL;
2341 Rect r;
2342 #ifndef MacInvertRect
2343 PyMac_PRECHECK(MacInvertRect);
2344 #endif
2345 if (!PyArg_ParseTuple(_args, "O&",
2346 PyMac_GetRect, &r))
2347 return NULL;
2348 MacInvertRect(&r);
2349 Py_INCREF(Py_None);
2350 _res = Py_None;
2351 return _res;
2354 static PyObject *Qd_MacFillRect(PyObject *_self, PyObject *_args)
2356 PyObject *_res = NULL;
2357 Rect r;
2358 Pattern *pat__in__;
2359 int pat__in_len__;
2360 #ifndef MacFillRect
2361 PyMac_PRECHECK(MacFillRect);
2362 #endif
2363 if (!PyArg_ParseTuple(_args, "O&s#",
2364 PyMac_GetRect, &r,
2365 (char **)&pat__in__, &pat__in_len__))
2366 return NULL;
2367 if (pat__in_len__ != sizeof(Pattern))
2369 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
2370 goto pat__error__;
2372 MacFillRect(&r,
2373 pat__in__);
2374 Py_INCREF(Py_None);
2375 _res = Py_None;
2376 pat__error__: ;
2377 return _res;
2380 static PyObject *Qd_FrameOval(PyObject *_self, PyObject *_args)
2382 PyObject *_res = NULL;
2383 Rect r;
2384 #ifndef FrameOval
2385 PyMac_PRECHECK(FrameOval);
2386 #endif
2387 if (!PyArg_ParseTuple(_args, "O&",
2388 PyMac_GetRect, &r))
2389 return NULL;
2390 FrameOval(&r);
2391 Py_INCREF(Py_None);
2392 _res = Py_None;
2393 return _res;
2396 static PyObject *Qd_PaintOval(PyObject *_self, PyObject *_args)
2398 PyObject *_res = NULL;
2399 Rect r;
2400 #ifndef PaintOval
2401 PyMac_PRECHECK(PaintOval);
2402 #endif
2403 if (!PyArg_ParseTuple(_args, "O&",
2404 PyMac_GetRect, &r))
2405 return NULL;
2406 PaintOval(&r);
2407 Py_INCREF(Py_None);
2408 _res = Py_None;
2409 return _res;
2412 static PyObject *Qd_EraseOval(PyObject *_self, PyObject *_args)
2414 PyObject *_res = NULL;
2415 Rect r;
2416 #ifndef EraseOval
2417 PyMac_PRECHECK(EraseOval);
2418 #endif
2419 if (!PyArg_ParseTuple(_args, "O&",
2420 PyMac_GetRect, &r))
2421 return NULL;
2422 EraseOval(&r);
2423 Py_INCREF(Py_None);
2424 _res = Py_None;
2425 return _res;
2428 static PyObject *Qd_InvertOval(PyObject *_self, PyObject *_args)
2430 PyObject *_res = NULL;
2431 Rect r;
2432 #ifndef InvertOval
2433 PyMac_PRECHECK(InvertOval);
2434 #endif
2435 if (!PyArg_ParseTuple(_args, "O&",
2436 PyMac_GetRect, &r))
2437 return NULL;
2438 InvertOval(&r);
2439 Py_INCREF(Py_None);
2440 _res = Py_None;
2441 return _res;
2444 static PyObject *Qd_FillOval(PyObject *_self, PyObject *_args)
2446 PyObject *_res = NULL;
2447 Rect r;
2448 Pattern *pat__in__;
2449 int pat__in_len__;
2450 #ifndef FillOval
2451 PyMac_PRECHECK(FillOval);
2452 #endif
2453 if (!PyArg_ParseTuple(_args, "O&s#",
2454 PyMac_GetRect, &r,
2455 (char **)&pat__in__, &pat__in_len__))
2456 return NULL;
2457 if (pat__in_len__ != sizeof(Pattern))
2459 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
2460 goto pat__error__;
2462 FillOval(&r,
2463 pat__in__);
2464 Py_INCREF(Py_None);
2465 _res = Py_None;
2466 pat__error__: ;
2467 return _res;
2470 static PyObject *Qd_FrameRoundRect(PyObject *_self, PyObject *_args)
2472 PyObject *_res = NULL;
2473 Rect r;
2474 short ovalWidth;
2475 short ovalHeight;
2476 #ifndef FrameRoundRect
2477 PyMac_PRECHECK(FrameRoundRect);
2478 #endif
2479 if (!PyArg_ParseTuple(_args, "O&hh",
2480 PyMac_GetRect, &r,
2481 &ovalWidth,
2482 &ovalHeight))
2483 return NULL;
2484 FrameRoundRect(&r,
2485 ovalWidth,
2486 ovalHeight);
2487 Py_INCREF(Py_None);
2488 _res = Py_None;
2489 return _res;
2492 static PyObject *Qd_PaintRoundRect(PyObject *_self, PyObject *_args)
2494 PyObject *_res = NULL;
2495 Rect r;
2496 short ovalWidth;
2497 short ovalHeight;
2498 #ifndef PaintRoundRect
2499 PyMac_PRECHECK(PaintRoundRect);
2500 #endif
2501 if (!PyArg_ParseTuple(_args, "O&hh",
2502 PyMac_GetRect, &r,
2503 &ovalWidth,
2504 &ovalHeight))
2505 return NULL;
2506 PaintRoundRect(&r,
2507 ovalWidth,
2508 ovalHeight);
2509 Py_INCREF(Py_None);
2510 _res = Py_None;
2511 return _res;
2514 static PyObject *Qd_EraseRoundRect(PyObject *_self, PyObject *_args)
2516 PyObject *_res = NULL;
2517 Rect r;
2518 short ovalWidth;
2519 short ovalHeight;
2520 #ifndef EraseRoundRect
2521 PyMac_PRECHECK(EraseRoundRect);
2522 #endif
2523 if (!PyArg_ParseTuple(_args, "O&hh",
2524 PyMac_GetRect, &r,
2525 &ovalWidth,
2526 &ovalHeight))
2527 return NULL;
2528 EraseRoundRect(&r,
2529 ovalWidth,
2530 ovalHeight);
2531 Py_INCREF(Py_None);
2532 _res = Py_None;
2533 return _res;
2536 static PyObject *Qd_InvertRoundRect(PyObject *_self, PyObject *_args)
2538 PyObject *_res = NULL;
2539 Rect r;
2540 short ovalWidth;
2541 short ovalHeight;
2542 #ifndef InvertRoundRect
2543 PyMac_PRECHECK(InvertRoundRect);
2544 #endif
2545 if (!PyArg_ParseTuple(_args, "O&hh",
2546 PyMac_GetRect, &r,
2547 &ovalWidth,
2548 &ovalHeight))
2549 return NULL;
2550 InvertRoundRect(&r,
2551 ovalWidth,
2552 ovalHeight);
2553 Py_INCREF(Py_None);
2554 _res = Py_None;
2555 return _res;
2558 static PyObject *Qd_FillRoundRect(PyObject *_self, PyObject *_args)
2560 PyObject *_res = NULL;
2561 Rect r;
2562 short ovalWidth;
2563 short ovalHeight;
2564 Pattern *pat__in__;
2565 int pat__in_len__;
2566 #ifndef FillRoundRect
2567 PyMac_PRECHECK(FillRoundRect);
2568 #endif
2569 if (!PyArg_ParseTuple(_args, "O&hhs#",
2570 PyMac_GetRect, &r,
2571 &ovalWidth,
2572 &ovalHeight,
2573 (char **)&pat__in__, &pat__in_len__))
2574 return NULL;
2575 if (pat__in_len__ != sizeof(Pattern))
2577 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
2578 goto pat__error__;
2580 FillRoundRect(&r,
2581 ovalWidth,
2582 ovalHeight,
2583 pat__in__);
2584 Py_INCREF(Py_None);
2585 _res = Py_None;
2586 pat__error__: ;
2587 return _res;
2590 static PyObject *Qd_FrameArc(PyObject *_self, PyObject *_args)
2592 PyObject *_res = NULL;
2593 Rect r;
2594 short startAngle;
2595 short arcAngle;
2596 #ifndef FrameArc
2597 PyMac_PRECHECK(FrameArc);
2598 #endif
2599 if (!PyArg_ParseTuple(_args, "O&hh",
2600 PyMac_GetRect, &r,
2601 &startAngle,
2602 &arcAngle))
2603 return NULL;
2604 FrameArc(&r,
2605 startAngle,
2606 arcAngle);
2607 Py_INCREF(Py_None);
2608 _res = Py_None;
2609 return _res;
2612 static PyObject *Qd_PaintArc(PyObject *_self, PyObject *_args)
2614 PyObject *_res = NULL;
2615 Rect r;
2616 short startAngle;
2617 short arcAngle;
2618 #ifndef PaintArc
2619 PyMac_PRECHECK(PaintArc);
2620 #endif
2621 if (!PyArg_ParseTuple(_args, "O&hh",
2622 PyMac_GetRect, &r,
2623 &startAngle,
2624 &arcAngle))
2625 return NULL;
2626 PaintArc(&r,
2627 startAngle,
2628 arcAngle);
2629 Py_INCREF(Py_None);
2630 _res = Py_None;
2631 return _res;
2634 static PyObject *Qd_EraseArc(PyObject *_self, PyObject *_args)
2636 PyObject *_res = NULL;
2637 Rect r;
2638 short startAngle;
2639 short arcAngle;
2640 #ifndef EraseArc
2641 PyMac_PRECHECK(EraseArc);
2642 #endif
2643 if (!PyArg_ParseTuple(_args, "O&hh",
2644 PyMac_GetRect, &r,
2645 &startAngle,
2646 &arcAngle))
2647 return NULL;
2648 EraseArc(&r,
2649 startAngle,
2650 arcAngle);
2651 Py_INCREF(Py_None);
2652 _res = Py_None;
2653 return _res;
2656 static PyObject *Qd_InvertArc(PyObject *_self, PyObject *_args)
2658 PyObject *_res = NULL;
2659 Rect r;
2660 short startAngle;
2661 short arcAngle;
2662 #ifndef InvertArc
2663 PyMac_PRECHECK(InvertArc);
2664 #endif
2665 if (!PyArg_ParseTuple(_args, "O&hh",
2666 PyMac_GetRect, &r,
2667 &startAngle,
2668 &arcAngle))
2669 return NULL;
2670 InvertArc(&r,
2671 startAngle,
2672 arcAngle);
2673 Py_INCREF(Py_None);
2674 _res = Py_None;
2675 return _res;
2678 static PyObject *Qd_FillArc(PyObject *_self, PyObject *_args)
2680 PyObject *_res = NULL;
2681 Rect r;
2682 short startAngle;
2683 short arcAngle;
2684 Pattern *pat__in__;
2685 int pat__in_len__;
2686 #ifndef FillArc
2687 PyMac_PRECHECK(FillArc);
2688 #endif
2689 if (!PyArg_ParseTuple(_args, "O&hhs#",
2690 PyMac_GetRect, &r,
2691 &startAngle,
2692 &arcAngle,
2693 (char **)&pat__in__, &pat__in_len__))
2694 return NULL;
2695 if (pat__in_len__ != sizeof(Pattern))
2697 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
2698 goto pat__error__;
2700 FillArc(&r,
2701 startAngle,
2702 arcAngle,
2703 pat__in__);
2704 Py_INCREF(Py_None);
2705 _res = Py_None;
2706 pat__error__: ;
2707 return _res;
2710 static PyObject *Qd_NewRgn(PyObject *_self, PyObject *_args)
2712 PyObject *_res = NULL;
2713 RgnHandle _rv;
2714 #ifndef NewRgn
2715 PyMac_PRECHECK(NewRgn);
2716 #endif
2717 if (!PyArg_ParseTuple(_args, ""))
2718 return NULL;
2719 _rv = NewRgn();
2720 _res = Py_BuildValue("O&",
2721 ResObj_New, _rv);
2722 return _res;
2725 static PyObject *Qd_OpenRgn(PyObject *_self, PyObject *_args)
2727 PyObject *_res = NULL;
2728 #ifndef OpenRgn
2729 PyMac_PRECHECK(OpenRgn);
2730 #endif
2731 if (!PyArg_ParseTuple(_args, ""))
2732 return NULL;
2733 OpenRgn();
2734 Py_INCREF(Py_None);
2735 _res = Py_None;
2736 return _res;
2739 static PyObject *Qd_CloseRgn(PyObject *_self, PyObject *_args)
2741 PyObject *_res = NULL;
2742 RgnHandle dstRgn;
2743 #ifndef CloseRgn
2744 PyMac_PRECHECK(CloseRgn);
2745 #endif
2746 if (!PyArg_ParseTuple(_args, "O&",
2747 ResObj_Convert, &dstRgn))
2748 return NULL;
2749 CloseRgn(dstRgn);
2750 Py_INCREF(Py_None);
2751 _res = Py_None;
2752 return _res;
2755 static PyObject *Qd_BitMapToRegion(PyObject *_self, PyObject *_args)
2757 PyObject *_res = NULL;
2758 OSErr _err;
2759 RgnHandle region;
2760 BitMapPtr bMap;
2761 #ifndef BitMapToRegion
2762 PyMac_PRECHECK(BitMapToRegion);
2763 #endif
2764 if (!PyArg_ParseTuple(_args, "O&O&",
2765 ResObj_Convert, &region,
2766 BMObj_Convert, &bMap))
2767 return NULL;
2768 _err = BitMapToRegion(region,
2769 bMap);
2770 if (_err != noErr) return PyMac_Error(_err);
2771 Py_INCREF(Py_None);
2772 _res = Py_None;
2773 return _res;
2776 static PyObject *Qd_RgnToHandle(PyObject *_self, PyObject *_args)
2778 PyObject *_res = NULL;
2779 RgnHandle region;
2780 Handle flattenedRgnDataHdl;
2781 #ifndef RgnToHandle
2782 PyMac_PRECHECK(RgnToHandle);
2783 #endif
2784 if (!PyArg_ParseTuple(_args, "O&O&",
2785 ResObj_Convert, &region,
2786 ResObj_Convert, &flattenedRgnDataHdl))
2787 return NULL;
2788 RgnToHandle(region,
2789 flattenedRgnDataHdl);
2790 Py_INCREF(Py_None);
2791 _res = Py_None;
2792 return _res;
2795 static PyObject *Qd_DisposeRgn(PyObject *_self, PyObject *_args)
2797 PyObject *_res = NULL;
2798 RgnHandle rgn;
2799 #ifndef DisposeRgn
2800 PyMac_PRECHECK(DisposeRgn);
2801 #endif
2802 if (!PyArg_ParseTuple(_args, "O&",
2803 ResObj_Convert, &rgn))
2804 return NULL;
2805 DisposeRgn(rgn);
2806 Py_INCREF(Py_None);
2807 _res = Py_None;
2808 return _res;
2811 static PyObject *Qd_MacCopyRgn(PyObject *_self, PyObject *_args)
2813 PyObject *_res = NULL;
2814 RgnHandle srcRgn;
2815 RgnHandle dstRgn;
2816 #ifndef MacCopyRgn
2817 PyMac_PRECHECK(MacCopyRgn);
2818 #endif
2819 if (!PyArg_ParseTuple(_args, "O&O&",
2820 ResObj_Convert, &srcRgn,
2821 ResObj_Convert, &dstRgn))
2822 return NULL;
2823 MacCopyRgn(srcRgn,
2824 dstRgn);
2825 Py_INCREF(Py_None);
2826 _res = Py_None;
2827 return _res;
2830 static PyObject *Qd_SetEmptyRgn(PyObject *_self, PyObject *_args)
2832 PyObject *_res = NULL;
2833 RgnHandle rgn;
2834 #ifndef SetEmptyRgn
2835 PyMac_PRECHECK(SetEmptyRgn);
2836 #endif
2837 if (!PyArg_ParseTuple(_args, "O&",
2838 ResObj_Convert, &rgn))
2839 return NULL;
2840 SetEmptyRgn(rgn);
2841 Py_INCREF(Py_None);
2842 _res = Py_None;
2843 return _res;
2846 static PyObject *Qd_MacSetRectRgn(PyObject *_self, PyObject *_args)
2848 PyObject *_res = NULL;
2849 RgnHandle rgn;
2850 short left;
2851 short top;
2852 short right;
2853 short bottom;
2854 #ifndef MacSetRectRgn
2855 PyMac_PRECHECK(MacSetRectRgn);
2856 #endif
2857 if (!PyArg_ParseTuple(_args, "O&hhhh",
2858 ResObj_Convert, &rgn,
2859 &left,
2860 &top,
2861 &right,
2862 &bottom))
2863 return NULL;
2864 MacSetRectRgn(rgn,
2865 left,
2866 top,
2867 right,
2868 bottom);
2869 Py_INCREF(Py_None);
2870 _res = Py_None;
2871 return _res;
2874 static PyObject *Qd_RectRgn(PyObject *_self, PyObject *_args)
2876 PyObject *_res = NULL;
2877 RgnHandle rgn;
2878 Rect r;
2879 #ifndef RectRgn
2880 PyMac_PRECHECK(RectRgn);
2881 #endif
2882 if (!PyArg_ParseTuple(_args, "O&O&",
2883 ResObj_Convert, &rgn,
2884 PyMac_GetRect, &r))
2885 return NULL;
2886 RectRgn(rgn,
2887 &r);
2888 Py_INCREF(Py_None);
2889 _res = Py_None;
2890 return _res;
2893 static PyObject *Qd_MacOffsetRgn(PyObject *_self, PyObject *_args)
2895 PyObject *_res = NULL;
2896 RgnHandle rgn;
2897 short dh;
2898 short dv;
2899 #ifndef MacOffsetRgn
2900 PyMac_PRECHECK(MacOffsetRgn);
2901 #endif
2902 if (!PyArg_ParseTuple(_args, "O&hh",
2903 ResObj_Convert, &rgn,
2904 &dh,
2905 &dv))
2906 return NULL;
2907 MacOffsetRgn(rgn,
2909 dv);
2910 Py_INCREF(Py_None);
2911 _res = Py_None;
2912 return _res;
2915 static PyObject *Qd_InsetRgn(PyObject *_self, PyObject *_args)
2917 PyObject *_res = NULL;
2918 RgnHandle rgn;
2919 short dh;
2920 short dv;
2921 #ifndef InsetRgn
2922 PyMac_PRECHECK(InsetRgn);
2923 #endif
2924 if (!PyArg_ParseTuple(_args, "O&hh",
2925 ResObj_Convert, &rgn,
2926 &dh,
2927 &dv))
2928 return NULL;
2929 InsetRgn(rgn,
2931 dv);
2932 Py_INCREF(Py_None);
2933 _res = Py_None;
2934 return _res;
2937 static PyObject *Qd_SectRgn(PyObject *_self, PyObject *_args)
2939 PyObject *_res = NULL;
2940 RgnHandle srcRgnA;
2941 RgnHandle srcRgnB;
2942 RgnHandle dstRgn;
2943 #ifndef SectRgn
2944 PyMac_PRECHECK(SectRgn);
2945 #endif
2946 if (!PyArg_ParseTuple(_args, "O&O&O&",
2947 ResObj_Convert, &srcRgnA,
2948 ResObj_Convert, &srcRgnB,
2949 ResObj_Convert, &dstRgn))
2950 return NULL;
2951 SectRgn(srcRgnA,
2952 srcRgnB,
2953 dstRgn);
2954 Py_INCREF(Py_None);
2955 _res = Py_None;
2956 return _res;
2959 static PyObject *Qd_MacUnionRgn(PyObject *_self, PyObject *_args)
2961 PyObject *_res = NULL;
2962 RgnHandle srcRgnA;
2963 RgnHandle srcRgnB;
2964 RgnHandle dstRgn;
2965 #ifndef MacUnionRgn
2966 PyMac_PRECHECK(MacUnionRgn);
2967 #endif
2968 if (!PyArg_ParseTuple(_args, "O&O&O&",
2969 ResObj_Convert, &srcRgnA,
2970 ResObj_Convert, &srcRgnB,
2971 ResObj_Convert, &dstRgn))
2972 return NULL;
2973 MacUnionRgn(srcRgnA,
2974 srcRgnB,
2975 dstRgn);
2976 Py_INCREF(Py_None);
2977 _res = Py_None;
2978 return _res;
2981 static PyObject *Qd_DiffRgn(PyObject *_self, PyObject *_args)
2983 PyObject *_res = NULL;
2984 RgnHandle srcRgnA;
2985 RgnHandle srcRgnB;
2986 RgnHandle dstRgn;
2987 #ifndef DiffRgn
2988 PyMac_PRECHECK(DiffRgn);
2989 #endif
2990 if (!PyArg_ParseTuple(_args, "O&O&O&",
2991 ResObj_Convert, &srcRgnA,
2992 ResObj_Convert, &srcRgnB,
2993 ResObj_Convert, &dstRgn))
2994 return NULL;
2995 DiffRgn(srcRgnA,
2996 srcRgnB,
2997 dstRgn);
2998 Py_INCREF(Py_None);
2999 _res = Py_None;
3000 return _res;
3003 static PyObject *Qd_MacXorRgn(PyObject *_self, PyObject *_args)
3005 PyObject *_res = NULL;
3006 RgnHandle srcRgnA;
3007 RgnHandle srcRgnB;
3008 RgnHandle dstRgn;
3009 #ifndef MacXorRgn
3010 PyMac_PRECHECK(MacXorRgn);
3011 #endif
3012 if (!PyArg_ParseTuple(_args, "O&O&O&",
3013 ResObj_Convert, &srcRgnA,
3014 ResObj_Convert, &srcRgnB,
3015 ResObj_Convert, &dstRgn))
3016 return NULL;
3017 MacXorRgn(srcRgnA,
3018 srcRgnB,
3019 dstRgn);
3020 Py_INCREF(Py_None);
3021 _res = Py_None;
3022 return _res;
3025 static PyObject *Qd_RectInRgn(PyObject *_self, PyObject *_args)
3027 PyObject *_res = NULL;
3028 Boolean _rv;
3029 Rect r;
3030 RgnHandle rgn;
3031 #ifndef RectInRgn
3032 PyMac_PRECHECK(RectInRgn);
3033 #endif
3034 if (!PyArg_ParseTuple(_args, "O&O&",
3035 PyMac_GetRect, &r,
3036 ResObj_Convert, &rgn))
3037 return NULL;
3038 _rv = RectInRgn(&r,
3039 rgn);
3040 _res = Py_BuildValue("b",
3041 _rv);
3042 return _res;
3045 static PyObject *Qd_MacEqualRgn(PyObject *_self, PyObject *_args)
3047 PyObject *_res = NULL;
3048 Boolean _rv;
3049 RgnHandle rgnA;
3050 RgnHandle rgnB;
3051 #ifndef MacEqualRgn
3052 PyMac_PRECHECK(MacEqualRgn);
3053 #endif
3054 if (!PyArg_ParseTuple(_args, "O&O&",
3055 ResObj_Convert, &rgnA,
3056 ResObj_Convert, &rgnB))
3057 return NULL;
3058 _rv = MacEqualRgn(rgnA,
3059 rgnB);
3060 _res = Py_BuildValue("b",
3061 _rv);
3062 return _res;
3065 static PyObject *Qd_EmptyRgn(PyObject *_self, PyObject *_args)
3067 PyObject *_res = NULL;
3068 Boolean _rv;
3069 RgnHandle rgn;
3070 #ifndef EmptyRgn
3071 PyMac_PRECHECK(EmptyRgn);
3072 #endif
3073 if (!PyArg_ParseTuple(_args, "O&",
3074 ResObj_Convert, &rgn))
3075 return NULL;
3076 _rv = EmptyRgn(rgn);
3077 _res = Py_BuildValue("b",
3078 _rv);
3079 return _res;
3082 static PyObject *Qd_MacFrameRgn(PyObject *_self, PyObject *_args)
3084 PyObject *_res = NULL;
3085 RgnHandle rgn;
3086 #ifndef MacFrameRgn
3087 PyMac_PRECHECK(MacFrameRgn);
3088 #endif
3089 if (!PyArg_ParseTuple(_args, "O&",
3090 ResObj_Convert, &rgn))
3091 return NULL;
3092 MacFrameRgn(rgn);
3093 Py_INCREF(Py_None);
3094 _res = Py_None;
3095 return _res;
3098 static PyObject *Qd_MacPaintRgn(PyObject *_self, PyObject *_args)
3100 PyObject *_res = NULL;
3101 RgnHandle rgn;
3102 #ifndef MacPaintRgn
3103 PyMac_PRECHECK(MacPaintRgn);
3104 #endif
3105 if (!PyArg_ParseTuple(_args, "O&",
3106 ResObj_Convert, &rgn))
3107 return NULL;
3108 MacPaintRgn(rgn);
3109 Py_INCREF(Py_None);
3110 _res = Py_None;
3111 return _res;
3114 static PyObject *Qd_EraseRgn(PyObject *_self, PyObject *_args)
3116 PyObject *_res = NULL;
3117 RgnHandle rgn;
3118 #ifndef EraseRgn
3119 PyMac_PRECHECK(EraseRgn);
3120 #endif
3121 if (!PyArg_ParseTuple(_args, "O&",
3122 ResObj_Convert, &rgn))
3123 return NULL;
3124 EraseRgn(rgn);
3125 Py_INCREF(Py_None);
3126 _res = Py_None;
3127 return _res;
3130 static PyObject *Qd_MacInvertRgn(PyObject *_self, PyObject *_args)
3132 PyObject *_res = NULL;
3133 RgnHandle rgn;
3134 #ifndef MacInvertRgn
3135 PyMac_PRECHECK(MacInvertRgn);
3136 #endif
3137 if (!PyArg_ParseTuple(_args, "O&",
3138 ResObj_Convert, &rgn))
3139 return NULL;
3140 MacInvertRgn(rgn);
3141 Py_INCREF(Py_None);
3142 _res = Py_None;
3143 return _res;
3146 static PyObject *Qd_MacFillRgn(PyObject *_self, PyObject *_args)
3148 PyObject *_res = NULL;
3149 RgnHandle rgn;
3150 Pattern *pat__in__;
3151 int pat__in_len__;
3152 #ifndef MacFillRgn
3153 PyMac_PRECHECK(MacFillRgn);
3154 #endif
3155 if (!PyArg_ParseTuple(_args, "O&s#",
3156 ResObj_Convert, &rgn,
3157 (char **)&pat__in__, &pat__in_len__))
3158 return NULL;
3159 if (pat__in_len__ != sizeof(Pattern))
3161 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
3162 goto pat__error__;
3164 MacFillRgn(rgn,
3165 pat__in__);
3166 Py_INCREF(Py_None);
3167 _res = Py_None;
3168 pat__error__: ;
3169 return _res;
3172 static PyObject *Qd_ScrollRect(PyObject *_self, PyObject *_args)
3174 PyObject *_res = NULL;
3175 Rect r;
3176 short dh;
3177 short dv;
3178 RgnHandle updateRgn;
3179 #ifndef ScrollRect
3180 PyMac_PRECHECK(ScrollRect);
3181 #endif
3182 if (!PyArg_ParseTuple(_args, "O&hhO&",
3183 PyMac_GetRect, &r,
3184 &dh,
3185 &dv,
3186 ResObj_Convert, &updateRgn))
3187 return NULL;
3188 ScrollRect(&r,
3191 updateRgn);
3192 Py_INCREF(Py_None);
3193 _res = Py_None;
3194 return _res;
3197 static PyObject *Qd_CopyBits(PyObject *_self, PyObject *_args)
3199 PyObject *_res = NULL;
3200 BitMapPtr srcBits;
3201 BitMapPtr dstBits;
3202 Rect srcRect;
3203 Rect dstRect;
3204 short mode;
3205 RgnHandle maskRgn;
3206 #ifndef CopyBits
3207 PyMac_PRECHECK(CopyBits);
3208 #endif
3209 if (!PyArg_ParseTuple(_args, "O&O&O&O&hO&",
3210 BMObj_Convert, &srcBits,
3211 BMObj_Convert, &dstBits,
3212 PyMac_GetRect, &srcRect,
3213 PyMac_GetRect, &dstRect,
3214 &mode,
3215 OptResObj_Convert, &maskRgn))
3216 return NULL;
3217 CopyBits(srcBits,
3218 dstBits,
3219 &srcRect,
3220 &dstRect,
3221 mode,
3222 maskRgn);
3223 Py_INCREF(Py_None);
3224 _res = Py_None;
3225 return _res;
3228 static PyObject *Qd_CopyMask(PyObject *_self, PyObject *_args)
3230 PyObject *_res = NULL;
3231 BitMapPtr srcBits;
3232 BitMapPtr maskBits;
3233 BitMapPtr dstBits;
3234 Rect srcRect;
3235 Rect maskRect;
3236 Rect dstRect;
3237 #ifndef CopyMask
3238 PyMac_PRECHECK(CopyMask);
3239 #endif
3240 if (!PyArg_ParseTuple(_args, "O&O&O&O&O&O&",
3241 BMObj_Convert, &srcBits,
3242 BMObj_Convert, &maskBits,
3243 BMObj_Convert, &dstBits,
3244 PyMac_GetRect, &srcRect,
3245 PyMac_GetRect, &maskRect,
3246 PyMac_GetRect, &dstRect))
3247 return NULL;
3248 CopyMask(srcBits,
3249 maskBits,
3250 dstBits,
3251 &srcRect,
3252 &maskRect,
3253 &dstRect);
3254 Py_INCREF(Py_None);
3255 _res = Py_None;
3256 return _res;
3259 static PyObject *Qd_OpenPicture(PyObject *_self, PyObject *_args)
3261 PyObject *_res = NULL;
3262 PicHandle _rv;
3263 Rect picFrame;
3264 #ifndef OpenPicture
3265 PyMac_PRECHECK(OpenPicture);
3266 #endif
3267 if (!PyArg_ParseTuple(_args, "O&",
3268 PyMac_GetRect, &picFrame))
3269 return NULL;
3270 _rv = OpenPicture(&picFrame);
3271 _res = Py_BuildValue("O&",
3272 ResObj_New, _rv);
3273 return _res;
3276 static PyObject *Qd_PicComment(PyObject *_self, PyObject *_args)
3278 PyObject *_res = NULL;
3279 short kind;
3280 short dataSize;
3281 Handle dataHandle;
3282 #ifndef PicComment
3283 PyMac_PRECHECK(PicComment);
3284 #endif
3285 if (!PyArg_ParseTuple(_args, "hhO&",
3286 &kind,
3287 &dataSize,
3288 ResObj_Convert, &dataHandle))
3289 return NULL;
3290 PicComment(kind,
3291 dataSize,
3292 dataHandle);
3293 Py_INCREF(Py_None);
3294 _res = Py_None;
3295 return _res;
3298 static PyObject *Qd_ClosePicture(PyObject *_self, PyObject *_args)
3300 PyObject *_res = NULL;
3301 #ifndef ClosePicture
3302 PyMac_PRECHECK(ClosePicture);
3303 #endif
3304 if (!PyArg_ParseTuple(_args, ""))
3305 return NULL;
3306 ClosePicture();
3307 Py_INCREF(Py_None);
3308 _res = Py_None;
3309 return _res;
3312 static PyObject *Qd_DrawPicture(PyObject *_self, PyObject *_args)
3314 PyObject *_res = NULL;
3315 PicHandle myPicture;
3316 Rect dstRect;
3317 #ifndef DrawPicture
3318 PyMac_PRECHECK(DrawPicture);
3319 #endif
3320 if (!PyArg_ParseTuple(_args, "O&O&",
3321 ResObj_Convert, &myPicture,
3322 PyMac_GetRect, &dstRect))
3323 return NULL;
3324 DrawPicture(myPicture,
3325 &dstRect);
3326 Py_INCREF(Py_None);
3327 _res = Py_None;
3328 return _res;
3331 static PyObject *Qd_KillPicture(PyObject *_self, PyObject *_args)
3333 PyObject *_res = NULL;
3334 PicHandle myPicture;
3335 #ifndef KillPicture
3336 PyMac_PRECHECK(KillPicture);
3337 #endif
3338 if (!PyArg_ParseTuple(_args, "O&",
3339 ResObj_Convert, &myPicture))
3340 return NULL;
3341 KillPicture(myPicture);
3342 Py_INCREF(Py_None);
3343 _res = Py_None;
3344 return _res;
3347 static PyObject *Qd_OpenPoly(PyObject *_self, PyObject *_args)
3349 PyObject *_res = NULL;
3350 PolyHandle _rv;
3351 #ifndef OpenPoly
3352 PyMac_PRECHECK(OpenPoly);
3353 #endif
3354 if (!PyArg_ParseTuple(_args, ""))
3355 return NULL;
3356 _rv = OpenPoly();
3357 _res = Py_BuildValue("O&",
3358 ResObj_New, _rv);
3359 return _res;
3362 static PyObject *Qd_ClosePoly(PyObject *_self, PyObject *_args)
3364 PyObject *_res = NULL;
3365 #ifndef ClosePoly
3366 PyMac_PRECHECK(ClosePoly);
3367 #endif
3368 if (!PyArg_ParseTuple(_args, ""))
3369 return NULL;
3370 ClosePoly();
3371 Py_INCREF(Py_None);
3372 _res = Py_None;
3373 return _res;
3376 static PyObject *Qd_KillPoly(PyObject *_self, PyObject *_args)
3378 PyObject *_res = NULL;
3379 PolyHandle poly;
3380 #ifndef KillPoly
3381 PyMac_PRECHECK(KillPoly);
3382 #endif
3383 if (!PyArg_ParseTuple(_args, "O&",
3384 ResObj_Convert, &poly))
3385 return NULL;
3386 KillPoly(poly);
3387 Py_INCREF(Py_None);
3388 _res = Py_None;
3389 return _res;
3392 static PyObject *Qd_OffsetPoly(PyObject *_self, PyObject *_args)
3394 PyObject *_res = NULL;
3395 PolyHandle poly;
3396 short dh;
3397 short dv;
3398 #ifndef OffsetPoly
3399 PyMac_PRECHECK(OffsetPoly);
3400 #endif
3401 if (!PyArg_ParseTuple(_args, "O&hh",
3402 ResObj_Convert, &poly,
3403 &dh,
3404 &dv))
3405 return NULL;
3406 OffsetPoly(poly,
3408 dv);
3409 Py_INCREF(Py_None);
3410 _res = Py_None;
3411 return _res;
3414 static PyObject *Qd_FramePoly(PyObject *_self, PyObject *_args)
3416 PyObject *_res = NULL;
3417 PolyHandle poly;
3418 #ifndef FramePoly
3419 PyMac_PRECHECK(FramePoly);
3420 #endif
3421 if (!PyArg_ParseTuple(_args, "O&",
3422 ResObj_Convert, &poly))
3423 return NULL;
3424 FramePoly(poly);
3425 Py_INCREF(Py_None);
3426 _res = Py_None;
3427 return _res;
3430 static PyObject *Qd_PaintPoly(PyObject *_self, PyObject *_args)
3432 PyObject *_res = NULL;
3433 PolyHandle poly;
3434 #ifndef PaintPoly
3435 PyMac_PRECHECK(PaintPoly);
3436 #endif
3437 if (!PyArg_ParseTuple(_args, "O&",
3438 ResObj_Convert, &poly))
3439 return NULL;
3440 PaintPoly(poly);
3441 Py_INCREF(Py_None);
3442 _res = Py_None;
3443 return _res;
3446 static PyObject *Qd_ErasePoly(PyObject *_self, PyObject *_args)
3448 PyObject *_res = NULL;
3449 PolyHandle poly;
3450 #ifndef ErasePoly
3451 PyMac_PRECHECK(ErasePoly);
3452 #endif
3453 if (!PyArg_ParseTuple(_args, "O&",
3454 ResObj_Convert, &poly))
3455 return NULL;
3456 ErasePoly(poly);
3457 Py_INCREF(Py_None);
3458 _res = Py_None;
3459 return _res;
3462 static PyObject *Qd_InvertPoly(PyObject *_self, PyObject *_args)
3464 PyObject *_res = NULL;
3465 PolyHandle poly;
3466 #ifndef InvertPoly
3467 PyMac_PRECHECK(InvertPoly);
3468 #endif
3469 if (!PyArg_ParseTuple(_args, "O&",
3470 ResObj_Convert, &poly))
3471 return NULL;
3472 InvertPoly(poly);
3473 Py_INCREF(Py_None);
3474 _res = Py_None;
3475 return _res;
3478 static PyObject *Qd_FillPoly(PyObject *_self, PyObject *_args)
3480 PyObject *_res = NULL;
3481 PolyHandle poly;
3482 Pattern *pat__in__;
3483 int pat__in_len__;
3484 #ifndef FillPoly
3485 PyMac_PRECHECK(FillPoly);
3486 #endif
3487 if (!PyArg_ParseTuple(_args, "O&s#",
3488 ResObj_Convert, &poly,
3489 (char **)&pat__in__, &pat__in_len__))
3490 return NULL;
3491 if (pat__in_len__ != sizeof(Pattern))
3493 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
3494 goto pat__error__;
3496 FillPoly(poly,
3497 pat__in__);
3498 Py_INCREF(Py_None);
3499 _res = Py_None;
3500 pat__error__: ;
3501 return _res;
3504 static PyObject *Qd_SetPt(PyObject *_self, PyObject *_args)
3506 PyObject *_res = NULL;
3507 Point pt;
3508 short h;
3509 short v;
3510 #ifndef SetPt
3511 PyMac_PRECHECK(SetPt);
3512 #endif
3513 if (!PyArg_ParseTuple(_args, "hh",
3515 &v))
3516 return NULL;
3517 SetPt(&pt,
3520 _res = Py_BuildValue("O&",
3521 PyMac_BuildPoint, pt);
3522 return _res;
3525 static PyObject *Qd_LocalToGlobal(PyObject *_self, PyObject *_args)
3527 PyObject *_res = NULL;
3528 Point pt;
3529 #ifndef LocalToGlobal
3530 PyMac_PRECHECK(LocalToGlobal);
3531 #endif
3532 if (!PyArg_ParseTuple(_args, "O&",
3533 PyMac_GetPoint, &pt))
3534 return NULL;
3535 LocalToGlobal(&pt);
3536 _res = Py_BuildValue("O&",
3537 PyMac_BuildPoint, pt);
3538 return _res;
3541 static PyObject *Qd_GlobalToLocal(PyObject *_self, PyObject *_args)
3543 PyObject *_res = NULL;
3544 Point pt;
3545 #ifndef GlobalToLocal
3546 PyMac_PRECHECK(GlobalToLocal);
3547 #endif
3548 if (!PyArg_ParseTuple(_args, "O&",
3549 PyMac_GetPoint, &pt))
3550 return NULL;
3551 GlobalToLocal(&pt);
3552 _res = Py_BuildValue("O&",
3553 PyMac_BuildPoint, pt);
3554 return _res;
3557 static PyObject *Qd_Random(PyObject *_self, PyObject *_args)
3559 PyObject *_res = NULL;
3560 short _rv;
3561 #ifndef Random
3562 PyMac_PRECHECK(Random);
3563 #endif
3564 if (!PyArg_ParseTuple(_args, ""))
3565 return NULL;
3566 _rv = Random();
3567 _res = Py_BuildValue("h",
3568 _rv);
3569 return _res;
3572 static PyObject *Qd_MacGetPixel(PyObject *_self, PyObject *_args)
3574 PyObject *_res = NULL;
3575 Boolean _rv;
3576 short h;
3577 short v;
3578 #ifndef MacGetPixel
3579 PyMac_PRECHECK(MacGetPixel);
3580 #endif
3581 if (!PyArg_ParseTuple(_args, "hh",
3583 &v))
3584 return NULL;
3585 _rv = MacGetPixel(h,
3587 _res = Py_BuildValue("b",
3588 _rv);
3589 return _res;
3592 static PyObject *Qd_ScalePt(PyObject *_self, PyObject *_args)
3594 PyObject *_res = NULL;
3595 Point pt;
3596 Rect srcRect;
3597 Rect dstRect;
3598 #ifndef ScalePt
3599 PyMac_PRECHECK(ScalePt);
3600 #endif
3601 if (!PyArg_ParseTuple(_args, "O&O&O&",
3602 PyMac_GetPoint, &pt,
3603 PyMac_GetRect, &srcRect,
3604 PyMac_GetRect, &dstRect))
3605 return NULL;
3606 ScalePt(&pt,
3607 &srcRect,
3608 &dstRect);
3609 _res = Py_BuildValue("O&",
3610 PyMac_BuildPoint, pt);
3611 return _res;
3614 static PyObject *Qd_MapPt(PyObject *_self, PyObject *_args)
3616 PyObject *_res = NULL;
3617 Point pt;
3618 Rect srcRect;
3619 Rect dstRect;
3620 #ifndef MapPt
3621 PyMac_PRECHECK(MapPt);
3622 #endif
3623 if (!PyArg_ParseTuple(_args, "O&O&O&",
3624 PyMac_GetPoint, &pt,
3625 PyMac_GetRect, &srcRect,
3626 PyMac_GetRect, &dstRect))
3627 return NULL;
3628 MapPt(&pt,
3629 &srcRect,
3630 &dstRect);
3631 _res = Py_BuildValue("O&",
3632 PyMac_BuildPoint, pt);
3633 return _res;
3636 static PyObject *Qd_MapRect(PyObject *_self, PyObject *_args)
3638 PyObject *_res = NULL;
3639 Rect r;
3640 Rect srcRect;
3641 Rect dstRect;
3642 #ifndef MapRect
3643 PyMac_PRECHECK(MapRect);
3644 #endif
3645 if (!PyArg_ParseTuple(_args, "O&O&O&",
3646 PyMac_GetRect, &r,
3647 PyMac_GetRect, &srcRect,
3648 PyMac_GetRect, &dstRect))
3649 return NULL;
3650 MapRect(&r,
3651 &srcRect,
3652 &dstRect);
3653 _res = Py_BuildValue("O&",
3654 PyMac_BuildRect, &r);
3655 return _res;
3658 static PyObject *Qd_MapRgn(PyObject *_self, PyObject *_args)
3660 PyObject *_res = NULL;
3661 RgnHandle rgn;
3662 Rect srcRect;
3663 Rect dstRect;
3664 #ifndef MapRgn
3665 PyMac_PRECHECK(MapRgn);
3666 #endif
3667 if (!PyArg_ParseTuple(_args, "O&O&O&",
3668 ResObj_Convert, &rgn,
3669 PyMac_GetRect, &srcRect,
3670 PyMac_GetRect, &dstRect))
3671 return NULL;
3672 MapRgn(rgn,
3673 &srcRect,
3674 &dstRect);
3675 Py_INCREF(Py_None);
3676 _res = Py_None;
3677 return _res;
3680 static PyObject *Qd_MapPoly(PyObject *_self, PyObject *_args)
3682 PyObject *_res = NULL;
3683 PolyHandle poly;
3684 Rect srcRect;
3685 Rect dstRect;
3686 #ifndef MapPoly
3687 PyMac_PRECHECK(MapPoly);
3688 #endif
3689 if (!PyArg_ParseTuple(_args, "O&O&O&",
3690 ResObj_Convert, &poly,
3691 PyMac_GetRect, &srcRect,
3692 PyMac_GetRect, &dstRect))
3693 return NULL;
3694 MapPoly(poly,
3695 &srcRect,
3696 &dstRect);
3697 Py_INCREF(Py_None);
3698 _res = Py_None;
3699 return _res;
3702 static PyObject *Qd_StdBits(PyObject *_self, PyObject *_args)
3704 PyObject *_res = NULL;
3705 BitMapPtr srcBits;
3706 Rect srcRect;
3707 Rect dstRect;
3708 short mode;
3709 RgnHandle maskRgn;
3710 #ifndef StdBits
3711 PyMac_PRECHECK(StdBits);
3712 #endif
3713 if (!PyArg_ParseTuple(_args, "O&O&O&hO&",
3714 BMObj_Convert, &srcBits,
3715 PyMac_GetRect, &srcRect,
3716 PyMac_GetRect, &dstRect,
3717 &mode,
3718 OptResObj_Convert, &maskRgn))
3719 return NULL;
3720 StdBits(srcBits,
3721 &srcRect,
3722 &dstRect,
3723 mode,
3724 maskRgn);
3725 Py_INCREF(Py_None);
3726 _res = Py_None;
3727 return _res;
3730 static PyObject *Qd_AddPt(PyObject *_self, PyObject *_args)
3732 PyObject *_res = NULL;
3733 Point src;
3734 Point dst;
3735 #ifndef AddPt
3736 PyMac_PRECHECK(AddPt);
3737 #endif
3738 if (!PyArg_ParseTuple(_args, "O&O&",
3739 PyMac_GetPoint, &src,
3740 PyMac_GetPoint, &dst))
3741 return NULL;
3742 AddPt(src,
3743 &dst);
3744 _res = Py_BuildValue("O&",
3745 PyMac_BuildPoint, dst);
3746 return _res;
3749 static PyObject *Qd_EqualPt(PyObject *_self, PyObject *_args)
3751 PyObject *_res = NULL;
3752 Boolean _rv;
3753 Point pt1;
3754 Point pt2;
3755 #ifndef EqualPt
3756 PyMac_PRECHECK(EqualPt);
3757 #endif
3758 if (!PyArg_ParseTuple(_args, "O&O&",
3759 PyMac_GetPoint, &pt1,
3760 PyMac_GetPoint, &pt2))
3761 return NULL;
3762 _rv = EqualPt(pt1,
3763 pt2);
3764 _res = Py_BuildValue("b",
3765 _rv);
3766 return _res;
3769 static PyObject *Qd_MacPtInRect(PyObject *_self, PyObject *_args)
3771 PyObject *_res = NULL;
3772 Boolean _rv;
3773 Point pt;
3774 Rect r;
3775 #ifndef MacPtInRect
3776 PyMac_PRECHECK(MacPtInRect);
3777 #endif
3778 if (!PyArg_ParseTuple(_args, "O&O&",
3779 PyMac_GetPoint, &pt,
3780 PyMac_GetRect, &r))
3781 return NULL;
3782 _rv = MacPtInRect(pt,
3783 &r);
3784 _res = Py_BuildValue("b",
3785 _rv);
3786 return _res;
3789 static PyObject *Qd_Pt2Rect(PyObject *_self, PyObject *_args)
3791 PyObject *_res = NULL;
3792 Point pt1;
3793 Point pt2;
3794 Rect dstRect;
3795 #ifndef Pt2Rect
3796 PyMac_PRECHECK(Pt2Rect);
3797 #endif
3798 if (!PyArg_ParseTuple(_args, "O&O&",
3799 PyMac_GetPoint, &pt1,
3800 PyMac_GetPoint, &pt2))
3801 return NULL;
3802 Pt2Rect(pt1,
3803 pt2,
3804 &dstRect);
3805 _res = Py_BuildValue("O&",
3806 PyMac_BuildRect, &dstRect);
3807 return _res;
3810 static PyObject *Qd_PtToAngle(PyObject *_self, PyObject *_args)
3812 PyObject *_res = NULL;
3813 Rect r;
3814 Point pt;
3815 short angle;
3816 #ifndef PtToAngle
3817 PyMac_PRECHECK(PtToAngle);
3818 #endif
3819 if (!PyArg_ParseTuple(_args, "O&O&",
3820 PyMac_GetRect, &r,
3821 PyMac_GetPoint, &pt))
3822 return NULL;
3823 PtToAngle(&r,
3825 &angle);
3826 _res = Py_BuildValue("h",
3827 angle);
3828 return _res;
3831 static PyObject *Qd_SubPt(PyObject *_self, PyObject *_args)
3833 PyObject *_res = NULL;
3834 Point src;
3835 Point dst;
3836 #ifndef SubPt
3837 PyMac_PRECHECK(SubPt);
3838 #endif
3839 if (!PyArg_ParseTuple(_args, "O&O&",
3840 PyMac_GetPoint, &src,
3841 PyMac_GetPoint, &dst))
3842 return NULL;
3843 SubPt(src,
3844 &dst);
3845 _res = Py_BuildValue("O&",
3846 PyMac_BuildPoint, dst);
3847 return _res;
3850 static PyObject *Qd_PtInRgn(PyObject *_self, PyObject *_args)
3852 PyObject *_res = NULL;
3853 Boolean _rv;
3854 Point pt;
3855 RgnHandle rgn;
3856 #ifndef PtInRgn
3857 PyMac_PRECHECK(PtInRgn);
3858 #endif
3859 if (!PyArg_ParseTuple(_args, "O&O&",
3860 PyMac_GetPoint, &pt,
3861 ResObj_Convert, &rgn))
3862 return NULL;
3863 _rv = PtInRgn(pt,
3864 rgn);
3865 _res = Py_BuildValue("b",
3866 _rv);
3867 return _res;
3870 static PyObject *Qd_NewPixMap(PyObject *_self, PyObject *_args)
3872 PyObject *_res = NULL;
3873 PixMapHandle _rv;
3874 #ifndef NewPixMap
3875 PyMac_PRECHECK(NewPixMap);
3876 #endif
3877 if (!PyArg_ParseTuple(_args, ""))
3878 return NULL;
3879 _rv = NewPixMap();
3880 _res = Py_BuildValue("O&",
3881 ResObj_New, _rv);
3882 return _res;
3885 static PyObject *Qd_DisposePixMap(PyObject *_self, PyObject *_args)
3887 PyObject *_res = NULL;
3888 PixMapHandle pm;
3889 #ifndef DisposePixMap
3890 PyMac_PRECHECK(DisposePixMap);
3891 #endif
3892 if (!PyArg_ParseTuple(_args, "O&",
3893 ResObj_Convert, &pm))
3894 return NULL;
3895 DisposePixMap(pm);
3896 Py_INCREF(Py_None);
3897 _res = Py_None;
3898 return _res;
3901 static PyObject *Qd_CopyPixMap(PyObject *_self, PyObject *_args)
3903 PyObject *_res = NULL;
3904 PixMapHandle srcPM;
3905 PixMapHandle dstPM;
3906 #ifndef CopyPixMap
3907 PyMac_PRECHECK(CopyPixMap);
3908 #endif
3909 if (!PyArg_ParseTuple(_args, "O&O&",
3910 ResObj_Convert, &srcPM,
3911 ResObj_Convert, &dstPM))
3912 return NULL;
3913 CopyPixMap(srcPM,
3914 dstPM);
3915 Py_INCREF(Py_None);
3916 _res = Py_None;
3917 return _res;
3920 static PyObject *Qd_NewPixPat(PyObject *_self, PyObject *_args)
3922 PyObject *_res = NULL;
3923 PixPatHandle _rv;
3924 #ifndef NewPixPat
3925 PyMac_PRECHECK(NewPixPat);
3926 #endif
3927 if (!PyArg_ParseTuple(_args, ""))
3928 return NULL;
3929 _rv = NewPixPat();
3930 _res = Py_BuildValue("O&",
3931 ResObj_New, _rv);
3932 return _res;
3935 static PyObject *Qd_DisposePixPat(PyObject *_self, PyObject *_args)
3937 PyObject *_res = NULL;
3938 PixPatHandle pp;
3939 #ifndef DisposePixPat
3940 PyMac_PRECHECK(DisposePixPat);
3941 #endif
3942 if (!PyArg_ParseTuple(_args, "O&",
3943 ResObj_Convert, &pp))
3944 return NULL;
3945 DisposePixPat(pp);
3946 Py_INCREF(Py_None);
3947 _res = Py_None;
3948 return _res;
3951 static PyObject *Qd_CopyPixPat(PyObject *_self, PyObject *_args)
3953 PyObject *_res = NULL;
3954 PixPatHandle srcPP;
3955 PixPatHandle dstPP;
3956 #ifndef CopyPixPat
3957 PyMac_PRECHECK(CopyPixPat);
3958 #endif
3959 if (!PyArg_ParseTuple(_args, "O&O&",
3960 ResObj_Convert, &srcPP,
3961 ResObj_Convert, &dstPP))
3962 return NULL;
3963 CopyPixPat(srcPP,
3964 dstPP);
3965 Py_INCREF(Py_None);
3966 _res = Py_None;
3967 return _res;
3970 static PyObject *Qd_PenPixPat(PyObject *_self, PyObject *_args)
3972 PyObject *_res = NULL;
3973 PixPatHandle pp;
3974 #ifndef PenPixPat
3975 PyMac_PRECHECK(PenPixPat);
3976 #endif
3977 if (!PyArg_ParseTuple(_args, "O&",
3978 ResObj_Convert, &pp))
3979 return NULL;
3980 PenPixPat(pp);
3981 Py_INCREF(Py_None);
3982 _res = Py_None;
3983 return _res;
3986 static PyObject *Qd_BackPixPat(PyObject *_self, PyObject *_args)
3988 PyObject *_res = NULL;
3989 PixPatHandle pp;
3990 #ifndef BackPixPat
3991 PyMac_PRECHECK(BackPixPat);
3992 #endif
3993 if (!PyArg_ParseTuple(_args, "O&",
3994 ResObj_Convert, &pp))
3995 return NULL;
3996 BackPixPat(pp);
3997 Py_INCREF(Py_None);
3998 _res = Py_None;
3999 return _res;
4002 static PyObject *Qd_GetPixPat(PyObject *_self, PyObject *_args)
4004 PyObject *_res = NULL;
4005 PixPatHandle _rv;
4006 short patID;
4007 #ifndef GetPixPat
4008 PyMac_PRECHECK(GetPixPat);
4009 #endif
4010 if (!PyArg_ParseTuple(_args, "h",
4011 &patID))
4012 return NULL;
4013 _rv = GetPixPat(patID);
4014 _res = Py_BuildValue("O&",
4015 ResObj_New, _rv);
4016 return _res;
4019 static PyObject *Qd_MakeRGBPat(PyObject *_self, PyObject *_args)
4021 PyObject *_res = NULL;
4022 PixPatHandle pp;
4023 RGBColor myColor;
4024 #ifndef MakeRGBPat
4025 PyMac_PRECHECK(MakeRGBPat);
4026 #endif
4027 if (!PyArg_ParseTuple(_args, "O&O&",
4028 ResObj_Convert, &pp,
4029 QdRGB_Convert, &myColor))
4030 return NULL;
4031 MakeRGBPat(pp,
4032 &myColor);
4033 Py_INCREF(Py_None);
4034 _res = Py_None;
4035 return _res;
4038 static PyObject *Qd_FillCRect(PyObject *_self, PyObject *_args)
4040 PyObject *_res = NULL;
4041 Rect r;
4042 PixPatHandle pp;
4043 #ifndef FillCRect
4044 PyMac_PRECHECK(FillCRect);
4045 #endif
4046 if (!PyArg_ParseTuple(_args, "O&O&",
4047 PyMac_GetRect, &r,
4048 ResObj_Convert, &pp))
4049 return NULL;
4050 FillCRect(&r,
4051 pp);
4052 Py_INCREF(Py_None);
4053 _res = Py_None;
4054 return _res;
4057 static PyObject *Qd_FillCOval(PyObject *_self, PyObject *_args)
4059 PyObject *_res = NULL;
4060 Rect r;
4061 PixPatHandle pp;
4062 #ifndef FillCOval
4063 PyMac_PRECHECK(FillCOval);
4064 #endif
4065 if (!PyArg_ParseTuple(_args, "O&O&",
4066 PyMac_GetRect, &r,
4067 ResObj_Convert, &pp))
4068 return NULL;
4069 FillCOval(&r,
4070 pp);
4071 Py_INCREF(Py_None);
4072 _res = Py_None;
4073 return _res;
4076 static PyObject *Qd_FillCRoundRect(PyObject *_self, PyObject *_args)
4078 PyObject *_res = NULL;
4079 Rect r;
4080 short ovalWidth;
4081 short ovalHeight;
4082 PixPatHandle pp;
4083 #ifndef FillCRoundRect
4084 PyMac_PRECHECK(FillCRoundRect);
4085 #endif
4086 if (!PyArg_ParseTuple(_args, "O&hhO&",
4087 PyMac_GetRect, &r,
4088 &ovalWidth,
4089 &ovalHeight,
4090 ResObj_Convert, &pp))
4091 return NULL;
4092 FillCRoundRect(&r,
4093 ovalWidth,
4094 ovalHeight,
4095 pp);
4096 Py_INCREF(Py_None);
4097 _res = Py_None;
4098 return _res;
4101 static PyObject *Qd_FillCArc(PyObject *_self, PyObject *_args)
4103 PyObject *_res = NULL;
4104 Rect r;
4105 short startAngle;
4106 short arcAngle;
4107 PixPatHandle pp;
4108 #ifndef FillCArc
4109 PyMac_PRECHECK(FillCArc);
4110 #endif
4111 if (!PyArg_ParseTuple(_args, "O&hhO&",
4112 PyMac_GetRect, &r,
4113 &startAngle,
4114 &arcAngle,
4115 ResObj_Convert, &pp))
4116 return NULL;
4117 FillCArc(&r,
4118 startAngle,
4119 arcAngle,
4120 pp);
4121 Py_INCREF(Py_None);
4122 _res = Py_None;
4123 return _res;
4126 static PyObject *Qd_FillCRgn(PyObject *_self, PyObject *_args)
4128 PyObject *_res = NULL;
4129 RgnHandle rgn;
4130 PixPatHandle pp;
4131 #ifndef FillCRgn
4132 PyMac_PRECHECK(FillCRgn);
4133 #endif
4134 if (!PyArg_ParseTuple(_args, "O&O&",
4135 ResObj_Convert, &rgn,
4136 ResObj_Convert, &pp))
4137 return NULL;
4138 FillCRgn(rgn,
4139 pp);
4140 Py_INCREF(Py_None);
4141 _res = Py_None;
4142 return _res;
4145 static PyObject *Qd_FillCPoly(PyObject *_self, PyObject *_args)
4147 PyObject *_res = NULL;
4148 PolyHandle poly;
4149 PixPatHandle pp;
4150 #ifndef FillCPoly
4151 PyMac_PRECHECK(FillCPoly);
4152 #endif
4153 if (!PyArg_ParseTuple(_args, "O&O&",
4154 ResObj_Convert, &poly,
4155 ResObj_Convert, &pp))
4156 return NULL;
4157 FillCPoly(poly,
4158 pp);
4159 Py_INCREF(Py_None);
4160 _res = Py_None;
4161 return _res;
4164 static PyObject *Qd_RGBForeColor(PyObject *_self, PyObject *_args)
4166 PyObject *_res = NULL;
4167 RGBColor color;
4168 #ifndef RGBForeColor
4169 PyMac_PRECHECK(RGBForeColor);
4170 #endif
4171 if (!PyArg_ParseTuple(_args, "O&",
4172 QdRGB_Convert, &color))
4173 return NULL;
4174 RGBForeColor(&color);
4175 Py_INCREF(Py_None);
4176 _res = Py_None;
4177 return _res;
4180 static PyObject *Qd_RGBBackColor(PyObject *_self, PyObject *_args)
4182 PyObject *_res = NULL;
4183 RGBColor color;
4184 #ifndef RGBBackColor
4185 PyMac_PRECHECK(RGBBackColor);
4186 #endif
4187 if (!PyArg_ParseTuple(_args, "O&",
4188 QdRGB_Convert, &color))
4189 return NULL;
4190 RGBBackColor(&color);
4191 Py_INCREF(Py_None);
4192 _res = Py_None;
4193 return _res;
4196 static PyObject *Qd_SetCPixel(PyObject *_self, PyObject *_args)
4198 PyObject *_res = NULL;
4199 short h;
4200 short v;
4201 RGBColor cPix;
4202 #ifndef SetCPixel
4203 PyMac_PRECHECK(SetCPixel);
4204 #endif
4205 if (!PyArg_ParseTuple(_args, "hhO&",
4208 QdRGB_Convert, &cPix))
4209 return NULL;
4210 SetCPixel(h,
4212 &cPix);
4213 Py_INCREF(Py_None);
4214 _res = Py_None;
4215 return _res;
4218 static PyObject *Qd_SetPortPix(PyObject *_self, PyObject *_args)
4220 PyObject *_res = NULL;
4221 PixMapHandle pm;
4222 #ifndef SetPortPix
4223 PyMac_PRECHECK(SetPortPix);
4224 #endif
4225 if (!PyArg_ParseTuple(_args, "O&",
4226 ResObj_Convert, &pm))
4227 return NULL;
4228 SetPortPix(pm);
4229 Py_INCREF(Py_None);
4230 _res = Py_None;
4231 return _res;
4234 static PyObject *Qd_GetCPixel(PyObject *_self, PyObject *_args)
4236 PyObject *_res = NULL;
4237 short h;
4238 short v;
4239 RGBColor cPix;
4240 #ifndef GetCPixel
4241 PyMac_PRECHECK(GetCPixel);
4242 #endif
4243 if (!PyArg_ParseTuple(_args, "hh",
4245 &v))
4246 return NULL;
4247 GetCPixel(h,
4249 &cPix);
4250 _res = Py_BuildValue("O&",
4251 QdRGB_New, &cPix);
4252 return _res;
4255 static PyObject *Qd_GetForeColor(PyObject *_self, PyObject *_args)
4257 PyObject *_res = NULL;
4258 RGBColor color;
4259 #ifndef GetForeColor
4260 PyMac_PRECHECK(GetForeColor);
4261 #endif
4262 if (!PyArg_ParseTuple(_args, ""))
4263 return NULL;
4264 GetForeColor(&color);
4265 _res = Py_BuildValue("O&",
4266 QdRGB_New, &color);
4267 return _res;
4270 static PyObject *Qd_GetBackColor(PyObject *_self, PyObject *_args)
4272 PyObject *_res = NULL;
4273 RGBColor color;
4274 #ifndef GetBackColor
4275 PyMac_PRECHECK(GetBackColor);
4276 #endif
4277 if (!PyArg_ParseTuple(_args, ""))
4278 return NULL;
4279 GetBackColor(&color);
4280 _res = Py_BuildValue("O&",
4281 QdRGB_New, &color);
4282 return _res;
4285 static PyObject *Qd_OpColor(PyObject *_self, PyObject *_args)
4287 PyObject *_res = NULL;
4288 RGBColor color;
4289 #ifndef OpColor
4290 PyMac_PRECHECK(OpColor);
4291 #endif
4292 if (!PyArg_ParseTuple(_args, "O&",
4293 QdRGB_Convert, &color))
4294 return NULL;
4295 OpColor(&color);
4296 Py_INCREF(Py_None);
4297 _res = Py_None;
4298 return _res;
4301 static PyObject *Qd_HiliteColor(PyObject *_self, PyObject *_args)
4303 PyObject *_res = NULL;
4304 RGBColor color;
4305 #ifndef HiliteColor
4306 PyMac_PRECHECK(HiliteColor);
4307 #endif
4308 if (!PyArg_ParseTuple(_args, "O&",
4309 QdRGB_Convert, &color))
4310 return NULL;
4311 HiliteColor(&color);
4312 Py_INCREF(Py_None);
4313 _res = Py_None;
4314 return _res;
4317 static PyObject *Qd_DisposeCTable(PyObject *_self, PyObject *_args)
4319 PyObject *_res = NULL;
4320 CTabHandle cTable;
4321 #ifndef DisposeCTable
4322 PyMac_PRECHECK(DisposeCTable);
4323 #endif
4324 if (!PyArg_ParseTuple(_args, "O&",
4325 ResObj_Convert, &cTable))
4326 return NULL;
4327 DisposeCTable(cTable);
4328 Py_INCREF(Py_None);
4329 _res = Py_None;
4330 return _res;
4333 static PyObject *Qd_GetCTable(PyObject *_self, PyObject *_args)
4335 PyObject *_res = NULL;
4336 CTabHandle _rv;
4337 short ctID;
4338 #ifndef GetCTable
4339 PyMac_PRECHECK(GetCTable);
4340 #endif
4341 if (!PyArg_ParseTuple(_args, "h",
4342 &ctID))
4343 return NULL;
4344 _rv = GetCTable(ctID);
4345 _res = Py_BuildValue("O&",
4346 ResObj_New, _rv);
4347 return _res;
4350 static PyObject *Qd_GetCCursor(PyObject *_self, PyObject *_args)
4352 PyObject *_res = NULL;
4353 CCrsrHandle _rv;
4354 short crsrID;
4355 #ifndef GetCCursor
4356 PyMac_PRECHECK(GetCCursor);
4357 #endif
4358 if (!PyArg_ParseTuple(_args, "h",
4359 &crsrID))
4360 return NULL;
4361 _rv = GetCCursor(crsrID);
4362 _res = Py_BuildValue("O&",
4363 ResObj_New, _rv);
4364 return _res;
4367 static PyObject *Qd_SetCCursor(PyObject *_self, PyObject *_args)
4369 PyObject *_res = NULL;
4370 CCrsrHandle cCrsr;
4371 #ifndef SetCCursor
4372 PyMac_PRECHECK(SetCCursor);
4373 #endif
4374 if (!PyArg_ParseTuple(_args, "O&",
4375 ResObj_Convert, &cCrsr))
4376 return NULL;
4377 SetCCursor(cCrsr);
4378 Py_INCREF(Py_None);
4379 _res = Py_None;
4380 return _res;
4383 static PyObject *Qd_AllocCursor(PyObject *_self, PyObject *_args)
4385 PyObject *_res = NULL;
4386 #ifndef AllocCursor
4387 PyMac_PRECHECK(AllocCursor);
4388 #endif
4389 if (!PyArg_ParseTuple(_args, ""))
4390 return NULL;
4391 AllocCursor();
4392 Py_INCREF(Py_None);
4393 _res = Py_None;
4394 return _res;
4397 static PyObject *Qd_DisposeCCursor(PyObject *_self, PyObject *_args)
4399 PyObject *_res = NULL;
4400 CCrsrHandle cCrsr;
4401 #ifndef DisposeCCursor
4402 PyMac_PRECHECK(DisposeCCursor);
4403 #endif
4404 if (!PyArg_ParseTuple(_args, "O&",
4405 ResObj_Convert, &cCrsr))
4406 return NULL;
4407 DisposeCCursor(cCrsr);
4408 Py_INCREF(Py_None);
4409 _res = Py_None;
4410 return _res;
4413 static PyObject *Qd_GetMaxDevice(PyObject *_self, PyObject *_args)
4415 PyObject *_res = NULL;
4416 GDHandle _rv;
4417 Rect globalRect;
4418 #ifndef GetMaxDevice
4419 PyMac_PRECHECK(GetMaxDevice);
4420 #endif
4421 if (!PyArg_ParseTuple(_args, "O&",
4422 PyMac_GetRect, &globalRect))
4423 return NULL;
4424 _rv = GetMaxDevice(&globalRect);
4425 _res = Py_BuildValue("O&",
4426 ResObj_New, _rv);
4427 return _res;
4430 static PyObject *Qd_GetCTSeed(PyObject *_self, PyObject *_args)
4432 PyObject *_res = NULL;
4433 long _rv;
4434 #ifndef GetCTSeed
4435 PyMac_PRECHECK(GetCTSeed);
4436 #endif
4437 if (!PyArg_ParseTuple(_args, ""))
4438 return NULL;
4439 _rv = GetCTSeed();
4440 _res = Py_BuildValue("l",
4441 _rv);
4442 return _res;
4445 static PyObject *Qd_GetDeviceList(PyObject *_self, PyObject *_args)
4447 PyObject *_res = NULL;
4448 GDHandle _rv;
4449 #ifndef GetDeviceList
4450 PyMac_PRECHECK(GetDeviceList);
4451 #endif
4452 if (!PyArg_ParseTuple(_args, ""))
4453 return NULL;
4454 _rv = GetDeviceList();
4455 _res = Py_BuildValue("O&",
4456 ResObj_New, _rv);
4457 return _res;
4460 static PyObject *Qd_GetMainDevice(PyObject *_self, PyObject *_args)
4462 PyObject *_res = NULL;
4463 GDHandle _rv;
4464 #ifndef GetMainDevice
4465 PyMac_PRECHECK(GetMainDevice);
4466 #endif
4467 if (!PyArg_ParseTuple(_args, ""))
4468 return NULL;
4469 _rv = GetMainDevice();
4470 _res = Py_BuildValue("O&",
4471 ResObj_New, _rv);
4472 return _res;
4475 static PyObject *Qd_GetNextDevice(PyObject *_self, PyObject *_args)
4477 PyObject *_res = NULL;
4478 GDHandle _rv;
4479 GDHandle curDevice;
4480 #ifndef GetNextDevice
4481 PyMac_PRECHECK(GetNextDevice);
4482 #endif
4483 if (!PyArg_ParseTuple(_args, "O&",
4484 ResObj_Convert, &curDevice))
4485 return NULL;
4486 _rv = GetNextDevice(curDevice);
4487 _res = Py_BuildValue("O&",
4488 ResObj_New, _rv);
4489 return _res;
4492 static PyObject *Qd_TestDeviceAttribute(PyObject *_self, PyObject *_args)
4494 PyObject *_res = NULL;
4495 Boolean _rv;
4496 GDHandle gdh;
4497 short attribute;
4498 #ifndef TestDeviceAttribute
4499 PyMac_PRECHECK(TestDeviceAttribute);
4500 #endif
4501 if (!PyArg_ParseTuple(_args, "O&h",
4502 ResObj_Convert, &gdh,
4503 &attribute))
4504 return NULL;
4505 _rv = TestDeviceAttribute(gdh,
4506 attribute);
4507 _res = Py_BuildValue("b",
4508 _rv);
4509 return _res;
4512 static PyObject *Qd_SetDeviceAttribute(PyObject *_self, PyObject *_args)
4514 PyObject *_res = NULL;
4515 GDHandle gdh;
4516 short attribute;
4517 Boolean value;
4518 #ifndef SetDeviceAttribute
4519 PyMac_PRECHECK(SetDeviceAttribute);
4520 #endif
4521 if (!PyArg_ParseTuple(_args, "O&hb",
4522 ResObj_Convert, &gdh,
4523 &attribute,
4524 &value))
4525 return NULL;
4526 SetDeviceAttribute(gdh,
4527 attribute,
4528 value);
4529 Py_INCREF(Py_None);
4530 _res = Py_None;
4531 return _res;
4534 static PyObject *Qd_InitGDevice(PyObject *_self, PyObject *_args)
4536 PyObject *_res = NULL;
4537 short qdRefNum;
4538 long mode;
4539 GDHandle gdh;
4540 #ifndef InitGDevice
4541 PyMac_PRECHECK(InitGDevice);
4542 #endif
4543 if (!PyArg_ParseTuple(_args, "hlO&",
4544 &qdRefNum,
4545 &mode,
4546 ResObj_Convert, &gdh))
4547 return NULL;
4548 InitGDevice(qdRefNum,
4549 mode,
4550 gdh);
4551 Py_INCREF(Py_None);
4552 _res = Py_None;
4553 return _res;
4556 static PyObject *Qd_NewGDevice(PyObject *_self, PyObject *_args)
4558 PyObject *_res = NULL;
4559 GDHandle _rv;
4560 short refNum;
4561 long mode;
4562 #ifndef NewGDevice
4563 PyMac_PRECHECK(NewGDevice);
4564 #endif
4565 if (!PyArg_ParseTuple(_args, "hl",
4566 &refNum,
4567 &mode))
4568 return NULL;
4569 _rv = NewGDevice(refNum,
4570 mode);
4571 _res = Py_BuildValue("O&",
4572 ResObj_New, _rv);
4573 return _res;
4576 static PyObject *Qd_DisposeGDevice(PyObject *_self, PyObject *_args)
4578 PyObject *_res = NULL;
4579 GDHandle gdh;
4580 #ifndef DisposeGDevice
4581 PyMac_PRECHECK(DisposeGDevice);
4582 #endif
4583 if (!PyArg_ParseTuple(_args, "O&",
4584 ResObj_Convert, &gdh))
4585 return NULL;
4586 DisposeGDevice(gdh);
4587 Py_INCREF(Py_None);
4588 _res = Py_None;
4589 return _res;
4592 static PyObject *Qd_SetGDevice(PyObject *_self, PyObject *_args)
4594 PyObject *_res = NULL;
4595 GDHandle gd;
4596 #ifndef SetGDevice
4597 PyMac_PRECHECK(SetGDevice);
4598 #endif
4599 if (!PyArg_ParseTuple(_args, "O&",
4600 ResObj_Convert, &gd))
4601 return NULL;
4602 SetGDevice(gd);
4603 Py_INCREF(Py_None);
4604 _res = Py_None;
4605 return _res;
4608 static PyObject *Qd_GetGDevice(PyObject *_self, PyObject *_args)
4610 PyObject *_res = NULL;
4611 GDHandle _rv;
4612 #ifndef GetGDevice
4613 PyMac_PRECHECK(GetGDevice);
4614 #endif
4615 if (!PyArg_ParseTuple(_args, ""))
4616 return NULL;
4617 _rv = GetGDevice();
4618 _res = Py_BuildValue("O&",
4619 ResObj_New, _rv);
4620 return _res;
4623 static PyObject *Qd_Color2Index(PyObject *_self, PyObject *_args)
4625 PyObject *_res = NULL;
4626 long _rv;
4627 RGBColor myColor;
4628 #ifndef Color2Index
4629 PyMac_PRECHECK(Color2Index);
4630 #endif
4631 if (!PyArg_ParseTuple(_args, "O&",
4632 QdRGB_Convert, &myColor))
4633 return NULL;
4634 _rv = Color2Index(&myColor);
4635 _res = Py_BuildValue("l",
4636 _rv);
4637 return _res;
4640 static PyObject *Qd_Index2Color(PyObject *_self, PyObject *_args)
4642 PyObject *_res = NULL;
4643 long index;
4644 RGBColor aColor;
4645 #ifndef Index2Color
4646 PyMac_PRECHECK(Index2Color);
4647 #endif
4648 if (!PyArg_ParseTuple(_args, "l",
4649 &index))
4650 return NULL;
4651 Index2Color(index,
4652 &aColor);
4653 _res = Py_BuildValue("O&",
4654 QdRGB_New, &aColor);
4655 return _res;
4658 static PyObject *Qd_InvertColor(PyObject *_self, PyObject *_args)
4660 PyObject *_res = NULL;
4661 RGBColor myColor;
4662 #ifndef InvertColor
4663 PyMac_PRECHECK(InvertColor);
4664 #endif
4665 if (!PyArg_ParseTuple(_args, ""))
4666 return NULL;
4667 InvertColor(&myColor);
4668 _res = Py_BuildValue("O&",
4669 QdRGB_New, &myColor);
4670 return _res;
4673 static PyObject *Qd_RealColor(PyObject *_self, PyObject *_args)
4675 PyObject *_res = NULL;
4676 Boolean _rv;
4677 RGBColor color;
4678 #ifndef RealColor
4679 PyMac_PRECHECK(RealColor);
4680 #endif
4681 if (!PyArg_ParseTuple(_args, "O&",
4682 QdRGB_Convert, &color))
4683 return NULL;
4684 _rv = RealColor(&color);
4685 _res = Py_BuildValue("b",
4686 _rv);
4687 return _res;
4690 static PyObject *Qd_GetSubTable(PyObject *_self, PyObject *_args)
4692 PyObject *_res = NULL;
4693 CTabHandle myColors;
4694 short iTabRes;
4695 CTabHandle targetTbl;
4696 #ifndef GetSubTable
4697 PyMac_PRECHECK(GetSubTable);
4698 #endif
4699 if (!PyArg_ParseTuple(_args, "O&hO&",
4700 ResObj_Convert, &myColors,
4701 &iTabRes,
4702 ResObj_Convert, &targetTbl))
4703 return NULL;
4704 GetSubTable(myColors,
4705 iTabRes,
4706 targetTbl);
4707 Py_INCREF(Py_None);
4708 _res = Py_None;
4709 return _res;
4712 static PyObject *Qd_MakeITable(PyObject *_self, PyObject *_args)
4714 PyObject *_res = NULL;
4715 CTabHandle cTabH;
4716 ITabHandle iTabH;
4717 short res;
4718 #ifndef MakeITable
4719 PyMac_PRECHECK(MakeITable);
4720 #endif
4721 if (!PyArg_ParseTuple(_args, "O&O&h",
4722 ResObj_Convert, &cTabH,
4723 ResObj_Convert, &iTabH,
4724 &res))
4725 return NULL;
4726 MakeITable(cTabH,
4727 iTabH,
4728 res);
4729 Py_INCREF(Py_None);
4730 _res = Py_None;
4731 return _res;
4734 static PyObject *Qd_SetClientID(PyObject *_self, PyObject *_args)
4736 PyObject *_res = NULL;
4737 short id;
4738 #ifndef SetClientID
4739 PyMac_PRECHECK(SetClientID);
4740 #endif
4741 if (!PyArg_ParseTuple(_args, "h",
4742 &id))
4743 return NULL;
4744 SetClientID(id);
4745 Py_INCREF(Py_None);
4746 _res = Py_None;
4747 return _res;
4750 static PyObject *Qd_ProtectEntry(PyObject *_self, PyObject *_args)
4752 PyObject *_res = NULL;
4753 short index;
4754 Boolean protect;
4755 #ifndef ProtectEntry
4756 PyMac_PRECHECK(ProtectEntry);
4757 #endif
4758 if (!PyArg_ParseTuple(_args, "hb",
4759 &index,
4760 &protect))
4761 return NULL;
4762 ProtectEntry(index,
4763 protect);
4764 Py_INCREF(Py_None);
4765 _res = Py_None;
4766 return _res;
4769 static PyObject *Qd_ReserveEntry(PyObject *_self, PyObject *_args)
4771 PyObject *_res = NULL;
4772 short index;
4773 Boolean reserve;
4774 #ifndef ReserveEntry
4775 PyMac_PRECHECK(ReserveEntry);
4776 #endif
4777 if (!PyArg_ParseTuple(_args, "hb",
4778 &index,
4779 &reserve))
4780 return NULL;
4781 ReserveEntry(index,
4782 reserve);
4783 Py_INCREF(Py_None);
4784 _res = Py_None;
4785 return _res;
4788 static PyObject *Qd_QDError(PyObject *_self, PyObject *_args)
4790 PyObject *_res = NULL;
4791 short _rv;
4792 #ifndef QDError
4793 PyMac_PRECHECK(QDError);
4794 #endif
4795 if (!PyArg_ParseTuple(_args, ""))
4796 return NULL;
4797 _rv = QDError();
4798 _res = Py_BuildValue("h",
4799 _rv);
4800 return _res;
4803 static PyObject *Qd_CopyDeepMask(PyObject *_self, PyObject *_args)
4805 PyObject *_res = NULL;
4806 BitMapPtr srcBits;
4807 BitMapPtr maskBits;
4808 BitMapPtr dstBits;
4809 Rect srcRect;
4810 Rect maskRect;
4811 Rect dstRect;
4812 short mode;
4813 RgnHandle maskRgn;
4814 #ifndef CopyDeepMask
4815 PyMac_PRECHECK(CopyDeepMask);
4816 #endif
4817 if (!PyArg_ParseTuple(_args, "O&O&O&O&O&O&hO&",
4818 BMObj_Convert, &srcBits,
4819 BMObj_Convert, &maskBits,
4820 BMObj_Convert, &dstBits,
4821 PyMac_GetRect, &srcRect,
4822 PyMac_GetRect, &maskRect,
4823 PyMac_GetRect, &dstRect,
4824 &mode,
4825 OptResObj_Convert, &maskRgn))
4826 return NULL;
4827 CopyDeepMask(srcBits,
4828 maskBits,
4829 dstBits,
4830 &srcRect,
4831 &maskRect,
4832 &dstRect,
4833 mode,
4834 maskRgn);
4835 Py_INCREF(Py_None);
4836 _res = Py_None;
4837 return _res;
4840 static PyObject *Qd_GetPattern(PyObject *_self, PyObject *_args)
4842 PyObject *_res = NULL;
4843 PatHandle _rv;
4844 short patternID;
4845 #ifndef GetPattern
4846 PyMac_PRECHECK(GetPattern);
4847 #endif
4848 if (!PyArg_ParseTuple(_args, "h",
4849 &patternID))
4850 return NULL;
4851 _rv = GetPattern(patternID);
4852 _res = Py_BuildValue("O&",
4853 ResObj_New, _rv);
4854 return _res;
4857 static PyObject *Qd_MacGetCursor(PyObject *_self, PyObject *_args)
4859 PyObject *_res = NULL;
4860 CursHandle _rv;
4861 short cursorID;
4862 #ifndef MacGetCursor
4863 PyMac_PRECHECK(MacGetCursor);
4864 #endif
4865 if (!PyArg_ParseTuple(_args, "h",
4866 &cursorID))
4867 return NULL;
4868 _rv = MacGetCursor(cursorID);
4869 _res = Py_BuildValue("O&",
4870 ResObj_New, _rv);
4871 return _res;
4874 static PyObject *Qd_GetPicture(PyObject *_self, PyObject *_args)
4876 PyObject *_res = NULL;
4877 PicHandle _rv;
4878 short pictureID;
4879 #ifndef GetPicture
4880 PyMac_PRECHECK(GetPicture);
4881 #endif
4882 if (!PyArg_ParseTuple(_args, "h",
4883 &pictureID))
4884 return NULL;
4885 _rv = GetPicture(pictureID);
4886 _res = Py_BuildValue("O&",
4887 ResObj_New, _rv);
4888 return _res;
4891 static PyObject *Qd_DeltaPoint(PyObject *_self, PyObject *_args)
4893 PyObject *_res = NULL;
4894 long _rv;
4895 Point ptA;
4896 Point ptB;
4897 #ifndef DeltaPoint
4898 PyMac_PRECHECK(DeltaPoint);
4899 #endif
4900 if (!PyArg_ParseTuple(_args, "O&O&",
4901 PyMac_GetPoint, &ptA,
4902 PyMac_GetPoint, &ptB))
4903 return NULL;
4904 _rv = DeltaPoint(ptA,
4905 ptB);
4906 _res = Py_BuildValue("l",
4907 _rv);
4908 return _res;
4911 static PyObject *Qd_ShieldCursor(PyObject *_self, PyObject *_args)
4913 PyObject *_res = NULL;
4914 Rect shieldRect;
4915 Point offsetPt;
4916 #ifndef ShieldCursor
4917 PyMac_PRECHECK(ShieldCursor);
4918 #endif
4919 if (!PyArg_ParseTuple(_args, "O&O&",
4920 PyMac_GetRect, &shieldRect,
4921 PyMac_GetPoint, &offsetPt))
4922 return NULL;
4923 ShieldCursor(&shieldRect,
4924 offsetPt);
4925 Py_INCREF(Py_None);
4926 _res = Py_None;
4927 return _res;
4930 static PyObject *Qd_ScreenRes(PyObject *_self, PyObject *_args)
4932 PyObject *_res = NULL;
4933 short scrnHRes;
4934 short scrnVRes;
4935 #ifndef ScreenRes
4936 PyMac_PRECHECK(ScreenRes);
4937 #endif
4938 if (!PyArg_ParseTuple(_args, ""))
4939 return NULL;
4940 ScreenRes(&scrnHRes,
4941 &scrnVRes);
4942 _res = Py_BuildValue("hh",
4943 scrnHRes,
4944 scrnVRes);
4945 return _res;
4948 static PyObject *Qd_GetIndPattern(PyObject *_self, PyObject *_args)
4950 PyObject *_res = NULL;
4951 Pattern thePat__out__;
4952 short patternListID;
4953 short index;
4954 #ifndef GetIndPattern
4955 PyMac_PRECHECK(GetIndPattern);
4956 #endif
4957 if (!PyArg_ParseTuple(_args, "hh",
4958 &patternListID,
4959 &index))
4960 return NULL;
4961 GetIndPattern(&thePat__out__,
4962 patternListID,
4963 index);
4964 _res = Py_BuildValue("s#",
4965 (char *)&thePat__out__, (int)sizeof(Pattern));
4966 return _res;
4969 static PyObject *Qd_SlopeFromAngle(PyObject *_self, PyObject *_args)
4971 PyObject *_res = NULL;
4972 Fixed _rv;
4973 short angle;
4974 #ifndef SlopeFromAngle
4975 PyMac_PRECHECK(SlopeFromAngle);
4976 #endif
4977 if (!PyArg_ParseTuple(_args, "h",
4978 &angle))
4979 return NULL;
4980 _rv = SlopeFromAngle(angle);
4981 _res = Py_BuildValue("O&",
4982 PyMac_BuildFixed, _rv);
4983 return _res;
4986 static PyObject *Qd_AngleFromSlope(PyObject *_self, PyObject *_args)
4988 PyObject *_res = NULL;
4989 short _rv;
4990 Fixed slope;
4991 #ifndef AngleFromSlope
4992 PyMac_PRECHECK(AngleFromSlope);
4993 #endif
4994 if (!PyArg_ParseTuple(_args, "O&",
4995 PyMac_GetFixed, &slope))
4996 return NULL;
4997 _rv = AngleFromSlope(slope);
4998 _res = Py_BuildValue("h",
4999 _rv);
5000 return _res;
5003 static PyObject *Qd_GetPixBounds(PyObject *_self, PyObject *_args)
5005 PyObject *_res = NULL;
5006 PixMapHandle pixMap;
5007 Rect bounds;
5008 #ifndef GetPixBounds
5009 PyMac_PRECHECK(GetPixBounds);
5010 #endif
5011 if (!PyArg_ParseTuple(_args, "O&",
5012 ResObj_Convert, &pixMap))
5013 return NULL;
5014 GetPixBounds(pixMap,
5015 &bounds);
5016 _res = Py_BuildValue("O&",
5017 PyMac_BuildRect, &bounds);
5018 return _res;
5021 static PyObject *Qd_GetPixDepth(PyObject *_self, PyObject *_args)
5023 PyObject *_res = NULL;
5024 short _rv;
5025 PixMapHandle pixMap;
5026 #ifndef GetPixDepth
5027 PyMac_PRECHECK(GetPixDepth);
5028 #endif
5029 if (!PyArg_ParseTuple(_args, "O&",
5030 ResObj_Convert, &pixMap))
5031 return NULL;
5032 _rv = GetPixDepth(pixMap);
5033 _res = Py_BuildValue("h",
5034 _rv);
5035 return _res;
5038 static PyObject *Qd_GetQDGlobalsRandomSeed(PyObject *_self, PyObject *_args)
5040 PyObject *_res = NULL;
5041 long _rv;
5042 #ifndef GetQDGlobalsRandomSeed
5043 PyMac_PRECHECK(GetQDGlobalsRandomSeed);
5044 #endif
5045 if (!PyArg_ParseTuple(_args, ""))
5046 return NULL;
5047 _rv = GetQDGlobalsRandomSeed();
5048 _res = Py_BuildValue("l",
5049 _rv);
5050 return _res;
5053 static PyObject *Qd_GetQDGlobalsScreenBits(PyObject *_self, PyObject *_args)
5055 PyObject *_res = NULL;
5056 BitMap screenBits;
5057 #ifndef GetQDGlobalsScreenBits
5058 PyMac_PRECHECK(GetQDGlobalsScreenBits);
5059 #endif
5060 if (!PyArg_ParseTuple(_args, ""))
5061 return NULL;
5062 GetQDGlobalsScreenBits(&screenBits);
5063 _res = Py_BuildValue("O&",
5064 BMObj_NewCopied, &screenBits);
5065 return _res;
5068 static PyObject *Qd_GetQDGlobalsArrow(PyObject *_self, PyObject *_args)
5070 PyObject *_res = NULL;
5071 Cursor arrow__out__;
5072 #ifndef GetQDGlobalsArrow
5073 PyMac_PRECHECK(GetQDGlobalsArrow);
5074 #endif
5075 if (!PyArg_ParseTuple(_args, ""))
5076 return NULL;
5077 GetQDGlobalsArrow(&arrow__out__);
5078 _res = Py_BuildValue("s#",
5079 (char *)&arrow__out__, (int)sizeof(Cursor));
5080 return _res;
5083 static PyObject *Qd_GetQDGlobalsDarkGray(PyObject *_self, PyObject *_args)
5085 PyObject *_res = NULL;
5086 Pattern dkGray__out__;
5087 #ifndef GetQDGlobalsDarkGray
5088 PyMac_PRECHECK(GetQDGlobalsDarkGray);
5089 #endif
5090 if (!PyArg_ParseTuple(_args, ""))
5091 return NULL;
5092 GetQDGlobalsDarkGray(&dkGray__out__);
5093 _res = Py_BuildValue("s#",
5094 (char *)&dkGray__out__, (int)sizeof(Pattern));
5095 return _res;
5098 static PyObject *Qd_GetQDGlobalsLightGray(PyObject *_self, PyObject *_args)
5100 PyObject *_res = NULL;
5101 Pattern ltGray__out__;
5102 #ifndef GetQDGlobalsLightGray
5103 PyMac_PRECHECK(GetQDGlobalsLightGray);
5104 #endif
5105 if (!PyArg_ParseTuple(_args, ""))
5106 return NULL;
5107 GetQDGlobalsLightGray(&ltGray__out__);
5108 _res = Py_BuildValue("s#",
5109 (char *)&ltGray__out__, (int)sizeof(Pattern));
5110 return _res;
5113 static PyObject *Qd_GetQDGlobalsGray(PyObject *_self, PyObject *_args)
5115 PyObject *_res = NULL;
5116 Pattern gray__out__;
5117 #ifndef GetQDGlobalsGray
5118 PyMac_PRECHECK(GetQDGlobalsGray);
5119 #endif
5120 if (!PyArg_ParseTuple(_args, ""))
5121 return NULL;
5122 GetQDGlobalsGray(&gray__out__);
5123 _res = Py_BuildValue("s#",
5124 (char *)&gray__out__, (int)sizeof(Pattern));
5125 return _res;
5128 static PyObject *Qd_GetQDGlobalsBlack(PyObject *_self, PyObject *_args)
5130 PyObject *_res = NULL;
5131 Pattern black__out__;
5132 #ifndef GetQDGlobalsBlack
5133 PyMac_PRECHECK(GetQDGlobalsBlack);
5134 #endif
5135 if (!PyArg_ParseTuple(_args, ""))
5136 return NULL;
5137 GetQDGlobalsBlack(&black__out__);
5138 _res = Py_BuildValue("s#",
5139 (char *)&black__out__, (int)sizeof(Pattern));
5140 return _res;
5143 static PyObject *Qd_GetQDGlobalsWhite(PyObject *_self, PyObject *_args)
5145 PyObject *_res = NULL;
5146 Pattern white__out__;
5147 #ifndef GetQDGlobalsWhite
5148 PyMac_PRECHECK(GetQDGlobalsWhite);
5149 #endif
5150 if (!PyArg_ParseTuple(_args, ""))
5151 return NULL;
5152 GetQDGlobalsWhite(&white__out__);
5153 _res = Py_BuildValue("s#",
5154 (char *)&white__out__, (int)sizeof(Pattern));
5155 return _res;
5158 static PyObject *Qd_GetQDGlobalsThePort(PyObject *_self, PyObject *_args)
5160 PyObject *_res = NULL;
5161 CGrafPtr _rv;
5162 #ifndef GetQDGlobalsThePort
5163 PyMac_PRECHECK(GetQDGlobalsThePort);
5164 #endif
5165 if (!PyArg_ParseTuple(_args, ""))
5166 return NULL;
5167 _rv = GetQDGlobalsThePort();
5168 _res = Py_BuildValue("O&",
5169 GrafObj_New, _rv);
5170 return _res;
5173 static PyObject *Qd_SetQDGlobalsRandomSeed(PyObject *_self, PyObject *_args)
5175 PyObject *_res = NULL;
5176 long randomSeed;
5177 #ifndef SetQDGlobalsRandomSeed
5178 PyMac_PRECHECK(SetQDGlobalsRandomSeed);
5179 #endif
5180 if (!PyArg_ParseTuple(_args, "l",
5181 &randomSeed))
5182 return NULL;
5183 SetQDGlobalsRandomSeed(randomSeed);
5184 Py_INCREF(Py_None);
5185 _res = Py_None;
5186 return _res;
5189 static PyObject *Qd_SetQDGlobalsArrow(PyObject *_self, PyObject *_args)
5191 PyObject *_res = NULL;
5192 Cursor *arrow__in__;
5193 int arrow__in_len__;
5194 #ifndef SetQDGlobalsArrow
5195 PyMac_PRECHECK(SetQDGlobalsArrow);
5196 #endif
5197 if (!PyArg_ParseTuple(_args, "s#",
5198 (char **)&arrow__in__, &arrow__in_len__))
5199 return NULL;
5200 if (arrow__in_len__ != sizeof(Cursor))
5202 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)");
5203 goto arrow__error__;
5205 SetQDGlobalsArrow(arrow__in__);
5206 Py_INCREF(Py_None);
5207 _res = Py_None;
5208 arrow__error__: ;
5209 return _res;
5212 static PyObject *Qd_GetRegionBounds(PyObject *_self, PyObject *_args)
5214 PyObject *_res = NULL;
5215 RgnHandle region;
5216 Rect bounds;
5217 #ifndef GetRegionBounds
5218 PyMac_PRECHECK(GetRegionBounds);
5219 #endif
5220 if (!PyArg_ParseTuple(_args, "O&",
5221 ResObj_Convert, &region))
5222 return NULL;
5223 GetRegionBounds(region,
5224 &bounds);
5225 _res = Py_BuildValue("O&",
5226 PyMac_BuildRect, &bounds);
5227 return _res;
5230 static PyObject *Qd_IsRegionRectangular(PyObject *_self, PyObject *_args)
5232 PyObject *_res = NULL;
5233 Boolean _rv;
5234 RgnHandle region;
5235 #ifndef IsRegionRectangular
5236 PyMac_PRECHECK(IsRegionRectangular);
5237 #endif
5238 if (!PyArg_ParseTuple(_args, "O&",
5239 ResObj_Convert, &region))
5240 return NULL;
5241 _rv = IsRegionRectangular(region);
5242 _res = Py_BuildValue("b",
5243 _rv);
5244 return _res;
5247 static PyObject *Qd_CreateNewPort(PyObject *_self, PyObject *_args)
5249 PyObject *_res = NULL;
5250 CGrafPtr _rv;
5251 #ifndef CreateNewPort
5252 PyMac_PRECHECK(CreateNewPort);
5253 #endif
5254 if (!PyArg_ParseTuple(_args, ""))
5255 return NULL;
5256 _rv = CreateNewPort();
5257 _res = Py_BuildValue("O&",
5258 GrafObj_New, _rv);
5259 return _res;
5262 static PyObject *Qd_SetQDError(PyObject *_self, PyObject *_args)
5264 PyObject *_res = NULL;
5265 OSErr err;
5266 #ifndef SetQDError
5267 PyMac_PRECHECK(SetQDError);
5268 #endif
5269 if (!PyArg_ParseTuple(_args, "h",
5270 &err))
5271 return NULL;
5272 SetQDError(err);
5273 Py_INCREF(Py_None);
5274 _res = Py_None;
5275 return _res;
5278 static PyObject *Qd_LMGetScrVRes(PyObject *_self, PyObject *_args)
5280 PyObject *_res = NULL;
5281 SInt16 _rv;
5282 #ifndef LMGetScrVRes
5283 PyMac_PRECHECK(LMGetScrVRes);
5284 #endif
5285 if (!PyArg_ParseTuple(_args, ""))
5286 return NULL;
5287 _rv = LMGetScrVRes();
5288 _res = Py_BuildValue("h",
5289 _rv);
5290 return _res;
5293 static PyObject *Qd_LMSetScrVRes(PyObject *_self, PyObject *_args)
5295 PyObject *_res = NULL;
5296 SInt16 value;
5297 #ifndef LMSetScrVRes
5298 PyMac_PRECHECK(LMSetScrVRes);
5299 #endif
5300 if (!PyArg_ParseTuple(_args, "h",
5301 &value))
5302 return NULL;
5303 LMSetScrVRes(value);
5304 Py_INCREF(Py_None);
5305 _res = Py_None;
5306 return _res;
5309 static PyObject *Qd_LMGetScrHRes(PyObject *_self, PyObject *_args)
5311 PyObject *_res = NULL;
5312 SInt16 _rv;
5313 #ifndef LMGetScrHRes
5314 PyMac_PRECHECK(LMGetScrHRes);
5315 #endif
5316 if (!PyArg_ParseTuple(_args, ""))
5317 return NULL;
5318 _rv = LMGetScrHRes();
5319 _res = Py_BuildValue("h",
5320 _rv);
5321 return _res;
5324 static PyObject *Qd_LMSetScrHRes(PyObject *_self, PyObject *_args)
5326 PyObject *_res = NULL;
5327 SInt16 value;
5328 #ifndef LMSetScrHRes
5329 PyMac_PRECHECK(LMSetScrHRes);
5330 #endif
5331 if (!PyArg_ParseTuple(_args, "h",
5332 &value))
5333 return NULL;
5334 LMSetScrHRes(value);
5335 Py_INCREF(Py_None);
5336 _res = Py_None;
5337 return _res;
5340 static PyObject *Qd_LMGetMainDevice(PyObject *_self, PyObject *_args)
5342 PyObject *_res = NULL;
5343 GDHandle _rv;
5344 #ifndef LMGetMainDevice
5345 PyMac_PRECHECK(LMGetMainDevice);
5346 #endif
5347 if (!PyArg_ParseTuple(_args, ""))
5348 return NULL;
5349 _rv = LMGetMainDevice();
5350 _res = Py_BuildValue("O&",
5351 ResObj_New, _rv);
5352 return _res;
5355 static PyObject *Qd_LMSetMainDevice(PyObject *_self, PyObject *_args)
5357 PyObject *_res = NULL;
5358 GDHandle value;
5359 #ifndef LMSetMainDevice
5360 PyMac_PRECHECK(LMSetMainDevice);
5361 #endif
5362 if (!PyArg_ParseTuple(_args, "O&",
5363 ResObj_Convert, &value))
5364 return NULL;
5365 LMSetMainDevice(value);
5366 Py_INCREF(Py_None);
5367 _res = Py_None;
5368 return _res;
5371 static PyObject *Qd_LMGetDeviceList(PyObject *_self, PyObject *_args)
5373 PyObject *_res = NULL;
5374 GDHandle _rv;
5375 #ifndef LMGetDeviceList
5376 PyMac_PRECHECK(LMGetDeviceList);
5377 #endif
5378 if (!PyArg_ParseTuple(_args, ""))
5379 return NULL;
5380 _rv = LMGetDeviceList();
5381 _res = Py_BuildValue("O&",
5382 ResObj_New, _rv);
5383 return _res;
5386 static PyObject *Qd_LMSetDeviceList(PyObject *_self, PyObject *_args)
5388 PyObject *_res = NULL;
5389 GDHandle value;
5390 #ifndef LMSetDeviceList
5391 PyMac_PRECHECK(LMSetDeviceList);
5392 #endif
5393 if (!PyArg_ParseTuple(_args, "O&",
5394 ResObj_Convert, &value))
5395 return NULL;
5396 LMSetDeviceList(value);
5397 Py_INCREF(Py_None);
5398 _res = Py_None;
5399 return _res;
5402 static PyObject *Qd_LMGetQDColors(PyObject *_self, PyObject *_args)
5404 PyObject *_res = NULL;
5405 Handle _rv;
5406 #ifndef LMGetQDColors
5407 PyMac_PRECHECK(LMGetQDColors);
5408 #endif
5409 if (!PyArg_ParseTuple(_args, ""))
5410 return NULL;
5411 _rv = LMGetQDColors();
5412 _res = Py_BuildValue("O&",
5413 ResObj_New, _rv);
5414 return _res;
5417 static PyObject *Qd_LMSetQDColors(PyObject *_self, PyObject *_args)
5419 PyObject *_res = NULL;
5420 Handle value;
5421 #ifndef LMSetQDColors
5422 PyMac_PRECHECK(LMSetQDColors);
5423 #endif
5424 if (!PyArg_ParseTuple(_args, "O&",
5425 ResObj_Convert, &value))
5426 return NULL;
5427 LMSetQDColors(value);
5428 Py_INCREF(Py_None);
5429 _res = Py_None;
5430 return _res;
5433 static PyObject *Qd_LMGetWidthListHand(PyObject *_self, PyObject *_args)
5435 PyObject *_res = NULL;
5436 Handle _rv;
5437 #ifndef LMGetWidthListHand
5438 PyMac_PRECHECK(LMGetWidthListHand);
5439 #endif
5440 if (!PyArg_ParseTuple(_args, ""))
5441 return NULL;
5442 _rv = LMGetWidthListHand();
5443 _res = Py_BuildValue("O&",
5444 ResObj_New, _rv);
5445 return _res;
5448 static PyObject *Qd_LMSetWidthListHand(PyObject *_self, PyObject *_args)
5450 PyObject *_res = NULL;
5451 Handle value;
5452 #ifndef LMSetWidthListHand
5453 PyMac_PRECHECK(LMSetWidthListHand);
5454 #endif
5455 if (!PyArg_ParseTuple(_args, "O&",
5456 ResObj_Convert, &value))
5457 return NULL;
5458 LMSetWidthListHand(value);
5459 Py_INCREF(Py_None);
5460 _res = Py_None;
5461 return _res;
5464 static PyObject *Qd_LMGetHiliteMode(PyObject *_self, PyObject *_args)
5466 PyObject *_res = NULL;
5467 UInt8 _rv;
5468 #ifndef LMGetHiliteMode
5469 PyMac_PRECHECK(LMGetHiliteMode);
5470 #endif
5471 if (!PyArg_ParseTuple(_args, ""))
5472 return NULL;
5473 _rv = LMGetHiliteMode();
5474 _res = Py_BuildValue("b",
5475 _rv);
5476 return _res;
5479 static PyObject *Qd_LMSetHiliteMode(PyObject *_self, PyObject *_args)
5481 PyObject *_res = NULL;
5482 UInt8 value;
5483 #ifndef LMSetHiliteMode
5484 PyMac_PRECHECK(LMSetHiliteMode);
5485 #endif
5486 if (!PyArg_ParseTuple(_args, "b",
5487 &value))
5488 return NULL;
5489 LMSetHiliteMode(value);
5490 Py_INCREF(Py_None);
5491 _res = Py_None;
5492 return _res;
5495 static PyObject *Qd_LMGetWidthTabHandle(PyObject *_self, PyObject *_args)
5497 PyObject *_res = NULL;
5498 Handle _rv;
5499 #ifndef LMGetWidthTabHandle
5500 PyMac_PRECHECK(LMGetWidthTabHandle);
5501 #endif
5502 if (!PyArg_ParseTuple(_args, ""))
5503 return NULL;
5504 _rv = LMGetWidthTabHandle();
5505 _res = Py_BuildValue("O&",
5506 ResObj_New, _rv);
5507 return _res;
5510 static PyObject *Qd_LMSetWidthTabHandle(PyObject *_self, PyObject *_args)
5512 PyObject *_res = NULL;
5513 Handle value;
5514 #ifndef LMSetWidthTabHandle
5515 PyMac_PRECHECK(LMSetWidthTabHandle);
5516 #endif
5517 if (!PyArg_ParseTuple(_args, "O&",
5518 ResObj_Convert, &value))
5519 return NULL;
5520 LMSetWidthTabHandle(value);
5521 Py_INCREF(Py_None);
5522 _res = Py_None;
5523 return _res;
5526 static PyObject *Qd_LMGetLastSPExtra(PyObject *_self, PyObject *_args)
5528 PyObject *_res = NULL;
5529 SInt32 _rv;
5530 #ifndef LMGetLastSPExtra
5531 PyMac_PRECHECK(LMGetLastSPExtra);
5532 #endif
5533 if (!PyArg_ParseTuple(_args, ""))
5534 return NULL;
5535 _rv = LMGetLastSPExtra();
5536 _res = Py_BuildValue("l",
5537 _rv);
5538 return _res;
5541 static PyObject *Qd_LMSetLastSPExtra(PyObject *_self, PyObject *_args)
5543 PyObject *_res = NULL;
5544 SInt32 value;
5545 #ifndef LMSetLastSPExtra
5546 PyMac_PRECHECK(LMSetLastSPExtra);
5547 #endif
5548 if (!PyArg_ParseTuple(_args, "l",
5549 &value))
5550 return NULL;
5551 LMSetLastSPExtra(value);
5552 Py_INCREF(Py_None);
5553 _res = Py_None;
5554 return _res;
5557 static PyObject *Qd_LMGetLastFOND(PyObject *_self, PyObject *_args)
5559 PyObject *_res = NULL;
5560 Handle _rv;
5561 #ifndef LMGetLastFOND
5562 PyMac_PRECHECK(LMGetLastFOND);
5563 #endif
5564 if (!PyArg_ParseTuple(_args, ""))
5565 return NULL;
5566 _rv = LMGetLastFOND();
5567 _res = Py_BuildValue("O&",
5568 ResObj_New, _rv);
5569 return _res;
5572 static PyObject *Qd_LMSetLastFOND(PyObject *_self, PyObject *_args)
5574 PyObject *_res = NULL;
5575 Handle value;
5576 #ifndef LMSetLastFOND
5577 PyMac_PRECHECK(LMSetLastFOND);
5578 #endif
5579 if (!PyArg_ParseTuple(_args, "O&",
5580 ResObj_Convert, &value))
5581 return NULL;
5582 LMSetLastFOND(value);
5583 Py_INCREF(Py_None);
5584 _res = Py_None;
5585 return _res;
5588 static PyObject *Qd_LMGetFractEnable(PyObject *_self, PyObject *_args)
5590 PyObject *_res = NULL;
5591 UInt8 _rv;
5592 #ifndef LMGetFractEnable
5593 PyMac_PRECHECK(LMGetFractEnable);
5594 #endif
5595 if (!PyArg_ParseTuple(_args, ""))
5596 return NULL;
5597 _rv = LMGetFractEnable();
5598 _res = Py_BuildValue("b",
5599 _rv);
5600 return _res;
5603 static PyObject *Qd_LMSetFractEnable(PyObject *_self, PyObject *_args)
5605 PyObject *_res = NULL;
5606 UInt8 value;
5607 #ifndef LMSetFractEnable
5608 PyMac_PRECHECK(LMSetFractEnable);
5609 #endif
5610 if (!PyArg_ParseTuple(_args, "b",
5611 &value))
5612 return NULL;
5613 LMSetFractEnable(value);
5614 Py_INCREF(Py_None);
5615 _res = Py_None;
5616 return _res;
5619 static PyObject *Qd_LMGetTheGDevice(PyObject *_self, PyObject *_args)
5621 PyObject *_res = NULL;
5622 GDHandle _rv;
5623 #ifndef LMGetTheGDevice
5624 PyMac_PRECHECK(LMGetTheGDevice);
5625 #endif
5626 if (!PyArg_ParseTuple(_args, ""))
5627 return NULL;
5628 _rv = LMGetTheGDevice();
5629 _res = Py_BuildValue("O&",
5630 ResObj_New, _rv);
5631 return _res;
5634 static PyObject *Qd_LMSetTheGDevice(PyObject *_self, PyObject *_args)
5636 PyObject *_res = NULL;
5637 GDHandle value;
5638 #ifndef LMSetTheGDevice
5639 PyMac_PRECHECK(LMSetTheGDevice);
5640 #endif
5641 if (!PyArg_ParseTuple(_args, "O&",
5642 ResObj_Convert, &value))
5643 return NULL;
5644 LMSetTheGDevice(value);
5645 Py_INCREF(Py_None);
5646 _res = Py_None;
5647 return _res;
5650 static PyObject *Qd_LMGetHiliteRGB(PyObject *_self, PyObject *_args)
5652 PyObject *_res = NULL;
5653 RGBColor hiliteRGBValue;
5654 #ifndef LMGetHiliteRGB
5655 PyMac_PRECHECK(LMGetHiliteRGB);
5656 #endif
5657 if (!PyArg_ParseTuple(_args, ""))
5658 return NULL;
5659 LMGetHiliteRGB(&hiliteRGBValue);
5660 _res = Py_BuildValue("O&",
5661 QdRGB_New, &hiliteRGBValue);
5662 return _res;
5665 static PyObject *Qd_LMSetHiliteRGB(PyObject *_self, PyObject *_args)
5667 PyObject *_res = NULL;
5668 RGBColor hiliteRGBValue;
5669 #ifndef LMSetHiliteRGB
5670 PyMac_PRECHECK(LMSetHiliteRGB);
5671 #endif
5672 if (!PyArg_ParseTuple(_args, "O&",
5673 QdRGB_Convert, &hiliteRGBValue))
5674 return NULL;
5675 LMSetHiliteRGB(&hiliteRGBValue);
5676 Py_INCREF(Py_None);
5677 _res = Py_None;
5678 return _res;
5681 static PyObject *Qd_LMGetCursorNew(PyObject *_self, PyObject *_args)
5683 PyObject *_res = NULL;
5684 Boolean _rv;
5685 #ifndef LMGetCursorNew
5686 PyMac_PRECHECK(LMGetCursorNew);
5687 #endif
5688 if (!PyArg_ParseTuple(_args, ""))
5689 return NULL;
5690 _rv = LMGetCursorNew();
5691 _res = Py_BuildValue("b",
5692 _rv);
5693 return _res;
5696 static PyObject *Qd_LMSetCursorNew(PyObject *_self, PyObject *_args)
5698 PyObject *_res = NULL;
5699 Boolean value;
5700 #ifndef LMSetCursorNew
5701 PyMac_PRECHECK(LMSetCursorNew);
5702 #endif
5703 if (!PyArg_ParseTuple(_args, "b",
5704 &value))
5705 return NULL;
5706 LMSetCursorNew(value);
5707 Py_INCREF(Py_None);
5708 _res = Py_None;
5709 return _res;
5712 static PyObject *Qd_TextFont(PyObject *_self, PyObject *_args)
5714 PyObject *_res = NULL;
5715 short font;
5716 #ifndef TextFont
5717 PyMac_PRECHECK(TextFont);
5718 #endif
5719 if (!PyArg_ParseTuple(_args, "h",
5720 &font))
5721 return NULL;
5722 TextFont(font);
5723 Py_INCREF(Py_None);
5724 _res = Py_None;
5725 return _res;
5728 static PyObject *Qd_TextFace(PyObject *_self, PyObject *_args)
5730 PyObject *_res = NULL;
5731 StyleParameter face;
5732 #ifndef TextFace
5733 PyMac_PRECHECK(TextFace);
5734 #endif
5735 if (!PyArg_ParseTuple(_args, "h",
5736 &face))
5737 return NULL;
5738 TextFace(face);
5739 Py_INCREF(Py_None);
5740 _res = Py_None;
5741 return _res;
5744 static PyObject *Qd_TextMode(PyObject *_self, PyObject *_args)
5746 PyObject *_res = NULL;
5747 short mode;
5748 #ifndef TextMode
5749 PyMac_PRECHECK(TextMode);
5750 #endif
5751 if (!PyArg_ParseTuple(_args, "h",
5752 &mode))
5753 return NULL;
5754 TextMode(mode);
5755 Py_INCREF(Py_None);
5756 _res = Py_None;
5757 return _res;
5760 static PyObject *Qd_TextSize(PyObject *_self, PyObject *_args)
5762 PyObject *_res = NULL;
5763 short size;
5764 #ifndef TextSize
5765 PyMac_PRECHECK(TextSize);
5766 #endif
5767 if (!PyArg_ParseTuple(_args, "h",
5768 &size))
5769 return NULL;
5770 TextSize(size);
5771 Py_INCREF(Py_None);
5772 _res = Py_None;
5773 return _res;
5776 static PyObject *Qd_SpaceExtra(PyObject *_self, PyObject *_args)
5778 PyObject *_res = NULL;
5779 Fixed extra;
5780 #ifndef SpaceExtra
5781 PyMac_PRECHECK(SpaceExtra);
5782 #endif
5783 if (!PyArg_ParseTuple(_args, "O&",
5784 PyMac_GetFixed, &extra))
5785 return NULL;
5786 SpaceExtra(extra);
5787 Py_INCREF(Py_None);
5788 _res = Py_None;
5789 return _res;
5792 static PyObject *Qd_DrawChar(PyObject *_self, PyObject *_args)
5794 PyObject *_res = NULL;
5795 CharParameter ch;
5796 #ifndef DrawChar
5797 PyMac_PRECHECK(DrawChar);
5798 #endif
5799 if (!PyArg_ParseTuple(_args, "h",
5800 &ch))
5801 return NULL;
5802 DrawChar(ch);
5803 Py_INCREF(Py_None);
5804 _res = Py_None;
5805 return _res;
5808 static PyObject *Qd_DrawString(PyObject *_self, PyObject *_args)
5810 PyObject *_res = NULL;
5811 Str255 s;
5812 #ifndef DrawString
5813 PyMac_PRECHECK(DrawString);
5814 #endif
5815 if (!PyArg_ParseTuple(_args, "O&",
5816 PyMac_GetStr255, s))
5817 return NULL;
5818 DrawString(s);
5819 Py_INCREF(Py_None);
5820 _res = Py_None;
5821 return _res;
5824 static PyObject *Qd_MacDrawText(PyObject *_self, PyObject *_args)
5826 PyObject *_res = NULL;
5827 char *textBuf__in__;
5828 int textBuf__in_len__;
5829 short firstByte;
5830 short byteCount;
5831 #ifndef MacDrawText
5832 PyMac_PRECHECK(MacDrawText);
5833 #endif
5834 if (!PyArg_ParseTuple(_args, "s#hh",
5835 &textBuf__in__, &textBuf__in_len__,
5836 &firstByte,
5837 &byteCount))
5838 return NULL;
5839 /* Fool compiler warnings */
5840 textBuf__in_len__ = textBuf__in_len__;
5841 MacDrawText(textBuf__in__,
5842 firstByte,
5843 byteCount);
5844 Py_INCREF(Py_None);
5845 _res = Py_None;
5846 return _res;
5849 static PyObject *Qd_CharWidth(PyObject *_self, PyObject *_args)
5851 PyObject *_res = NULL;
5852 short _rv;
5853 CharParameter ch;
5854 #ifndef CharWidth
5855 PyMac_PRECHECK(CharWidth);
5856 #endif
5857 if (!PyArg_ParseTuple(_args, "h",
5858 &ch))
5859 return NULL;
5860 _rv = CharWidth(ch);
5861 _res = Py_BuildValue("h",
5862 _rv);
5863 return _res;
5866 static PyObject *Qd_StringWidth(PyObject *_self, PyObject *_args)
5868 PyObject *_res = NULL;
5869 short _rv;
5870 Str255 s;
5871 #ifndef StringWidth
5872 PyMac_PRECHECK(StringWidth);
5873 #endif
5874 if (!PyArg_ParseTuple(_args, "O&",
5875 PyMac_GetStr255, s))
5876 return NULL;
5877 _rv = StringWidth(s);
5878 _res = Py_BuildValue("h",
5879 _rv);
5880 return _res;
5883 static PyObject *Qd_TextWidth(PyObject *_self, PyObject *_args)
5885 PyObject *_res = NULL;
5886 short _rv;
5887 char *textBuf__in__;
5888 int textBuf__in_len__;
5889 short firstByte;
5890 short byteCount;
5891 #ifndef TextWidth
5892 PyMac_PRECHECK(TextWidth);
5893 #endif
5894 if (!PyArg_ParseTuple(_args, "s#hh",
5895 &textBuf__in__, &textBuf__in_len__,
5896 &firstByte,
5897 &byteCount))
5898 return NULL;
5899 /* Fool compiler warnings */
5900 textBuf__in_len__ = textBuf__in_len__;
5901 _rv = TextWidth(textBuf__in__,
5902 firstByte,
5903 byteCount);
5904 _res = Py_BuildValue("h",
5905 _rv);
5906 return _res;
5909 static PyObject *Qd_GetFontInfo(PyObject *_self, PyObject *_args)
5911 PyObject *_res = NULL;
5912 FontInfo info;
5913 #ifndef GetFontInfo
5914 PyMac_PRECHECK(GetFontInfo);
5915 #endif
5916 if (!PyArg_ParseTuple(_args, ""))
5917 return NULL;
5918 GetFontInfo(&info);
5919 _res = Py_BuildValue("O&",
5920 QdFI_New, &info);
5921 return _res;
5924 static PyObject *Qd_CharExtra(PyObject *_self, PyObject *_args)
5926 PyObject *_res = NULL;
5927 Fixed extra;
5928 #ifndef CharExtra
5929 PyMac_PRECHECK(CharExtra);
5930 #endif
5931 if (!PyArg_ParseTuple(_args, "O&",
5932 PyMac_GetFixed, &extra))
5933 return NULL;
5934 CharExtra(extra);
5935 Py_INCREF(Py_None);
5936 _res = Py_None;
5937 return _res;
5940 static PyObject *Qd_TruncString(PyObject *_self, PyObject *_args)
5942 PyObject *_res = NULL;
5943 short _rv;
5944 short width;
5945 Str255 theString;
5946 TruncCode truncWhere;
5947 #ifndef TruncString
5948 PyMac_PRECHECK(TruncString);
5949 #endif
5950 if (!PyArg_ParseTuple(_args, "hO&h",
5951 &width,
5952 PyMac_GetStr255, theString,
5953 &truncWhere))
5954 return NULL;
5955 _rv = TruncString(width,
5956 theString,
5957 truncWhere);
5958 _res = Py_BuildValue("h",
5959 _rv);
5960 return _res;
5963 static PyObject *Qd_SetPort(PyObject *_self, PyObject *_args)
5965 PyObject *_res = NULL;
5966 GrafPtr thePort;
5967 #ifndef SetPort
5968 PyMac_PRECHECK(SetPort);
5969 #endif
5970 if (!PyArg_ParseTuple(_args, "O&",
5971 GrafObj_Convert, &thePort))
5972 return NULL;
5973 SetPort(thePort);
5974 Py_INCREF(Py_None);
5975 _res = Py_None;
5976 return _res;
5979 static PyObject *Qd_GetCursor(PyObject *_self, PyObject *_args)
5981 PyObject *_res = NULL;
5982 CursHandle _rv;
5983 short cursorID;
5984 #ifndef GetCursor
5985 PyMac_PRECHECK(GetCursor);
5986 #endif
5987 if (!PyArg_ParseTuple(_args, "h",
5988 &cursorID))
5989 return NULL;
5990 _rv = GetCursor(cursorID);
5991 _res = Py_BuildValue("O&",
5992 ResObj_New, _rv);
5993 return _res;
5996 static PyObject *Qd_SetCursor(PyObject *_self, PyObject *_args)
5998 PyObject *_res = NULL;
5999 Cursor *crsr__in__;
6000 int crsr__in_len__;
6001 #ifndef SetCursor
6002 PyMac_PRECHECK(SetCursor);
6003 #endif
6004 if (!PyArg_ParseTuple(_args, "s#",
6005 (char **)&crsr__in__, &crsr__in_len__))
6006 return NULL;
6007 if (crsr__in_len__ != sizeof(Cursor))
6009 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)");
6010 goto crsr__error__;
6012 SetCursor(crsr__in__);
6013 Py_INCREF(Py_None);
6014 _res = Py_None;
6015 crsr__error__: ;
6016 return _res;
6019 static PyObject *Qd_ShowCursor(PyObject *_self, PyObject *_args)
6021 PyObject *_res = NULL;
6022 #ifndef ShowCursor
6023 PyMac_PRECHECK(ShowCursor);
6024 #endif
6025 if (!PyArg_ParseTuple(_args, ""))
6026 return NULL;
6027 ShowCursor();
6028 Py_INCREF(Py_None);
6029 _res = Py_None;
6030 return _res;
6033 static PyObject *Qd_LineTo(PyObject *_self, PyObject *_args)
6035 PyObject *_res = NULL;
6036 short h;
6037 short v;
6038 #ifndef LineTo
6039 PyMac_PRECHECK(LineTo);
6040 #endif
6041 if (!PyArg_ParseTuple(_args, "hh",
6043 &v))
6044 return NULL;
6045 LineTo(h,
6047 Py_INCREF(Py_None);
6048 _res = Py_None;
6049 return _res;
6052 static PyObject *Qd_SetRect(PyObject *_self, PyObject *_args)
6054 PyObject *_res = NULL;
6055 Rect r;
6056 short left;
6057 short top;
6058 short right;
6059 short bottom;
6060 #ifndef SetRect
6061 PyMac_PRECHECK(SetRect);
6062 #endif
6063 if (!PyArg_ParseTuple(_args, "hhhh",
6064 &left,
6065 &top,
6066 &right,
6067 &bottom))
6068 return NULL;
6069 SetRect(&r,
6070 left,
6071 top,
6072 right,
6073 bottom);
6074 _res = Py_BuildValue("O&",
6075 PyMac_BuildRect, &r);
6076 return _res;
6079 static PyObject *Qd_OffsetRect(PyObject *_self, PyObject *_args)
6081 PyObject *_res = NULL;
6082 Rect r;
6083 short dh;
6084 short dv;
6085 #ifndef OffsetRect
6086 PyMac_PRECHECK(OffsetRect);
6087 #endif
6088 if (!PyArg_ParseTuple(_args, "O&hh",
6089 PyMac_GetRect, &r,
6090 &dh,
6091 &dv))
6092 return NULL;
6093 OffsetRect(&r,
6095 dv);
6096 _res = Py_BuildValue("O&",
6097 PyMac_BuildRect, &r);
6098 return _res;
6101 static PyObject *Qd_InsetRect(PyObject *_self, PyObject *_args)
6103 PyObject *_res = NULL;
6104 Rect r;
6105 short dh;
6106 short dv;
6107 #ifndef InsetRect
6108 PyMac_PRECHECK(InsetRect);
6109 #endif
6110 if (!PyArg_ParseTuple(_args, "O&hh",
6111 PyMac_GetRect, &r,
6112 &dh,
6113 &dv))
6114 return NULL;
6115 InsetRect(&r,
6117 dv);
6118 _res = Py_BuildValue("O&",
6119 PyMac_BuildRect, &r);
6120 return _res;
6123 static PyObject *Qd_UnionRect(PyObject *_self, PyObject *_args)
6125 PyObject *_res = NULL;
6126 Rect src1;
6127 Rect src2;
6128 Rect dstRect;
6129 #ifndef UnionRect
6130 PyMac_PRECHECK(UnionRect);
6131 #endif
6132 if (!PyArg_ParseTuple(_args, "O&O&",
6133 PyMac_GetRect, &src1,
6134 PyMac_GetRect, &src2))
6135 return NULL;
6136 UnionRect(&src1,
6137 &src2,
6138 &dstRect);
6139 _res = Py_BuildValue("O&",
6140 PyMac_BuildRect, &dstRect);
6141 return _res;
6144 static PyObject *Qd_EqualRect(PyObject *_self, PyObject *_args)
6146 PyObject *_res = NULL;
6147 Boolean _rv;
6148 Rect rect1;
6149 Rect rect2;
6150 #ifndef EqualRect
6151 PyMac_PRECHECK(EqualRect);
6152 #endif
6153 if (!PyArg_ParseTuple(_args, "O&O&",
6154 PyMac_GetRect, &rect1,
6155 PyMac_GetRect, &rect2))
6156 return NULL;
6157 _rv = EqualRect(&rect1,
6158 &rect2);
6159 _res = Py_BuildValue("b",
6160 _rv);
6161 return _res;
6164 static PyObject *Qd_FrameRect(PyObject *_self, PyObject *_args)
6166 PyObject *_res = NULL;
6167 Rect r;
6168 #ifndef FrameRect
6169 PyMac_PRECHECK(FrameRect);
6170 #endif
6171 if (!PyArg_ParseTuple(_args, "O&",
6172 PyMac_GetRect, &r))
6173 return NULL;
6174 FrameRect(&r);
6175 Py_INCREF(Py_None);
6176 _res = Py_None;
6177 return _res;
6180 static PyObject *Qd_InvertRect(PyObject *_self, PyObject *_args)
6182 PyObject *_res = NULL;
6183 Rect r;
6184 #ifndef InvertRect
6185 PyMac_PRECHECK(InvertRect);
6186 #endif
6187 if (!PyArg_ParseTuple(_args, "O&",
6188 PyMac_GetRect, &r))
6189 return NULL;
6190 InvertRect(&r);
6191 Py_INCREF(Py_None);
6192 _res = Py_None;
6193 return _res;
6196 static PyObject *Qd_FillRect(PyObject *_self, PyObject *_args)
6198 PyObject *_res = NULL;
6199 Rect r;
6200 Pattern *pat__in__;
6201 int pat__in_len__;
6202 #ifndef FillRect
6203 PyMac_PRECHECK(FillRect);
6204 #endif
6205 if (!PyArg_ParseTuple(_args, "O&s#",
6206 PyMac_GetRect, &r,
6207 (char **)&pat__in__, &pat__in_len__))
6208 return NULL;
6209 if (pat__in_len__ != sizeof(Pattern))
6211 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
6212 goto pat__error__;
6214 FillRect(&r,
6215 pat__in__);
6216 Py_INCREF(Py_None);
6217 _res = Py_None;
6218 pat__error__: ;
6219 return _res;
6222 static PyObject *Qd_CopyRgn(PyObject *_self, PyObject *_args)
6224 PyObject *_res = NULL;
6225 RgnHandle srcRgn;
6226 RgnHandle dstRgn;
6227 #ifndef CopyRgn
6228 PyMac_PRECHECK(CopyRgn);
6229 #endif
6230 if (!PyArg_ParseTuple(_args, "O&O&",
6231 ResObj_Convert, &srcRgn,
6232 ResObj_Convert, &dstRgn))
6233 return NULL;
6234 CopyRgn(srcRgn,
6235 dstRgn);
6236 Py_INCREF(Py_None);
6237 _res = Py_None;
6238 return _res;
6241 static PyObject *Qd_SetRectRgn(PyObject *_self, PyObject *_args)
6243 PyObject *_res = NULL;
6244 RgnHandle rgn;
6245 short left;
6246 short top;
6247 short right;
6248 short bottom;
6249 #ifndef SetRectRgn
6250 PyMac_PRECHECK(SetRectRgn);
6251 #endif
6252 if (!PyArg_ParseTuple(_args, "O&hhhh",
6253 ResObj_Convert, &rgn,
6254 &left,
6255 &top,
6256 &right,
6257 &bottom))
6258 return NULL;
6259 SetRectRgn(rgn,
6260 left,
6261 top,
6262 right,
6263 bottom);
6264 Py_INCREF(Py_None);
6265 _res = Py_None;
6266 return _res;
6269 static PyObject *Qd_OffsetRgn(PyObject *_self, PyObject *_args)
6271 PyObject *_res = NULL;
6272 RgnHandle rgn;
6273 short dh;
6274 short dv;
6275 #ifndef OffsetRgn
6276 PyMac_PRECHECK(OffsetRgn);
6277 #endif
6278 if (!PyArg_ParseTuple(_args, "O&hh",
6279 ResObj_Convert, &rgn,
6280 &dh,
6281 &dv))
6282 return NULL;
6283 OffsetRgn(rgn,
6285 dv);
6286 Py_INCREF(Py_None);
6287 _res = Py_None;
6288 return _res;
6291 static PyObject *Qd_UnionRgn(PyObject *_self, PyObject *_args)
6293 PyObject *_res = NULL;
6294 RgnHandle srcRgnA;
6295 RgnHandle srcRgnB;
6296 RgnHandle dstRgn;
6297 #ifndef UnionRgn
6298 PyMac_PRECHECK(UnionRgn);
6299 #endif
6300 if (!PyArg_ParseTuple(_args, "O&O&O&",
6301 ResObj_Convert, &srcRgnA,
6302 ResObj_Convert, &srcRgnB,
6303 ResObj_Convert, &dstRgn))
6304 return NULL;
6305 UnionRgn(srcRgnA,
6306 srcRgnB,
6307 dstRgn);
6308 Py_INCREF(Py_None);
6309 _res = Py_None;
6310 return _res;
6313 static PyObject *Qd_XorRgn(PyObject *_self, PyObject *_args)
6315 PyObject *_res = NULL;
6316 RgnHandle srcRgnA;
6317 RgnHandle srcRgnB;
6318 RgnHandle dstRgn;
6319 #ifndef XorRgn
6320 PyMac_PRECHECK(XorRgn);
6321 #endif
6322 if (!PyArg_ParseTuple(_args, "O&O&O&",
6323 ResObj_Convert, &srcRgnA,
6324 ResObj_Convert, &srcRgnB,
6325 ResObj_Convert, &dstRgn))
6326 return NULL;
6327 XorRgn(srcRgnA,
6328 srcRgnB,
6329 dstRgn);
6330 Py_INCREF(Py_None);
6331 _res = Py_None;
6332 return _res;
6335 static PyObject *Qd_EqualRgn(PyObject *_self, PyObject *_args)
6337 PyObject *_res = NULL;
6338 Boolean _rv;
6339 RgnHandle rgnA;
6340 RgnHandle rgnB;
6341 #ifndef EqualRgn
6342 PyMac_PRECHECK(EqualRgn);
6343 #endif
6344 if (!PyArg_ParseTuple(_args, "O&O&",
6345 ResObj_Convert, &rgnA,
6346 ResObj_Convert, &rgnB))
6347 return NULL;
6348 _rv = EqualRgn(rgnA,
6349 rgnB);
6350 _res = Py_BuildValue("b",
6351 _rv);
6352 return _res;
6355 static PyObject *Qd_FrameRgn(PyObject *_self, PyObject *_args)
6357 PyObject *_res = NULL;
6358 RgnHandle rgn;
6359 #ifndef FrameRgn
6360 PyMac_PRECHECK(FrameRgn);
6361 #endif
6362 if (!PyArg_ParseTuple(_args, "O&",
6363 ResObj_Convert, &rgn))
6364 return NULL;
6365 FrameRgn(rgn);
6366 Py_INCREF(Py_None);
6367 _res = Py_None;
6368 return _res;
6371 static PyObject *Qd_PaintRgn(PyObject *_self, PyObject *_args)
6373 PyObject *_res = NULL;
6374 RgnHandle rgn;
6375 #ifndef PaintRgn
6376 PyMac_PRECHECK(PaintRgn);
6377 #endif
6378 if (!PyArg_ParseTuple(_args, "O&",
6379 ResObj_Convert, &rgn))
6380 return NULL;
6381 PaintRgn(rgn);
6382 Py_INCREF(Py_None);
6383 _res = Py_None;
6384 return _res;
6387 static PyObject *Qd_InvertRgn(PyObject *_self, PyObject *_args)
6389 PyObject *_res = NULL;
6390 RgnHandle rgn;
6391 #ifndef InvertRgn
6392 PyMac_PRECHECK(InvertRgn);
6393 #endif
6394 if (!PyArg_ParseTuple(_args, "O&",
6395 ResObj_Convert, &rgn))
6396 return NULL;
6397 InvertRgn(rgn);
6398 Py_INCREF(Py_None);
6399 _res = Py_None;
6400 return _res;
6403 static PyObject *Qd_FillRgn(PyObject *_self, PyObject *_args)
6405 PyObject *_res = NULL;
6406 RgnHandle rgn;
6407 Pattern *pat__in__;
6408 int pat__in_len__;
6409 #ifndef FillRgn
6410 PyMac_PRECHECK(FillRgn);
6411 #endif
6412 if (!PyArg_ParseTuple(_args, "O&s#",
6413 ResObj_Convert, &rgn,
6414 (char **)&pat__in__, &pat__in_len__))
6415 return NULL;
6416 if (pat__in_len__ != sizeof(Pattern))
6418 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)");
6419 goto pat__error__;
6421 FillRgn(rgn,
6422 pat__in__);
6423 Py_INCREF(Py_None);
6424 _res = Py_None;
6425 pat__error__: ;
6426 return _res;
6429 static PyObject *Qd_GetPixel(PyObject *_self, PyObject *_args)
6431 PyObject *_res = NULL;
6432 Boolean _rv;
6433 short h;
6434 short v;
6435 #ifndef GetPixel
6436 PyMac_PRECHECK(GetPixel);
6437 #endif
6438 if (!PyArg_ParseTuple(_args, "hh",
6440 &v))
6441 return NULL;
6442 _rv = GetPixel(h,
6444 _res = Py_BuildValue("b",
6445 _rv);
6446 return _res;
6449 static PyObject *Qd_PtInRect(PyObject *_self, PyObject *_args)
6451 PyObject *_res = NULL;
6452 Boolean _rv;
6453 Point pt;
6454 Rect r;
6455 #ifndef PtInRect
6456 PyMac_PRECHECK(PtInRect);
6457 #endif
6458 if (!PyArg_ParseTuple(_args, "O&O&",
6459 PyMac_GetPoint, &pt,
6460 PyMac_GetRect, &r))
6461 return NULL;
6462 _rv = PtInRect(pt,
6463 &r);
6464 _res = Py_BuildValue("b",
6465 _rv);
6466 return _res;
6469 static PyObject *Qd_DrawText(PyObject *_self, PyObject *_args)
6471 PyObject *_res = NULL;
6472 char *textBuf__in__;
6473 int textBuf__in_len__;
6474 short firstByte;
6475 short byteCount;
6476 #ifndef DrawText
6477 PyMac_PRECHECK(DrawText);
6478 #endif
6479 if (!PyArg_ParseTuple(_args, "s#hh",
6480 &textBuf__in__, &textBuf__in_len__,
6481 &firstByte,
6482 &byteCount))
6483 return NULL;
6484 /* Fool compiler warnings */
6485 textBuf__in_len__ = textBuf__in_len__;
6486 DrawText(textBuf__in__,
6487 firstByte,
6488 byteCount);
6489 Py_INCREF(Py_None);
6490 _res = Py_None;
6491 return _res;
6494 static PyObject *Qd_BitMap(PyObject *_self, PyObject *_args)
6496 PyObject *_res = NULL;
6498 BitMap *ptr;
6499 PyObject *source;
6500 Rect bounds;
6501 int rowbytes;
6502 char *data;
6504 if ( !PyArg_ParseTuple(_args, "O!iO&", &PyString_Type, &source, &rowbytes, PyMac_GetRect,
6505 &bounds) )
6506 return NULL;
6507 data = PyString_AsString(source);
6508 if ((ptr=(BitMap *)malloc(sizeof(BitMap))) == NULL )
6509 return PyErr_NoMemory();
6510 ptr->baseAddr = (Ptr)data;
6511 ptr->rowBytes = rowbytes;
6512 ptr->bounds = bounds;
6513 if ( (_res = BMObj_New(ptr)) == NULL ) {
6514 free(ptr);
6515 return NULL;
6517 ((BitMapObject *)_res)->referred_object = source;
6518 Py_INCREF(source);
6519 ((BitMapObject *)_res)->referred_bitmap = ptr;
6520 return _res;
6524 static PyObject *Qd_RawBitMap(PyObject *_self, PyObject *_args)
6526 PyObject *_res = NULL;
6528 BitMap *ptr;
6529 PyObject *source;
6531 if ( !PyArg_ParseTuple(_args, "O!", &PyString_Type, &source) )
6532 return NULL;
6533 if ( PyString_Size(source) != sizeof(BitMap) && PyString_Size(source) != sizeof(PixMap) ) {
6534 PyErr_Format(PyExc_TypeError,
6535 "Argument size was %ld, should be %lu (sizeof BitMap) or %lu (sizeof PixMap)",
6536 PyString_Size(source), sizeof(BitMap), sizeof(PixMap));
6537 return NULL;
6539 ptr = (BitMapPtr)PyString_AsString(source);
6540 if ( (_res = BMObj_New(ptr)) == NULL ) {
6541 return NULL;
6543 ((BitMapObject *)_res)->referred_object = source;
6544 Py_INCREF(source);
6545 return _res;
6548 #endif /* __LP64__ */
6550 static PyMethodDef Qd_methods[] = {
6551 #ifndef __LP64__
6552 {"GetPort", (PyCFunction)Qd_GetPort, 1,
6553 PyDoc_STR("() -> (GrafPtr port)")},
6554 {"GrafDevice", (PyCFunction)Qd_GrafDevice, 1,
6555 PyDoc_STR("(short device) -> None")},
6556 {"SetPortBits", (PyCFunction)Qd_SetPortBits, 1,
6557 PyDoc_STR("(BitMapPtr bm) -> None")},
6558 {"PortSize", (PyCFunction)Qd_PortSize, 1,
6559 PyDoc_STR("(short width, short height) -> None")},
6560 {"MovePortTo", (PyCFunction)Qd_MovePortTo, 1,
6561 PyDoc_STR("(short leftGlobal, short topGlobal) -> None")},
6562 {"SetOrigin", (PyCFunction)Qd_SetOrigin, 1,
6563 PyDoc_STR("(short h, short v) -> None")},
6564 {"SetClip", (PyCFunction)Qd_SetClip, 1,
6565 PyDoc_STR("(RgnHandle rgn) -> None")},
6566 {"GetClip", (PyCFunction)Qd_GetClip, 1,
6567 PyDoc_STR("(RgnHandle rgn) -> None")},
6568 {"ClipRect", (PyCFunction)Qd_ClipRect, 1,
6569 PyDoc_STR("(Rect r) -> None")},
6570 {"BackPat", (PyCFunction)Qd_BackPat, 1,
6571 PyDoc_STR("(Pattern pat) -> None")},
6572 {"InitCursor", (PyCFunction)Qd_InitCursor, 1,
6573 PyDoc_STR("() -> None")},
6574 {"MacSetCursor", (PyCFunction)Qd_MacSetCursor, 1,
6575 PyDoc_STR("(Cursor crsr) -> None")},
6576 {"HideCursor", (PyCFunction)Qd_HideCursor, 1,
6577 PyDoc_STR("() -> None")},
6578 {"MacShowCursor", (PyCFunction)Qd_MacShowCursor, 1,
6579 PyDoc_STR("() -> None")},
6580 {"ObscureCursor", (PyCFunction)Qd_ObscureCursor, 1,
6581 PyDoc_STR("() -> None")},
6582 {"HidePen", (PyCFunction)Qd_HidePen, 1,
6583 PyDoc_STR("() -> None")},
6584 {"ShowPen", (PyCFunction)Qd_ShowPen, 1,
6585 PyDoc_STR("() -> None")},
6586 {"GetPen", (PyCFunction)Qd_GetPen, 1,
6587 PyDoc_STR("() -> (Point pt)")},
6588 {"GetPenState", (PyCFunction)Qd_GetPenState, 1,
6589 PyDoc_STR("() -> (PenState pnState)")},
6590 {"SetPenState", (PyCFunction)Qd_SetPenState, 1,
6591 PyDoc_STR("(PenState pnState) -> None")},
6592 {"PenSize", (PyCFunction)Qd_PenSize, 1,
6593 PyDoc_STR("(short width, short height) -> None")},
6594 {"PenMode", (PyCFunction)Qd_PenMode, 1,
6595 PyDoc_STR("(short mode) -> None")},
6596 {"PenPat", (PyCFunction)Qd_PenPat, 1,
6597 PyDoc_STR("(Pattern pat) -> None")},
6598 {"PenNormal", (PyCFunction)Qd_PenNormal, 1,
6599 PyDoc_STR("() -> None")},
6600 {"MoveTo", (PyCFunction)Qd_MoveTo, 1,
6601 PyDoc_STR("(short h, short v) -> None")},
6602 {"Move", (PyCFunction)Qd_Move, 1,
6603 PyDoc_STR("(short dh, short dv) -> None")},
6604 {"MacLineTo", (PyCFunction)Qd_MacLineTo, 1,
6605 PyDoc_STR("(short h, short v) -> None")},
6606 {"Line", (PyCFunction)Qd_Line, 1,
6607 PyDoc_STR("(short dh, short dv) -> None")},
6608 {"ForeColor", (PyCFunction)Qd_ForeColor, 1,
6609 PyDoc_STR("(long color) -> None")},
6610 {"BackColor", (PyCFunction)Qd_BackColor, 1,
6611 PyDoc_STR("(long color) -> None")},
6612 {"ColorBit", (PyCFunction)Qd_ColorBit, 1,
6613 PyDoc_STR("(short whichBit) -> None")},
6614 {"MacSetRect", (PyCFunction)Qd_MacSetRect, 1,
6615 PyDoc_STR("(short left, short top, short right, short bottom) -> (Rect r)")},
6616 {"MacOffsetRect", (PyCFunction)Qd_MacOffsetRect, 1,
6617 PyDoc_STR("(Rect r, short dh, short dv) -> (Rect r)")},
6618 {"MacInsetRect", (PyCFunction)Qd_MacInsetRect, 1,
6619 PyDoc_STR("(Rect r, short dh, short dv) -> (Rect r)")},
6620 {"SectRect", (PyCFunction)Qd_SectRect, 1,
6621 PyDoc_STR("(Rect src1, Rect src2) -> (Boolean _rv, Rect dstRect)")},
6622 {"MacUnionRect", (PyCFunction)Qd_MacUnionRect, 1,
6623 PyDoc_STR("(Rect src1, Rect src2) -> (Rect dstRect)")},
6624 {"MacEqualRect", (PyCFunction)Qd_MacEqualRect, 1,
6625 PyDoc_STR("(Rect rect1, Rect rect2) -> (Boolean _rv)")},
6626 {"EmptyRect", (PyCFunction)Qd_EmptyRect, 1,
6627 PyDoc_STR("(Rect r) -> (Boolean _rv)")},
6628 {"MacFrameRect", (PyCFunction)Qd_MacFrameRect, 1,
6629 PyDoc_STR("(Rect r) -> None")},
6630 {"PaintRect", (PyCFunction)Qd_PaintRect, 1,
6631 PyDoc_STR("(Rect r) -> None")},
6632 {"EraseRect", (PyCFunction)Qd_EraseRect, 1,
6633 PyDoc_STR("(Rect r) -> None")},
6634 {"MacInvertRect", (PyCFunction)Qd_MacInvertRect, 1,
6635 PyDoc_STR("(Rect r) -> None")},
6636 {"MacFillRect", (PyCFunction)Qd_MacFillRect, 1,
6637 PyDoc_STR("(Rect r, Pattern pat) -> None")},
6638 {"FrameOval", (PyCFunction)Qd_FrameOval, 1,
6639 PyDoc_STR("(Rect r) -> None")},
6640 {"PaintOval", (PyCFunction)Qd_PaintOval, 1,
6641 PyDoc_STR("(Rect r) -> None")},
6642 {"EraseOval", (PyCFunction)Qd_EraseOval, 1,
6643 PyDoc_STR("(Rect r) -> None")},
6644 {"InvertOval", (PyCFunction)Qd_InvertOval, 1,
6645 PyDoc_STR("(Rect r) -> None")},
6646 {"FillOval", (PyCFunction)Qd_FillOval, 1,
6647 PyDoc_STR("(Rect r, Pattern pat) -> None")},
6648 {"FrameRoundRect", (PyCFunction)Qd_FrameRoundRect, 1,
6649 PyDoc_STR("(Rect r, short ovalWidth, short ovalHeight) -> None")},
6650 {"PaintRoundRect", (PyCFunction)Qd_PaintRoundRect, 1,
6651 PyDoc_STR("(Rect r, short ovalWidth, short ovalHeight) -> None")},
6652 {"EraseRoundRect", (PyCFunction)Qd_EraseRoundRect, 1,
6653 PyDoc_STR("(Rect r, short ovalWidth, short ovalHeight) -> None")},
6654 {"InvertRoundRect", (PyCFunction)Qd_InvertRoundRect, 1,
6655 PyDoc_STR("(Rect r, short ovalWidth, short ovalHeight) -> None")},
6656 {"FillRoundRect", (PyCFunction)Qd_FillRoundRect, 1,
6657 PyDoc_STR("(Rect r, short ovalWidth, short ovalHeight, Pattern pat) -> None")},
6658 {"FrameArc", (PyCFunction)Qd_FrameArc, 1,
6659 PyDoc_STR("(Rect r, short startAngle, short arcAngle) -> None")},
6660 {"PaintArc", (PyCFunction)Qd_PaintArc, 1,
6661 PyDoc_STR("(Rect r, short startAngle, short arcAngle) -> None")},
6662 {"EraseArc", (PyCFunction)Qd_EraseArc, 1,
6663 PyDoc_STR("(Rect r, short startAngle, short arcAngle) -> None")},
6664 {"InvertArc", (PyCFunction)Qd_InvertArc, 1,
6665 PyDoc_STR("(Rect r, short startAngle, short arcAngle) -> None")},
6666 {"FillArc", (PyCFunction)Qd_FillArc, 1,
6667 PyDoc_STR("(Rect r, short startAngle, short arcAngle, Pattern pat) -> None")},
6668 {"NewRgn", (PyCFunction)Qd_NewRgn, 1,
6669 PyDoc_STR("() -> (RgnHandle _rv)")},
6670 {"OpenRgn", (PyCFunction)Qd_OpenRgn, 1,
6671 PyDoc_STR("() -> None")},
6672 {"CloseRgn", (PyCFunction)Qd_CloseRgn, 1,
6673 PyDoc_STR("(RgnHandle dstRgn) -> None")},
6674 {"BitMapToRegion", (PyCFunction)Qd_BitMapToRegion, 1,
6675 PyDoc_STR("(RgnHandle region, BitMapPtr bMap) -> None")},
6676 {"RgnToHandle", (PyCFunction)Qd_RgnToHandle, 1,
6677 PyDoc_STR("(RgnHandle region, Handle flattenedRgnDataHdl) -> None")},
6678 {"DisposeRgn", (PyCFunction)Qd_DisposeRgn, 1,
6679 PyDoc_STR("(RgnHandle rgn) -> None")},
6680 {"MacCopyRgn", (PyCFunction)Qd_MacCopyRgn, 1,
6681 PyDoc_STR("(RgnHandle srcRgn, RgnHandle dstRgn) -> None")},
6682 {"SetEmptyRgn", (PyCFunction)Qd_SetEmptyRgn, 1,
6683 PyDoc_STR("(RgnHandle rgn) -> None")},
6684 {"MacSetRectRgn", (PyCFunction)Qd_MacSetRectRgn, 1,
6685 PyDoc_STR("(RgnHandle rgn, short left, short top, short right, short bottom) -> None")},
6686 {"RectRgn", (PyCFunction)Qd_RectRgn, 1,
6687 PyDoc_STR("(RgnHandle rgn, Rect r) -> None")},
6688 {"MacOffsetRgn", (PyCFunction)Qd_MacOffsetRgn, 1,
6689 PyDoc_STR("(RgnHandle rgn, short dh, short dv) -> None")},
6690 {"InsetRgn", (PyCFunction)Qd_InsetRgn, 1,
6691 PyDoc_STR("(RgnHandle rgn, short dh, short dv) -> None")},
6692 {"SectRgn", (PyCFunction)Qd_SectRgn, 1,
6693 PyDoc_STR("(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None")},
6694 {"MacUnionRgn", (PyCFunction)Qd_MacUnionRgn, 1,
6695 PyDoc_STR("(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None")},
6696 {"DiffRgn", (PyCFunction)Qd_DiffRgn, 1,
6697 PyDoc_STR("(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None")},
6698 {"MacXorRgn", (PyCFunction)Qd_MacXorRgn, 1,
6699 PyDoc_STR("(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None")},
6700 {"RectInRgn", (PyCFunction)Qd_RectInRgn, 1,
6701 PyDoc_STR("(Rect r, RgnHandle rgn) -> (Boolean _rv)")},
6702 {"MacEqualRgn", (PyCFunction)Qd_MacEqualRgn, 1,
6703 PyDoc_STR("(RgnHandle rgnA, RgnHandle rgnB) -> (Boolean _rv)")},
6704 {"EmptyRgn", (PyCFunction)Qd_EmptyRgn, 1,
6705 PyDoc_STR("(RgnHandle rgn) -> (Boolean _rv)")},
6706 {"MacFrameRgn", (PyCFunction)Qd_MacFrameRgn, 1,
6707 PyDoc_STR("(RgnHandle rgn) -> None")},
6708 {"MacPaintRgn", (PyCFunction)Qd_MacPaintRgn, 1,
6709 PyDoc_STR("(RgnHandle rgn) -> None")},
6710 {"EraseRgn", (PyCFunction)Qd_EraseRgn, 1,
6711 PyDoc_STR("(RgnHandle rgn) -> None")},
6712 {"MacInvertRgn", (PyCFunction)Qd_MacInvertRgn, 1,
6713 PyDoc_STR("(RgnHandle rgn) -> None")},
6714 {"MacFillRgn", (PyCFunction)Qd_MacFillRgn, 1,
6715 PyDoc_STR("(RgnHandle rgn, Pattern pat) -> None")},
6716 {"ScrollRect", (PyCFunction)Qd_ScrollRect, 1,
6717 PyDoc_STR("(Rect r, short dh, short dv, RgnHandle updateRgn) -> None")},
6718 {"CopyBits", (PyCFunction)Qd_CopyBits, 1,
6719 PyDoc_STR("(BitMapPtr srcBits, BitMapPtr dstBits, Rect srcRect, Rect dstRect, short mode, RgnHandle maskRgn) -> None")},
6720 {"CopyMask", (PyCFunction)Qd_CopyMask, 1,
6721 PyDoc_STR("(BitMapPtr srcBits, BitMapPtr maskBits, BitMapPtr dstBits, Rect srcRect, Rect maskRect, Rect dstRect) -> None")},
6722 {"OpenPicture", (PyCFunction)Qd_OpenPicture, 1,
6723 PyDoc_STR("(Rect picFrame) -> (PicHandle _rv)")},
6724 {"PicComment", (PyCFunction)Qd_PicComment, 1,
6725 PyDoc_STR("(short kind, short dataSize, Handle dataHandle) -> None")},
6726 {"ClosePicture", (PyCFunction)Qd_ClosePicture, 1,
6727 PyDoc_STR("() -> None")},
6728 {"DrawPicture", (PyCFunction)Qd_DrawPicture, 1,
6729 PyDoc_STR("(PicHandle myPicture, Rect dstRect) -> None")},
6730 {"KillPicture", (PyCFunction)Qd_KillPicture, 1,
6731 PyDoc_STR("(PicHandle myPicture) -> None")},
6732 {"OpenPoly", (PyCFunction)Qd_OpenPoly, 1,
6733 PyDoc_STR("() -> (PolyHandle _rv)")},
6734 {"ClosePoly", (PyCFunction)Qd_ClosePoly, 1,
6735 PyDoc_STR("() -> None")},
6736 {"KillPoly", (PyCFunction)Qd_KillPoly, 1,
6737 PyDoc_STR("(PolyHandle poly) -> None")},
6738 {"OffsetPoly", (PyCFunction)Qd_OffsetPoly, 1,
6739 PyDoc_STR("(PolyHandle poly, short dh, short dv) -> None")},
6740 {"FramePoly", (PyCFunction)Qd_FramePoly, 1,
6741 PyDoc_STR("(PolyHandle poly) -> None")},
6742 {"PaintPoly", (PyCFunction)Qd_PaintPoly, 1,
6743 PyDoc_STR("(PolyHandle poly) -> None")},
6744 {"ErasePoly", (PyCFunction)Qd_ErasePoly, 1,
6745 PyDoc_STR("(PolyHandle poly) -> None")},
6746 {"InvertPoly", (PyCFunction)Qd_InvertPoly, 1,
6747 PyDoc_STR("(PolyHandle poly) -> None")},
6748 {"FillPoly", (PyCFunction)Qd_FillPoly, 1,
6749 PyDoc_STR("(PolyHandle poly, Pattern pat) -> None")},
6750 {"SetPt", (PyCFunction)Qd_SetPt, 1,
6751 PyDoc_STR("(short h, short v) -> (Point pt)")},
6752 {"LocalToGlobal", (PyCFunction)Qd_LocalToGlobal, 1,
6753 PyDoc_STR("(Point pt) -> (Point pt)")},
6754 {"GlobalToLocal", (PyCFunction)Qd_GlobalToLocal, 1,
6755 PyDoc_STR("(Point pt) -> (Point pt)")},
6756 {"Random", (PyCFunction)Qd_Random, 1,
6757 PyDoc_STR("() -> (short _rv)")},
6758 {"MacGetPixel", (PyCFunction)Qd_MacGetPixel, 1,
6759 PyDoc_STR("(short h, short v) -> (Boolean _rv)")},
6760 {"ScalePt", (PyCFunction)Qd_ScalePt, 1,
6761 PyDoc_STR("(Point pt, Rect srcRect, Rect dstRect) -> (Point pt)")},
6762 {"MapPt", (PyCFunction)Qd_MapPt, 1,
6763 PyDoc_STR("(Point pt, Rect srcRect, Rect dstRect) -> (Point pt)")},
6764 {"MapRect", (PyCFunction)Qd_MapRect, 1,
6765 PyDoc_STR("(Rect r, Rect srcRect, Rect dstRect) -> (Rect r)")},
6766 {"MapRgn", (PyCFunction)Qd_MapRgn, 1,
6767 PyDoc_STR("(RgnHandle rgn, Rect srcRect, Rect dstRect) -> None")},
6768 {"MapPoly", (PyCFunction)Qd_MapPoly, 1,
6769 PyDoc_STR("(PolyHandle poly, Rect srcRect, Rect dstRect) -> None")},
6770 {"StdBits", (PyCFunction)Qd_StdBits, 1,
6771 PyDoc_STR("(BitMapPtr srcBits, Rect srcRect, Rect dstRect, short mode, RgnHandle maskRgn) -> None")},
6772 {"AddPt", (PyCFunction)Qd_AddPt, 1,
6773 PyDoc_STR("(Point src, Point dst) -> (Point dst)")},
6774 {"EqualPt", (PyCFunction)Qd_EqualPt, 1,
6775 PyDoc_STR("(Point pt1, Point pt2) -> (Boolean _rv)")},
6776 {"MacPtInRect", (PyCFunction)Qd_MacPtInRect, 1,
6777 PyDoc_STR("(Point pt, Rect r) -> (Boolean _rv)")},
6778 {"Pt2Rect", (PyCFunction)Qd_Pt2Rect, 1,
6779 PyDoc_STR("(Point pt1, Point pt2) -> (Rect dstRect)")},
6780 {"PtToAngle", (PyCFunction)Qd_PtToAngle, 1,
6781 PyDoc_STR("(Rect r, Point pt) -> (short angle)")},
6782 {"SubPt", (PyCFunction)Qd_SubPt, 1,
6783 PyDoc_STR("(Point src, Point dst) -> (Point dst)")},
6784 {"PtInRgn", (PyCFunction)Qd_PtInRgn, 1,
6785 PyDoc_STR("(Point pt, RgnHandle rgn) -> (Boolean _rv)")},
6786 {"NewPixMap", (PyCFunction)Qd_NewPixMap, 1,
6787 PyDoc_STR("() -> (PixMapHandle _rv)")},
6788 {"DisposePixMap", (PyCFunction)Qd_DisposePixMap, 1,
6789 PyDoc_STR("(PixMapHandle pm) -> None")},
6790 {"CopyPixMap", (PyCFunction)Qd_CopyPixMap, 1,
6791 PyDoc_STR("(PixMapHandle srcPM, PixMapHandle dstPM) -> None")},
6792 {"NewPixPat", (PyCFunction)Qd_NewPixPat, 1,
6793 PyDoc_STR("() -> (PixPatHandle _rv)")},
6794 {"DisposePixPat", (PyCFunction)Qd_DisposePixPat, 1,
6795 PyDoc_STR("(PixPatHandle pp) -> None")},
6796 {"CopyPixPat", (PyCFunction)Qd_CopyPixPat, 1,
6797 PyDoc_STR("(PixPatHandle srcPP, PixPatHandle dstPP) -> None")},
6798 {"PenPixPat", (PyCFunction)Qd_PenPixPat, 1,
6799 PyDoc_STR("(PixPatHandle pp) -> None")},
6800 {"BackPixPat", (PyCFunction)Qd_BackPixPat, 1,
6801 PyDoc_STR("(PixPatHandle pp) -> None")},
6802 {"GetPixPat", (PyCFunction)Qd_GetPixPat, 1,
6803 PyDoc_STR("(short patID) -> (PixPatHandle _rv)")},
6804 {"MakeRGBPat", (PyCFunction)Qd_MakeRGBPat, 1,
6805 PyDoc_STR("(PixPatHandle pp, RGBColor myColor) -> None")},
6806 {"FillCRect", (PyCFunction)Qd_FillCRect, 1,
6807 PyDoc_STR("(Rect r, PixPatHandle pp) -> None")},
6808 {"FillCOval", (PyCFunction)Qd_FillCOval, 1,
6809 PyDoc_STR("(Rect r, PixPatHandle pp) -> None")},
6810 {"FillCRoundRect", (PyCFunction)Qd_FillCRoundRect, 1,
6811 PyDoc_STR("(Rect r, short ovalWidth, short ovalHeight, PixPatHandle pp) -> None")},
6812 {"FillCArc", (PyCFunction)Qd_FillCArc, 1,
6813 PyDoc_STR("(Rect r, short startAngle, short arcAngle, PixPatHandle pp) -> None")},
6814 {"FillCRgn", (PyCFunction)Qd_FillCRgn, 1,
6815 PyDoc_STR("(RgnHandle rgn, PixPatHandle pp) -> None")},
6816 {"FillCPoly", (PyCFunction)Qd_FillCPoly, 1,
6817 PyDoc_STR("(PolyHandle poly, PixPatHandle pp) -> None")},
6818 {"RGBForeColor", (PyCFunction)Qd_RGBForeColor, 1,
6819 PyDoc_STR("(RGBColor color) -> None")},
6820 {"RGBBackColor", (PyCFunction)Qd_RGBBackColor, 1,
6821 PyDoc_STR("(RGBColor color) -> None")},
6822 {"SetCPixel", (PyCFunction)Qd_SetCPixel, 1,
6823 PyDoc_STR("(short h, short v, RGBColor cPix) -> None")},
6824 {"SetPortPix", (PyCFunction)Qd_SetPortPix, 1,
6825 PyDoc_STR("(PixMapHandle pm) -> None")},
6826 {"GetCPixel", (PyCFunction)Qd_GetCPixel, 1,
6827 PyDoc_STR("(short h, short v) -> (RGBColor cPix)")},
6828 {"GetForeColor", (PyCFunction)Qd_GetForeColor, 1,
6829 PyDoc_STR("() -> (RGBColor color)")},
6830 {"GetBackColor", (PyCFunction)Qd_GetBackColor, 1,
6831 PyDoc_STR("() -> (RGBColor color)")},
6832 {"OpColor", (PyCFunction)Qd_OpColor, 1,
6833 PyDoc_STR("(RGBColor color) -> None")},
6834 {"HiliteColor", (PyCFunction)Qd_HiliteColor, 1,
6835 PyDoc_STR("(RGBColor color) -> None")},
6836 {"DisposeCTable", (PyCFunction)Qd_DisposeCTable, 1,
6837 PyDoc_STR("(CTabHandle cTable) -> None")},
6838 {"GetCTable", (PyCFunction)Qd_GetCTable, 1,
6839 PyDoc_STR("(short ctID) -> (CTabHandle _rv)")},
6840 {"GetCCursor", (PyCFunction)Qd_GetCCursor, 1,
6841 PyDoc_STR("(short crsrID) -> (CCrsrHandle _rv)")},
6842 {"SetCCursor", (PyCFunction)Qd_SetCCursor, 1,
6843 PyDoc_STR("(CCrsrHandle cCrsr) -> None")},
6844 {"AllocCursor", (PyCFunction)Qd_AllocCursor, 1,
6845 PyDoc_STR("() -> None")},
6846 {"DisposeCCursor", (PyCFunction)Qd_DisposeCCursor, 1,
6847 PyDoc_STR("(CCrsrHandle cCrsr) -> None")},
6848 {"GetMaxDevice", (PyCFunction)Qd_GetMaxDevice, 1,
6849 PyDoc_STR("(Rect globalRect) -> (GDHandle _rv)")},
6850 {"GetCTSeed", (PyCFunction)Qd_GetCTSeed, 1,
6851 PyDoc_STR("() -> (long _rv)")},
6852 {"GetDeviceList", (PyCFunction)Qd_GetDeviceList, 1,
6853 PyDoc_STR("() -> (GDHandle _rv)")},
6854 {"GetMainDevice", (PyCFunction)Qd_GetMainDevice, 1,
6855 PyDoc_STR("() -> (GDHandle _rv)")},
6856 {"GetNextDevice", (PyCFunction)Qd_GetNextDevice, 1,
6857 PyDoc_STR("(GDHandle curDevice) -> (GDHandle _rv)")},
6858 {"TestDeviceAttribute", (PyCFunction)Qd_TestDeviceAttribute, 1,
6859 PyDoc_STR("(GDHandle gdh, short attribute) -> (Boolean _rv)")},
6860 {"SetDeviceAttribute", (PyCFunction)Qd_SetDeviceAttribute, 1,
6861 PyDoc_STR("(GDHandle gdh, short attribute, Boolean value) -> None")},
6862 {"InitGDevice", (PyCFunction)Qd_InitGDevice, 1,
6863 PyDoc_STR("(short qdRefNum, long mode, GDHandle gdh) -> None")},
6864 {"NewGDevice", (PyCFunction)Qd_NewGDevice, 1,
6865 PyDoc_STR("(short refNum, long mode) -> (GDHandle _rv)")},
6866 {"DisposeGDevice", (PyCFunction)Qd_DisposeGDevice, 1,
6867 PyDoc_STR("(GDHandle gdh) -> None")},
6868 {"SetGDevice", (PyCFunction)Qd_SetGDevice, 1,
6869 PyDoc_STR("(GDHandle gd) -> None")},
6870 {"GetGDevice", (PyCFunction)Qd_GetGDevice, 1,
6871 PyDoc_STR("() -> (GDHandle _rv)")},
6872 {"Color2Index", (PyCFunction)Qd_Color2Index, 1,
6873 PyDoc_STR("(RGBColor myColor) -> (long _rv)")},
6874 {"Index2Color", (PyCFunction)Qd_Index2Color, 1,
6875 PyDoc_STR("(long index) -> (RGBColor aColor)")},
6876 {"InvertColor", (PyCFunction)Qd_InvertColor, 1,
6877 PyDoc_STR("() -> (RGBColor myColor)")},
6878 {"RealColor", (PyCFunction)Qd_RealColor, 1,
6879 PyDoc_STR("(RGBColor color) -> (Boolean _rv)")},
6880 {"GetSubTable", (PyCFunction)Qd_GetSubTable, 1,
6881 PyDoc_STR("(CTabHandle myColors, short iTabRes, CTabHandle targetTbl) -> None")},
6882 {"MakeITable", (PyCFunction)Qd_MakeITable, 1,
6883 PyDoc_STR("(CTabHandle cTabH, ITabHandle iTabH, short res) -> None")},
6884 {"SetClientID", (PyCFunction)Qd_SetClientID, 1,
6885 PyDoc_STR("(short id) -> None")},
6886 {"ProtectEntry", (PyCFunction)Qd_ProtectEntry, 1,
6887 PyDoc_STR("(short index, Boolean protect) -> None")},
6888 {"ReserveEntry", (PyCFunction)Qd_ReserveEntry, 1,
6889 PyDoc_STR("(short index, Boolean reserve) -> None")},
6890 {"QDError", (PyCFunction)Qd_QDError, 1,
6891 PyDoc_STR("() -> (short _rv)")},
6892 {"CopyDeepMask", (PyCFunction)Qd_CopyDeepMask, 1,
6893 PyDoc_STR("(BitMapPtr srcBits, BitMapPtr maskBits, BitMapPtr dstBits, Rect srcRect, Rect maskRect, Rect dstRect, short mode, RgnHandle maskRgn) -> None")},
6894 {"GetPattern", (PyCFunction)Qd_GetPattern, 1,
6895 PyDoc_STR("(short patternID) -> (PatHandle _rv)")},
6896 {"MacGetCursor", (PyCFunction)Qd_MacGetCursor, 1,
6897 PyDoc_STR("(short cursorID) -> (CursHandle _rv)")},
6898 {"GetPicture", (PyCFunction)Qd_GetPicture, 1,
6899 PyDoc_STR("(short pictureID) -> (PicHandle _rv)")},
6900 {"DeltaPoint", (PyCFunction)Qd_DeltaPoint, 1,
6901 PyDoc_STR("(Point ptA, Point ptB) -> (long _rv)")},
6902 {"ShieldCursor", (PyCFunction)Qd_ShieldCursor, 1,
6903 PyDoc_STR("(Rect shieldRect, Point offsetPt) -> None")},
6904 {"ScreenRes", (PyCFunction)Qd_ScreenRes, 1,
6905 PyDoc_STR("() -> (short scrnHRes, short scrnVRes)")},
6906 {"GetIndPattern", (PyCFunction)Qd_GetIndPattern, 1,
6907 PyDoc_STR("(short patternListID, short index) -> (Pattern thePat)")},
6908 {"SlopeFromAngle", (PyCFunction)Qd_SlopeFromAngle, 1,
6909 PyDoc_STR("(short angle) -> (Fixed _rv)")},
6910 {"AngleFromSlope", (PyCFunction)Qd_AngleFromSlope, 1,
6911 PyDoc_STR("(Fixed slope) -> (short _rv)")},
6912 {"GetPixBounds", (PyCFunction)Qd_GetPixBounds, 1,
6913 PyDoc_STR("(PixMapHandle pixMap) -> (Rect bounds)")},
6914 {"GetPixDepth", (PyCFunction)Qd_GetPixDepth, 1,
6915 PyDoc_STR("(PixMapHandle pixMap) -> (short _rv)")},
6916 {"GetQDGlobalsRandomSeed", (PyCFunction)Qd_GetQDGlobalsRandomSeed, 1,
6917 PyDoc_STR("() -> (long _rv)")},
6918 {"GetQDGlobalsScreenBits", (PyCFunction)Qd_GetQDGlobalsScreenBits, 1,
6919 PyDoc_STR("() -> (BitMap screenBits)")},
6920 {"GetQDGlobalsArrow", (PyCFunction)Qd_GetQDGlobalsArrow, 1,
6921 PyDoc_STR("() -> (Cursor arrow)")},
6922 {"GetQDGlobalsDarkGray", (PyCFunction)Qd_GetQDGlobalsDarkGray, 1,
6923 PyDoc_STR("() -> (Pattern dkGray)")},
6924 {"GetQDGlobalsLightGray", (PyCFunction)Qd_GetQDGlobalsLightGray, 1,
6925 PyDoc_STR("() -> (Pattern ltGray)")},
6926 {"GetQDGlobalsGray", (PyCFunction)Qd_GetQDGlobalsGray, 1,
6927 PyDoc_STR("() -> (Pattern gray)")},
6928 {"GetQDGlobalsBlack", (PyCFunction)Qd_GetQDGlobalsBlack, 1,
6929 PyDoc_STR("() -> (Pattern black)")},
6930 {"GetQDGlobalsWhite", (PyCFunction)Qd_GetQDGlobalsWhite, 1,
6931 PyDoc_STR("() -> (Pattern white)")},
6932 {"GetQDGlobalsThePort", (PyCFunction)Qd_GetQDGlobalsThePort, 1,
6933 PyDoc_STR("() -> (CGrafPtr _rv)")},
6934 {"SetQDGlobalsRandomSeed", (PyCFunction)Qd_SetQDGlobalsRandomSeed, 1,
6935 PyDoc_STR("(long randomSeed) -> None")},
6936 {"SetQDGlobalsArrow", (PyCFunction)Qd_SetQDGlobalsArrow, 1,
6937 PyDoc_STR("(Cursor arrow) -> None")},
6938 {"GetRegionBounds", (PyCFunction)Qd_GetRegionBounds, 1,
6939 PyDoc_STR("(RgnHandle region) -> (Rect bounds)")},
6940 {"IsRegionRectangular", (PyCFunction)Qd_IsRegionRectangular, 1,
6941 PyDoc_STR("(RgnHandle region) -> (Boolean _rv)")},
6942 {"CreateNewPort", (PyCFunction)Qd_CreateNewPort, 1,
6943 PyDoc_STR("() -> (CGrafPtr _rv)")},
6944 {"SetQDError", (PyCFunction)Qd_SetQDError, 1,
6945 PyDoc_STR("(OSErr err) -> None")},
6946 {"LMGetScrVRes", (PyCFunction)Qd_LMGetScrVRes, 1,
6947 PyDoc_STR("() -> (SInt16 _rv)")},
6948 {"LMSetScrVRes", (PyCFunction)Qd_LMSetScrVRes, 1,
6949 PyDoc_STR("(SInt16 value) -> None")},
6950 {"LMGetScrHRes", (PyCFunction)Qd_LMGetScrHRes, 1,
6951 PyDoc_STR("() -> (SInt16 _rv)")},
6952 {"LMSetScrHRes", (PyCFunction)Qd_LMSetScrHRes, 1,
6953 PyDoc_STR("(SInt16 value) -> None")},
6954 {"LMGetMainDevice", (PyCFunction)Qd_LMGetMainDevice, 1,
6955 PyDoc_STR("() -> (GDHandle _rv)")},
6956 {"LMSetMainDevice", (PyCFunction)Qd_LMSetMainDevice, 1,
6957 PyDoc_STR("(GDHandle value) -> None")},
6958 {"LMGetDeviceList", (PyCFunction)Qd_LMGetDeviceList, 1,
6959 PyDoc_STR("() -> (GDHandle _rv)")},
6960 {"LMSetDeviceList", (PyCFunction)Qd_LMSetDeviceList, 1,
6961 PyDoc_STR("(GDHandle value) -> None")},
6962 {"LMGetQDColors", (PyCFunction)Qd_LMGetQDColors, 1,
6963 PyDoc_STR("() -> (Handle _rv)")},
6964 {"LMSetQDColors", (PyCFunction)Qd_LMSetQDColors, 1,
6965 PyDoc_STR("(Handle value) -> None")},
6966 {"LMGetWidthListHand", (PyCFunction)Qd_LMGetWidthListHand, 1,
6967 PyDoc_STR("() -> (Handle _rv)")},
6968 {"LMSetWidthListHand", (PyCFunction)Qd_LMSetWidthListHand, 1,
6969 PyDoc_STR("(Handle value) -> None")},
6970 {"LMGetHiliteMode", (PyCFunction)Qd_LMGetHiliteMode, 1,
6971 PyDoc_STR("() -> (UInt8 _rv)")},
6972 {"LMSetHiliteMode", (PyCFunction)Qd_LMSetHiliteMode, 1,
6973 PyDoc_STR("(UInt8 value) -> None")},
6974 {"LMGetWidthTabHandle", (PyCFunction)Qd_LMGetWidthTabHandle, 1,
6975 PyDoc_STR("() -> (Handle _rv)")},
6976 {"LMSetWidthTabHandle", (PyCFunction)Qd_LMSetWidthTabHandle, 1,
6977 PyDoc_STR("(Handle value) -> None")},
6978 {"LMGetLastSPExtra", (PyCFunction)Qd_LMGetLastSPExtra, 1,
6979 PyDoc_STR("() -> (SInt32 _rv)")},
6980 {"LMSetLastSPExtra", (PyCFunction)Qd_LMSetLastSPExtra, 1,
6981 PyDoc_STR("(SInt32 value) -> None")},
6982 {"LMGetLastFOND", (PyCFunction)Qd_LMGetLastFOND, 1,
6983 PyDoc_STR("() -> (Handle _rv)")},
6984 {"LMSetLastFOND", (PyCFunction)Qd_LMSetLastFOND, 1,
6985 PyDoc_STR("(Handle value) -> None")},
6986 {"LMGetFractEnable", (PyCFunction)Qd_LMGetFractEnable, 1,
6987 PyDoc_STR("() -> (UInt8 _rv)")},
6988 {"LMSetFractEnable", (PyCFunction)Qd_LMSetFractEnable, 1,
6989 PyDoc_STR("(UInt8 value) -> None")},
6990 {"LMGetTheGDevice", (PyCFunction)Qd_LMGetTheGDevice, 1,
6991 PyDoc_STR("() -> (GDHandle _rv)")},
6992 {"LMSetTheGDevice", (PyCFunction)Qd_LMSetTheGDevice, 1,
6993 PyDoc_STR("(GDHandle value) -> None")},
6994 {"LMGetHiliteRGB", (PyCFunction)Qd_LMGetHiliteRGB, 1,
6995 PyDoc_STR("() -> (RGBColor hiliteRGBValue)")},
6996 {"LMSetHiliteRGB", (PyCFunction)Qd_LMSetHiliteRGB, 1,
6997 PyDoc_STR("(RGBColor hiliteRGBValue) -> None")},
6998 {"LMGetCursorNew", (PyCFunction)Qd_LMGetCursorNew, 1,
6999 PyDoc_STR("() -> (Boolean _rv)")},
7000 {"LMSetCursorNew", (PyCFunction)Qd_LMSetCursorNew, 1,
7001 PyDoc_STR("(Boolean value) -> None")},
7002 {"TextFont", (PyCFunction)Qd_TextFont, 1,
7003 PyDoc_STR("(short font) -> None")},
7004 {"TextFace", (PyCFunction)Qd_TextFace, 1,
7005 PyDoc_STR("(StyleParameter face) -> None")},
7006 {"TextMode", (PyCFunction)Qd_TextMode, 1,
7007 PyDoc_STR("(short mode) -> None")},
7008 {"TextSize", (PyCFunction)Qd_TextSize, 1,
7009 PyDoc_STR("(short size) -> None")},
7010 {"SpaceExtra", (PyCFunction)Qd_SpaceExtra, 1,
7011 PyDoc_STR("(Fixed extra) -> None")},
7012 {"DrawChar", (PyCFunction)Qd_DrawChar, 1,
7013 PyDoc_STR("(CharParameter ch) -> None")},
7014 {"DrawString", (PyCFunction)Qd_DrawString, 1,
7015 PyDoc_STR("(Str255 s) -> None")},
7016 {"MacDrawText", (PyCFunction)Qd_MacDrawText, 1,
7017 PyDoc_STR("(Buffer textBuf, short firstByte, short byteCount) -> None")},
7018 {"CharWidth", (PyCFunction)Qd_CharWidth, 1,
7019 PyDoc_STR("(CharParameter ch) -> (short _rv)")},
7020 {"StringWidth", (PyCFunction)Qd_StringWidth, 1,
7021 PyDoc_STR("(Str255 s) -> (short _rv)")},
7022 {"TextWidth", (PyCFunction)Qd_TextWidth, 1,
7023 PyDoc_STR("(Buffer textBuf, short firstByte, short byteCount) -> (short _rv)")},
7024 {"GetFontInfo", (PyCFunction)Qd_GetFontInfo, 1,
7025 PyDoc_STR("() -> (FontInfo info)")},
7026 {"CharExtra", (PyCFunction)Qd_CharExtra, 1,
7027 PyDoc_STR("(Fixed extra) -> None")},
7028 {"TruncString", (PyCFunction)Qd_TruncString, 1,
7029 PyDoc_STR("(short width, Str255 theString, TruncCode truncWhere) -> (short _rv)")},
7030 {"SetPort", (PyCFunction)Qd_SetPort, 1,
7031 PyDoc_STR("(GrafPtr thePort) -> None")},
7032 {"GetCursor", (PyCFunction)Qd_GetCursor, 1,
7033 PyDoc_STR("(short cursorID) -> (CursHandle _rv)")},
7034 {"SetCursor", (PyCFunction)Qd_SetCursor, 1,
7035 PyDoc_STR("(Cursor crsr) -> None")},
7036 {"ShowCursor", (PyCFunction)Qd_ShowCursor, 1,
7037 PyDoc_STR("() -> None")},
7038 {"LineTo", (PyCFunction)Qd_LineTo, 1,
7039 PyDoc_STR("(short h, short v) -> None")},
7040 {"SetRect", (PyCFunction)Qd_SetRect, 1,
7041 PyDoc_STR("(short left, short top, short right, short bottom) -> (Rect r)")},
7042 {"OffsetRect", (PyCFunction)Qd_OffsetRect, 1,
7043 PyDoc_STR("(Rect r, short dh, short dv) -> (Rect r)")},
7044 {"InsetRect", (PyCFunction)Qd_InsetRect, 1,
7045 PyDoc_STR("(Rect r, short dh, short dv) -> (Rect r)")},
7046 {"UnionRect", (PyCFunction)Qd_UnionRect, 1,
7047 PyDoc_STR("(Rect src1, Rect src2) -> (Rect dstRect)")},
7048 {"EqualRect", (PyCFunction)Qd_EqualRect, 1,
7049 PyDoc_STR("(Rect rect1, Rect rect2) -> (Boolean _rv)")},
7050 {"FrameRect", (PyCFunction)Qd_FrameRect, 1,
7051 PyDoc_STR("(Rect r) -> None")},
7052 {"InvertRect", (PyCFunction)Qd_InvertRect, 1,
7053 PyDoc_STR("(Rect r) -> None")},
7054 {"FillRect", (PyCFunction)Qd_FillRect, 1,
7055 PyDoc_STR("(Rect r, Pattern pat) -> None")},
7056 {"CopyRgn", (PyCFunction)Qd_CopyRgn, 1,
7057 PyDoc_STR("(RgnHandle srcRgn, RgnHandle dstRgn) -> None")},
7058 {"SetRectRgn", (PyCFunction)Qd_SetRectRgn, 1,
7059 PyDoc_STR("(RgnHandle rgn, short left, short top, short right, short bottom) -> None")},
7060 {"OffsetRgn", (PyCFunction)Qd_OffsetRgn, 1,
7061 PyDoc_STR("(RgnHandle rgn, short dh, short dv) -> None")},
7062 {"UnionRgn", (PyCFunction)Qd_UnionRgn, 1,
7063 PyDoc_STR("(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None")},
7064 {"XorRgn", (PyCFunction)Qd_XorRgn, 1,
7065 PyDoc_STR("(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn) -> None")},
7066 {"EqualRgn", (PyCFunction)Qd_EqualRgn, 1,
7067 PyDoc_STR("(RgnHandle rgnA, RgnHandle rgnB) -> (Boolean _rv)")},
7068 {"FrameRgn", (PyCFunction)Qd_FrameRgn, 1,
7069 PyDoc_STR("(RgnHandle rgn) -> None")},
7070 {"PaintRgn", (PyCFunction)Qd_PaintRgn, 1,
7071 PyDoc_STR("(RgnHandle rgn) -> None")},
7072 {"InvertRgn", (PyCFunction)Qd_InvertRgn, 1,
7073 PyDoc_STR("(RgnHandle rgn) -> None")},
7074 {"FillRgn", (PyCFunction)Qd_FillRgn, 1,
7075 PyDoc_STR("(RgnHandle rgn, Pattern pat) -> None")},
7076 {"GetPixel", (PyCFunction)Qd_GetPixel, 1,
7077 PyDoc_STR("(short h, short v) -> (Boolean _rv)")},
7078 {"PtInRect", (PyCFunction)Qd_PtInRect, 1,
7079 PyDoc_STR("(Point pt, Rect r) -> (Boolean _rv)")},
7080 {"DrawText", (PyCFunction)Qd_DrawText, 1,
7081 PyDoc_STR("(Buffer textBuf, short firstByte, short byteCount) -> None")},
7082 {"BitMap", (PyCFunction)Qd_BitMap, 1,
7083 PyDoc_STR("Take (string, int, Rect) argument and create BitMap")},
7084 {"RawBitMap", (PyCFunction)Qd_RawBitMap, 1,
7085 PyDoc_STR("Take string BitMap and turn into BitMap object")},
7086 #endif /* __LP64__ */
7087 {NULL, NULL, 0}
7091 #ifndef __LP64__
7093 /* Like BMObj_New, but the original bitmap data structure is copied (and
7094 ** released when the object is released)
7096 PyObject *BMObj_NewCopied(BitMapPtr itself)
7098 BitMapObject *it;
7099 BitMapPtr itself_copy;
7101 if ((itself_copy=(BitMapPtr)malloc(sizeof(BitMap))) == NULL)
7102 return PyErr_NoMemory();
7103 *itself_copy = *itself;
7104 it = (BitMapObject *)BMObj_New(itself_copy);
7105 it->referred_bitmap = itself_copy;
7106 return (PyObject *)it;
7109 #endif /* __LP64__ */
7112 void init_Qd(void)
7114 PyObject *m;
7115 #ifndef __LP64__
7116 PyObject *d;
7120 PyMac_INIT_TOOLBOX_OBJECT_NEW(BitMapPtr, BMObj_New);
7121 PyMac_INIT_TOOLBOX_OBJECT_CONVERT(BitMapPtr, BMObj_Convert);
7122 PyMac_INIT_TOOLBOX_OBJECT_NEW(GrafPtr, GrafObj_New);
7123 PyMac_INIT_TOOLBOX_OBJECT_CONVERT(GrafPtr, GrafObj_Convert);
7124 PyMac_INIT_TOOLBOX_OBJECT_NEW(RGBColorPtr, QdRGB_New);
7125 PyMac_INIT_TOOLBOX_OBJECT_CONVERT(RGBColor, QdRGB_Convert);
7127 #endif /* __LP64__ */
7129 m = Py_InitModule("_Qd", Qd_methods);
7130 #ifndef __LP64__
7131 d = PyModule_GetDict(m);
7132 Qd_Error = PyMac_GetOSErrException();
7133 if (Qd_Error == NULL ||
7134 PyDict_SetItemString(d, "Error", Qd_Error) != 0)
7135 return;
7136 GrafPort_Type.ob_type = &PyType_Type;
7137 if (PyType_Ready(&GrafPort_Type) < 0) return;
7138 Py_INCREF(&GrafPort_Type);
7139 PyModule_AddObject(m, "GrafPort", (PyObject *)&GrafPort_Type);
7140 /* Backward-compatible name */
7141 Py_INCREF(&GrafPort_Type);
7142 PyModule_AddObject(m, "GrafPortType", (PyObject *)&GrafPort_Type);
7143 BitMap_Type.ob_type = &PyType_Type;
7144 if (PyType_Ready(&BitMap_Type) < 0) return;
7145 Py_INCREF(&BitMap_Type);
7146 PyModule_AddObject(m, "BitMap", (PyObject *)&BitMap_Type);
7147 /* Backward-compatible name */
7148 Py_INCREF(&BitMap_Type);
7149 PyModule_AddObject(m, "BitMapType", (PyObject *)&BitMap_Type);
7150 #endif /* __LP64__ */
7153 /* ========================= End module _Qd ========================= */