1 2 /* =========================== Module _Qd =========================== */ 3 4 #include "Python.h" 5 6 #include <Carbon/Carbon.h> 7 8 #if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7) 9 10 #include "pymactoolbox.h" 11 12 /* Macro to test whether a weak-loaded CFM function exists */ 13 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ 14 PyErr_SetString(PyExc_NotImplementedError, \ 15 "Not available in this shared library/OS version"); \ 16 return NULL; \ 17 }} while(0) 18 19 20 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); 28 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 36 37 static PyObject *BMObj_NewCopied(BitMapPtr); 38 39 /* 40 ** Parse/generate RGB records 41 */ 42 PyObject *QdRGB_New(RGBColorPtr itself) 43 { 44 45 return Py_BuildValue("lll", (long)itself->red, (long)itself->green, (long)itself->blue); 46 } 47 48 int QdRGB_Convert(PyObject *v, RGBColorPtr p_itself) 49 { 50 long red, green, blue; 51 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; 58 } 59 60 /* 61 ** Generate FontInfo records 62 */ 63 static 64 PyObject *QdFI_New(FontInfo *itself) 65 { 66 67 return Py_BuildValue("hhhh", itself->ascent, itself->descent, 68 itself->widMax, itself->leading); 69 } 70 71 static PyObject *Qd_Error; 72 73 /* ---------------------- Object type GrafPort ---------------------- */ 74 75 PyTypeObject GrafPort_Type; 76 77 #define GrafObj_Check(x) ((x)->ob_type == &GrafPort_Type || PyObject_TypeCheck((x), &GrafPort_Type)) 78 79 typedef struct GrafPortObject { 80 PyObject_HEAD 81 GrafPtr ob_itself; 82 } GrafPortObject; 83 84 PyObject *GrafObj_New(GrafPtr itself) 85 { 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; 92 } 93 94 int GrafObj_Convert(PyObject *v, GrafPtr *p_itself) 95 { 96 #if 1 97 { 98 WindowRef win; 99 if (WinObj_Convert(v, &win) && v) { 100 *p_itself = (GrafPtr)GetWindowPort(win); 101 return 1; 102 } 103 PyErr_Clear(); 104 } 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; 110 } 111 if (WinObj_Check(v)) { 112 WindowRef win = (WindowRef)((GrafPortObject *)v)->ob_itself; 113 *p_itself = (GrafPtr)GetWindowPort(win); 114 return 1; 115 } 116 #endif 117 if (!GrafObj_Check(v)) 118 { 119 PyErr_SetString(PyExc_TypeError, "GrafPort required"); 120 return 0; 121 } 122 *p_itself = ((GrafPortObject *)v)->ob_itself; 123 return 1; 124 } 125 126 static void GrafObj_dealloc(GrafPortObject *self) 127 { 128 /* Cleanup of self->ob_itself goes here */ 129 self->ob_type->tp_free((PyObject *)self); 130 } 131 132 static PyObject *GrafObj_MacSetPort(GrafPortObject *_self, PyObject *_args) 133 { 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; 144 } 145 146 static PyObject *GrafObj_QDSwapPort(GrafPortObject *_self, PyObject *_args) 147 { 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; 162 } 163 164 static PyObject *GrafObj_IsValidPort(GrafPortObject *_self, PyObject *_args) 165 { 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; 177 } 178 179 static PyObject *GrafObj_GetPortPixMap(GrafPortObject *_self, PyObject *_args) 180 { 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; 192 } 193 194 static PyObject *GrafObj_GetPortBitMapForCopyBits(GrafPortObject *_self, PyObject *_args) 195 { 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; 207 } 208 209 static PyObject *GrafObj_GetPortBounds(GrafPortObject *_self, PyObject *_args) 210 { 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; 223 } 224 225 static PyObject *GrafObj_GetPortForeColor(GrafPortObject *_self, PyObject *_args) 226 { 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; 239 } 240 241 static PyObject *GrafObj_GetPortBackColor(GrafPortObject *_self, PyObject *_args) 242 { 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; 255 } 256 257 static PyObject *GrafObj_GetPortOpColor(GrafPortObject *_self, PyObject *_args) 258 { 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; 271 } 272 273 static PyObject *GrafObj_GetPortHiliteColor(GrafPortObject *_self, PyObject *_args) 274 { 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; 287 } 288 289 static PyObject *GrafObj_GetPortTextFont(GrafPortObject *_self, PyObject *_args) 290 { 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; 302 } 303 304 static PyObject *GrafObj_GetPortTextFace(GrafPortObject *_self, PyObject *_args) 305 { 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; 317 } 318 319 static PyObject *GrafObj_GetPortTextMode(GrafPortObject *_self, PyObject *_args) 320 { 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; 332 } 333 334 static PyObject *GrafObj_GetPortTextSize(GrafPortObject *_self, PyObject *_args) 335 { 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; 347 } 348 349 static PyObject *GrafObj_GetPortChExtra(GrafPortObject *_self, PyObject *_args) 350 { 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; 362 } 363 364 static PyObject *GrafObj_GetPortFracHPenLocation(GrafPortObject *_self, PyObject *_args) 365 { 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; 377 } 378 379 static PyObject *GrafObj_GetPortSpExtra(GrafPortObject *_self, PyObject *_args) 380 { 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; 392 } 393 394 static PyObject *GrafObj_GetPortPenVisibility(GrafPortObject *_self, PyObject *_args) 395 { 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; 407 } 408 409 static PyObject *GrafObj_GetPortVisibleRegion(GrafPortObject *_self, PyObject *_args) 410 { 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; 425 } 426 427 static PyObject *GrafObj_GetPortClipRegion(GrafPortObject *_self, PyObject *_args) 428 { 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; 443 } 444 445 static PyObject *GrafObj_GetPortBackPixPat(GrafPortObject *_self, PyObject *_args) 446 { 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; 461 } 462 463 static PyObject *GrafObj_GetPortPenPixPat(GrafPortObject *_self, PyObject *_args) 464 { 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; 479 } 480 481 static PyObject *GrafObj_GetPortFillPixPat(GrafPortObject *_self, PyObject *_args) 482 { 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; 497 } 498 499 static PyObject *GrafObj_GetPortPenSize(GrafPortObject *_self, PyObject *_args) 500 { 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; 514 } 515 516 static PyObject *GrafObj_GetPortPenMode(GrafPortObject *_self, PyObject *_args) 517 { 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; 529 } 530 531 static PyObject *GrafObj_GetPortPenLocation(GrafPortObject *_self, PyObject *_args) 532 { 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; 546 } 547 548 static PyObject *GrafObj_IsPortRegionBeingDefined(GrafPortObject *_self, PyObject *_args) 549 { 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; 561 } 562 563 static PyObject *GrafObj_IsPortPictureBeingDefined(GrafPortObject *_self, PyObject *_args) 564 { 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; 576 } 577 578 static PyObject *GrafObj_IsPortPolyBeingDefined(GrafPortObject *_self, PyObject *_args) 579 { 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; 591 } 592 593 static PyObject *GrafObj_IsPortOffscreen(GrafPortObject *_self, PyObject *_args) 594 { 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; 606 } 607 608 static PyObject *GrafObj_IsPortColor(GrafPortObject *_self, PyObject *_args) 609 { 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; 621 } 622 623 static PyObject *GrafObj_IsPortVisibleRegionEmpty(GrafPortObject *_self, PyObject *_args) 624 { 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; 636 } 637 638 static PyObject *GrafObj_IsPortClipRegionEmpty(GrafPortObject *_self, PyObject *_args) 639 { 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; 651 } 652 653 static PyObject *GrafObj_SectRegionWithPortClipRegion(GrafPortObject *_self, PyObject *_args) 654 { 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; 668 } 669 670 static PyObject *GrafObj_SectRegionWithPortVisibleRegion(GrafPortObject *_self, PyObject *_args) 671 { 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; 685 } 686 687 static PyObject *GrafObj_SwapPortPicSaveHandle(GrafPortObject *_self, PyObject *_args) 688 { 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; 703 } 704 705 static PyObject *GrafObj_SwapPortPolySaveHandle(GrafPortObject *_self, PyObject *_args) 706 { 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; 721 } 722 723 static PyObject *GrafObj_SwapPortRegionSaveHandle(GrafPortObject *_self, PyObject *_args) 724 { 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; 739 } 740 741 static PyObject *GrafObj_SetPortBounds(GrafPortObject *_self, PyObject *_args) 742 { 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; 756 } 757 758 static PyObject *GrafObj_SetPortOpColor(GrafPortObject *_self, PyObject *_args) 759 { 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; 773 } 774 775 static PyObject *GrafObj_SetPortTextFont(GrafPortObject *_self, PyObject *_args) 776 { 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; 790 } 791 792 static PyObject *GrafObj_SetPortTextSize(GrafPortObject *_self, PyObject *_args) 793 { 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; 807 } 808 809 static PyObject *GrafObj_SetPortTextFace(GrafPortObject *_self, PyObject *_args) 810 { 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; 824 } 825 826 static PyObject *GrafObj_SetPortTextMode(GrafPortObject *_self, PyObject *_args) 827 { 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; 841 } 842 843 static PyObject *GrafObj_SetPortVisibleRegion(GrafPortObject *_self, PyObject *_args) 844 { 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; 858 } 859 860 static PyObject *GrafObj_SetPortClipRegion(GrafPortObject *_self, PyObject *_args) 861 { 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; 875 } 876 877 static PyObject *GrafObj_SetPortPenPixPat(GrafPortObject *_self, PyObject *_args) 878 { 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; 892 } 893 894 static PyObject *GrafObj_SetPortFillPixPat(GrafPortObject *_self, PyObject *_args) 895 { 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; 909 } 910 911 static PyObject *GrafObj_SetPortBackPixPat(GrafPortObject *_self, PyObject *_args) 912 { 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; 926 } 927 928 static PyObject *GrafObj_SetPortPenSize(GrafPortObject *_self, PyObject *_args) 929 { 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; 943 } 944 945 static PyObject *GrafObj_SetPortPenMode(GrafPortObject *_self, PyObject *_args) 946 { 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; 960 } 961 962 static PyObject *GrafObj_SetPortFracHPenLocation(GrafPortObject *_self, PyObject *_args) 963 { 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; 977 } 978 979 static PyObject *GrafObj_DisposePort(GrafPortObject *_self, PyObject *_args) 980 { 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; 991 } 992 993 static PyObject *GrafObj_QDLocalToGlobalPoint(GrafPortObject *_self, PyObject *_args) 994 { 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; 1008 } 1009 1010 static PyObject *GrafObj_QDGlobalToLocalPoint(GrafPortObject *_self, PyObject *_args) 1011 { 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; 1025 } 1026 1027 static PyObject *GrafObj_QDLocalToGlobalRect(GrafPortObject *_self, PyObject *_args) 1028 { 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; 1041 } 1042 1043 static PyObject *GrafObj_QDGlobalToLocalRect(GrafPortObject *_self, PyObject *_args) 1044 { 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; 1057 } 1058 1059 static PyObject *GrafObj_QDLocalToGlobalRegion(GrafPortObject *_self, PyObject *_args) 1060 { 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, ®ion)) 1069 return NULL; 1070 _rv = QDLocalToGlobalRegion(_self->ob_itself, 1071 region); 1072 _res = Py_BuildValue("O&", 1073 ResObj_New, _rv); 1074 return _res; 1075 } 1076 1077 static PyObject *GrafObj_QDGlobalToLocalRegion(GrafPortObject *_self, PyObject *_args) 1078 { 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, ®ion)) 1087 return NULL; 1088 _rv = QDGlobalToLocalRegion(_self->ob_itself, 1089 region); 1090 _res = Py_BuildValue("O&", 1091 ResObj_New, _rv); 1092 return _res; 1093 } 1094 1095 static PyObject *GrafObj_QDIsPortBuffered(GrafPortObject *_self, PyObject *_args) 1096 { 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; 1108 } 1109 1110 static PyObject *GrafObj_QDIsPortBufferDirty(GrafPortObject *_self, PyObject *_args) 1111 { 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; 1123 } 1124 1125 static PyObject *GrafObj_QDFlushPortBuffer(GrafPortObject *_self, PyObject *_args) 1126 { 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, ®ion)) 1134 return NULL; 1135 QDFlushPortBuffer(_self->ob_itself, 1136 region); 1137 Py_INCREF(Py_None); 1138 _res = Py_None; 1139 return _res; 1140 } 1141 1142 static PyObject *GrafObj_QDGetDirtyRegion(GrafPortObject *_self, PyObject *_args) 1143 { 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; 1159 } 1160 1161 static PyObject *GrafObj_QDSetDirtyRegion(GrafPortObject *_self, PyObject *_args) 1162 { 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; 1178 } 1179 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} 1310 }; 1311 1312 static PyObject *GrafObj_get_visRgn(GrafPortObject *self, void *closure) 1313 { 1314 RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */ 1315 return Py_BuildValue("O&", ResObj_New, (Handle)GetPortVisibleRegion(self->ob_itself, h)); 1316 1317 } 1318 1319 #define GrafObj_set_visRgn NULL 1320 1321 static PyObject *GrafObj_get_clipRgn(GrafPortObject *self, void *closure) 1322 { 1323 RgnHandle h=NewRgn(); /* XXXX wrong dispose routine */ 1324 return Py_BuildValue("O&", ResObj_New, (Handle)GetPortClipRegion(self->ob_itself, h)); 1325 1326 } 1327 1328 #define GrafObj_set_clipRgn NULL 1329 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}, 1334 }; 1335 1336 1337 #define GrafObj_compare NULL 1338 1339 #define GrafObj_repr NULL 1340 1341 #define GrafObj_hash NULL 1342 #define GrafObj_tp_init 0 1343 1344 #define GrafObj_tp_alloc PyType_GenericAlloc 1345 1346 static PyObject *GrafObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds) 1347 { 1348 PyObject *_self; 1349 GrafPtr itself; 1350 char *kw[] = {"itself", 0}; 1351 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; 1356 } 1357 1358 #define GrafObj_tp_free PyObject_Del 1359 1360 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 */ 1403 }; 1404 1405 /* -------------------- End object type GrafPort -------------------- */ 1406 1407 1408 /* ----------------------- Object type BitMap ----------------------- */ 1409 1410 PyTypeObject BitMap_Type; 1411 1412 #define BMObj_Check(x) ((x)->ob_type == &BitMap_Type || PyObject_TypeCheck((x), &BitMap_Type)) 1413 1414 typedef struct BitMapObject { 1415 PyObject_HEAD 1416 BitMapPtr ob_itself; 1417 PyObject *referred_object; 1418 BitMap *referred_bitmap; 1419 } BitMapObject; 1420 1421 PyObject *BMObj_New(BitMapPtr itself) 1422 { 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; 1431 } 1432 1433 int BMObj_Convert(PyObject *v, BitMapPtr *p_itself) 1434 { 1435 if (!BMObj_Check(v)) 1436 { 1437 PyErr_SetString(PyExc_TypeError, "BitMap required"); 1438 return 0; 1439 } 1440 *p_itself = ((BitMapObject *)v)->ob_itself; 1441 return 1; 1442 } 1443 1444 static void BMObj_dealloc(BitMapObject *self) 1445 { 1446 Py_XDECREF(self->referred_object); 1447 if (self->referred_bitmap) free(self->referred_bitmap); 1448 self->ob_type->tp_free((PyObject *)self); 1449 } 1450 1451 static PyObject *BMObj_getdata(BitMapObject *_self, PyObject *_args) 1452 { 1453 PyObject *_res = NULL; 1454 1455 int from, length; 1456 char *cp; 1457 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; 1463 1464 } 1465 1466 static PyObject *BMObj_putdata(BitMapObject *_self, PyObject *_args) 1467 { 1468 PyObject *_res = NULL; 1469 1470 int from, length; 1471 char *cp, *icp; 1472 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; 1480 1481 } 1482 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} 1489 }; 1490 1491 static PyObject *BMObj_get_baseAddr(BitMapObject *self, void *closure) 1492 { 1493 return PyInt_FromLong((long)self->ob_itself->baseAddr); 1494 } 1495 1496 #define BMObj_set_baseAddr NULL 1497 1498 static PyObject *BMObj_get_rowBytes(BitMapObject *self, void *closure) 1499 { 1500 return PyInt_FromLong((long)self->ob_itself->rowBytes); 1501 } 1502 1503 #define BMObj_set_rowBytes NULL 1504 1505 static PyObject *BMObj_get_bounds(BitMapObject *self, void *closure) 1506 { 1507 return Py_BuildValue("O&", PyMac_BuildRect, &self->ob_itself->bounds); 1508 } 1509 1510 #define BMObj_set_bounds NULL 1511 1512 static PyObject *BMObj_get_bitmap_data(BitMapObject *self, void *closure) 1513 { 1514 return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(BitMap)); 1515 } 1516 1517 #define BMObj_set_bitmap_data NULL 1518 1519 static PyObject *BMObj_get_pixmap_data(BitMapObject *self, void *closure) 1520 { 1521 return PyString_FromStringAndSize((char *)self->ob_itself, sizeof(PixMap)); 1522 } 1523 1524 #define BMObj_set_pixmap_data NULL 1525 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}, 1533 }; 1534 1535 1536 #define BMObj_compare NULL 1537 1538 #define BMObj_repr NULL 1539 1540 #define BMObj_hash NULL 1541 #define BMObj_tp_init 0 1542 1543 #define BMObj_tp_alloc PyType_GenericAlloc 1544 1545 static PyObject *BMObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds) 1546 { 1547 PyObject *_self; 1548 BitMapPtr itself; 1549 char *kw[] = {"itself", 0}; 1550 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; 1555 } 1556 1557 #define BMObj_tp_free PyObject_Del 1558 1559 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 */ 1602 }; 1603 1604 /* --------------------- End object type BitMap --------------------- */ 1605 1606 1607 static PyObject *Qd_GetPort(PyObject *_self, PyObject *_args) 1608 { 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; 1620 } 1621 1622 static PyObject *Qd_GrafDevice(PyObject *_self, PyObject *_args) 1623 { 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; 1636 } 1637 1638 static PyObject *Qd_SetPortBits(PyObject *_self, PyObject *_args) 1639 { 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; 1652 } 1653 1654 static PyObject *Qd_PortSize(PyObject *_self, PyObject *_args) 1655 { 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; 1671 } 1672 1673 static PyObject *Qd_MovePortTo(PyObject *_self, PyObject *_args) 1674 { 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; 1690 } 1691 1692 static PyObject *Qd_SetOrigin(PyObject *_self, PyObject *_args) 1693 { 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", 1701 &h, 1702 &v)) 1703 return NULL; 1704 SetOrigin(h, 1705 v); 1706 Py_INCREF(Py_None); 1707 _res = Py_None; 1708 return _res; 1709 } 1710 1711 static PyObject *Qd_SetClip(PyObject *_self, PyObject *_args) 1712 { 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; 1725 } 1726 1727 static PyObject *Qd_GetClip(PyObject *_self, PyObject *_args) 1728 { 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; 1741 } 1742 1743 static PyObject *Qd_ClipRect(PyObject *_self, PyObject *_args) 1744 { 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; 1757 } 1758 1759 static PyObject *Qd_BackPat(PyObject *_self, PyObject *_args) 1760 { 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)) 1771 { 1772 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 1773 goto pat__error__; 1774 } 1775 BackPat(pat__in__); 1776 Py_INCREF(Py_None); 1777 _res = Py_None; 1778 pat__error__: ; 1779 return _res; 1780 } 1781 1782 static PyObject *Qd_InitCursor(PyObject *_self, PyObject *_args) 1783 { 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; 1794 } 1795 1796 static PyObject *Qd_MacSetCursor(PyObject *_self, PyObject *_args) 1797 { 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)) 1808 { 1809 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)"); 1810 goto crsr__error__; 1811 } 1812 MacSetCursor(crsr__in__); 1813 Py_INCREF(Py_None); 1814 _res = Py_None; 1815 crsr__error__: ; 1816 return _res; 1817 } 1818 1819 static PyObject *Qd_HideCursor(PyObject *_self, PyObject *_args) 1820 { 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; 1831 } 1832 1833 static PyObject *Qd_MacShowCursor(PyObject *_self, PyObject *_args) 1834 { 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; 1845 } 1846 1847 static PyObject *Qd_ObscureCursor(PyObject *_self, PyObject *_args) 1848 { 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; 1859 } 1860 1861 static PyObject *Qd_HidePen(PyObject *_self, PyObject *_args) 1862 { 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; 1873 } 1874 1875 static PyObject *Qd_ShowPen(PyObject *_self, PyObject *_args) 1876 { 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; 1887 } 1888 1889 static PyObject *Qd_GetPen(PyObject *_self, PyObject *_args) 1890 { 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; 1902 } 1903 1904 static PyObject *Qd_GetPenState(PyObject *_self, PyObject *_args) 1905 { 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; 1917 } 1918 1919 static PyObject *Qd_SetPenState(PyObject *_self, PyObject *_args) 1920 { 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)) 1931 { 1932 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(PenState)"); 1933 goto pnState__error__; 1934 } 1935 SetPenState(pnState__in__); 1936 Py_INCREF(Py_None); 1937 _res = Py_None; 1938 pnState__error__: ; 1939 return _res; 1940 } 1941 1942 static PyObject *Qd_PenSize(PyObject *_self, PyObject *_args) 1943 { 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; 1959 } 1960 1961 static PyObject *Qd_PenMode(PyObject *_self, PyObject *_args) 1962 { 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; 1975 } 1976 1977 static PyObject *Qd_PenPat(PyObject *_self, PyObject *_args) 1978 { 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)) 1989 { 1990 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 1991 goto pat__error__; 1992 } 1993 PenPat(pat__in__); 1994 Py_INCREF(Py_None); 1995 _res = Py_None; 1996 pat__error__: ; 1997 return _res; 1998 } 1999 2000 static PyObject *Qd_PenNormal(PyObject *_self, PyObject *_args) 2001 { 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; 2012 } 2013 2014 static PyObject *Qd_MoveTo(PyObject *_self, PyObject *_args) 2015 { 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", 2023 &h, 2024 &v)) 2025 return NULL; 2026 MoveTo(h, 2027 v); 2028 Py_INCREF(Py_None); 2029 _res = Py_None; 2030 return _res; 2031 } 2032 2033 static PyObject *Qd_Move(PyObject *_self, PyObject *_args) 2034 { 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; 2050 } 2051 2052 static PyObject *Qd_MacLineTo(PyObject *_self, PyObject *_args) 2053 { 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", 2061 &h, 2062 &v)) 2063 return NULL; 2064 MacLineTo(h, 2065 v); 2066 Py_INCREF(Py_None); 2067 _res = Py_None; 2068 return _res; 2069 } 2070 2071 static PyObject *Qd_Line(PyObject *_self, PyObject *_args) 2072 { 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; 2088 } 2089 2090 static PyObject *Qd_ForeColor(PyObject *_self, PyObject *_args) 2091 { 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; 2104 } 2105 2106 static PyObject *Qd_BackColor(PyObject *_self, PyObject *_args) 2107 { 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; 2120 } 2121 2122 static PyObject *Qd_ColorBit(PyObject *_self, PyObject *_args) 2123 { 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; 2136 } 2137 2138 static PyObject *Qd_MacSetRect(PyObject *_self, PyObject *_args) 2139 { 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; 2163 } 2164 2165 static PyObject *Qd_MacOffsetRect(PyObject *_self, PyObject *_args) 2166 { 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, 2180 dh, 2181 dv); 2182 _res = Py_BuildValue("O&", 2183 PyMac_BuildRect, &r); 2184 return _res; 2185 } 2186 2187 static PyObject *Qd_MacInsetRect(PyObject *_self, PyObject *_args) 2188 { 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, 2202 dh, 2203 dv); 2204 _res = Py_BuildValue("O&", 2205 PyMac_BuildRect, &r); 2206 return _res; 2207 } 2208 2209 static PyObject *Qd_SectRect(PyObject *_self, PyObject *_args) 2210 { 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; 2230 } 2231 2232 static PyObject *Qd_MacUnionRect(PyObject *_self, PyObject *_args) 2233 { 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; 2251 } 2252 2253 static PyObject *Qd_MacEqualRect(PyObject *_self, PyObject *_args) 2254 { 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; 2271 } 2272 2273 static PyObject *Qd_EmptyRect(PyObject *_self, PyObject *_args) 2274 { 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; 2288 } 2289 2290 static PyObject *Qd_MacFrameRect(PyObject *_self, PyObject *_args) 2291 { 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; 2304 } 2305 2306 static PyObject *Qd_PaintRect(PyObject *_self, PyObject *_args) 2307 { 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; 2320 } 2321 2322 static PyObject *Qd_EraseRect(PyObject *_self, PyObject *_args) 2323 { 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; 2336 } 2337 2338 static PyObject *Qd_MacInvertRect(PyObject *_self, PyObject *_args) 2339 { 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; 2352 } 2353 2354 static PyObject *Qd_MacFillRect(PyObject *_self, PyObject *_args) 2355 { 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)) 2368 { 2369 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 2370 goto pat__error__; 2371 } 2372 MacFillRect(&r, 2373 pat__in__); 2374 Py_INCREF(Py_None); 2375 _res = Py_None; 2376 pat__error__: ; 2377 return _res; 2378 } 2379 2380 static PyObject *Qd_FrameOval(PyObject *_self, PyObject *_args) 2381 { 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; 2394 } 2395 2396 static PyObject *Qd_PaintOval(PyObject *_self, PyObject *_args) 2397 { 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; 2410 } 2411 2412 static PyObject *Qd_EraseOval(PyObject *_self, PyObject *_args) 2413 { 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; 2426 } 2427 2428 static PyObject *Qd_InvertOval(PyObject *_self, PyObject *_args) 2429 { 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; 2442 } 2443 2444 static PyObject *Qd_FillOval(PyObject *_self, PyObject *_args) 2445 { 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)) 2458 { 2459 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 2460 goto pat__error__; 2461 } 2462 FillOval(&r, 2463 pat__in__); 2464 Py_INCREF(Py_None); 2465 _res = Py_None; 2466 pat__error__: ; 2467 return _res; 2468 } 2469 2470 static PyObject *Qd_FrameRoundRect(PyObject *_self, PyObject *_args) 2471 { 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; 2490 } 2491 2492 static PyObject *Qd_PaintRoundRect(PyObject *_self, PyObject *_args) 2493 { 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; 2512 } 2513 2514 static PyObject *Qd_EraseRoundRect(PyObject *_self, PyObject *_args) 2515 { 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; 2534 } 2535 2536 static PyObject *Qd_InvertRoundRect(PyObject *_self, PyObject *_args) 2537 { 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; 2556 } 2557 2558 static PyObject *Qd_FillRoundRect(PyObject *_self, PyObject *_args) 2559 { 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)) 2576 { 2577 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 2578 goto pat__error__; 2579 } 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; 2588 } 2589 2590 static PyObject *Qd_FrameArc(PyObject *_self, PyObject *_args) 2591 { 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; 2610 } 2611 2612 static PyObject *Qd_PaintArc(PyObject *_self, PyObject *_args) 2613 { 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; 2632 } 2633 2634 static PyObject *Qd_EraseArc(PyObject *_self, PyObject *_args) 2635 { 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; 2654 } 2655 2656 static PyObject *Qd_InvertArc(PyObject *_self, PyObject *_args) 2657 { 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; 2676 } 2677 2678 static PyObject *Qd_FillArc(PyObject *_self, PyObject *_args) 2679 { 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)) 2696 { 2697 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 2698 goto pat__error__; 2699 } 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; 2708 } 2709 2710 static PyObject *Qd_NewRgn(PyObject *_self, PyObject *_args) 2711 { 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; 2723 } 2724 2725 static PyObject *Qd_OpenRgn(PyObject *_self, PyObject *_args) 2726 { 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; 2737 } 2738 2739 static PyObject *Qd_CloseRgn(PyObject *_self, PyObject *_args) 2740 { 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; 2753 } 2754 2755 static PyObject *Qd_BitMapToRegion(PyObject *_self, PyObject *_args) 2756 { 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, ®ion, 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; 2774 } 2775 2776 static PyObject *Qd_RgnToHandle(PyObject *_self, PyObject *_args) 2777 { 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, ®ion, 2786 ResObj_Convert, &flattenedRgnDataHdl)) 2787 return NULL; 2788 RgnToHandle(region, 2789 flattenedRgnDataHdl); 2790 Py_INCREF(Py_None); 2791 _res = Py_None; 2792 return _res; 2793 } 2794 2795 static PyObject *Qd_DisposeRgn(PyObject *_self, PyObject *_args) 2796 { 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; 2809 } 2810 2811 static PyObject *Qd_MacCopyRgn(PyObject *_self, PyObject *_args) 2812 { 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; 2828 } 2829 2830 static PyObject *Qd_SetEmptyRgn(PyObject *_self, PyObject *_args) 2831 { 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; 2844 } 2845 2846 static PyObject *Qd_MacSetRectRgn(PyObject *_self, PyObject *_args) 2847 { 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; 2872 } 2873 2874 static PyObject *Qd_RectRgn(PyObject *_self, PyObject *_args) 2875 { 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; 2891 } 2892 2893 static PyObject *Qd_MacOffsetRgn(PyObject *_self, PyObject *_args) 2894 { 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, 2908 dh, 2909 dv); 2910 Py_INCREF(Py_None); 2911 _res = Py_None; 2912 return _res; 2913 } 2914 2915 static PyObject *Qd_InsetRgn(PyObject *_self, PyObject *_args) 2916 { 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, 2930 dh, 2931 dv); 2932 Py_INCREF(Py_None); 2933 _res = Py_None; 2934 return _res; 2935 } 2936 2937 static PyObject *Qd_SectRgn(PyObject *_self, PyObject *_args) 2938 { 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; 2957 } 2958 2959 static PyObject *Qd_MacUnionRgn(PyObject *_self, PyObject *_args) 2960 { 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; 2979 } 2980 2981 static PyObject *Qd_DiffRgn(PyObject *_self, PyObject *_args) 2982 { 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; 3001 } 3002 3003 static PyObject *Qd_MacXorRgn(PyObject *_self, PyObject *_args) 3004 { 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; 3023 } 3024 3025 static PyObject *Qd_RectInRgn(PyObject *_self, PyObject *_args) 3026 { 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; 3043 } 3044 3045 static PyObject *Qd_MacEqualRgn(PyObject *_self, PyObject *_args) 3046 { 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; 3063 } 3064 3065 static PyObject *Qd_EmptyRgn(PyObject *_self, PyObject *_args) 3066 { 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; 3080 } 3081 3082 static PyObject *Qd_MacFrameRgn(PyObject *_self, PyObject *_args) 3083 { 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; 3096 } 3097 3098 static PyObject *Qd_MacPaintRgn(PyObject *_self, PyObject *_args) 3099 { 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; 3112 } 3113 3114 static PyObject *Qd_EraseRgn(PyObject *_self, PyObject *_args) 3115 { 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; 3128 } 3129 3130 static PyObject *Qd_MacInvertRgn(PyObject *_self, PyObject *_args) 3131 { 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; 3144 } 3145 3146 static PyObject *Qd_MacFillRgn(PyObject *_self, PyObject *_args) 3147 { 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)) 3160 { 3161 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 3162 goto pat__error__; 3163 } 3164 MacFillRgn(rgn, 3165 pat__in__); 3166 Py_INCREF(Py_None); 3167 _res = Py_None; 3168 pat__error__: ; 3169 return _res; 3170 } 3171 3172 static PyObject *Qd_ScrollRect(PyObject *_self, PyObject *_args) 3173 { 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, 3189 dh, 3190 dv, 3191 updateRgn); 3192 Py_INCREF(Py_None); 3193 _res = Py_None; 3194 return _res; 3195 } 3196 3197 static PyObject *Qd_CopyBits(PyObject *_self, PyObject *_args) 3198 { 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; 3226 } 3227 3228 static PyObject *Qd_CopyMask(PyObject *_self, PyObject *_args) 3229 { 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; 3257 } 3258 3259 static PyObject *Qd_OpenPicture(PyObject *_self, PyObject *_args) 3260 { 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; 3274 } 3275 3276 static PyObject *Qd_PicComment(PyObject *_self, PyObject *_args) 3277 { 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; 3296 } 3297 3298 static PyObject *Qd_ClosePicture(PyObject *_self, PyObject *_args) 3299 { 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; 3310 } 3311 3312 static PyObject *Qd_DrawPicture(PyObject *_self, PyObject *_args) 3313 { 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; 3329 } 3330 3331 static PyObject *Qd_KillPicture(PyObject *_self, PyObject *_args) 3332 { 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; 3345 } 3346 3347 static PyObject *Qd_OpenPoly(PyObject *_self, PyObject *_args) 3348 { 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; 3360 } 3361 3362 static PyObject *Qd_ClosePoly(PyObject *_self, PyObject *_args) 3363 { 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; 3374 } 3375 3376 static PyObject *Qd_KillPoly(PyObject *_self, PyObject *_args) 3377 { 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; 3390 } 3391 3392 static PyObject *Qd_OffsetPoly(PyObject *_self, PyObject *_args) 3393 { 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, 3407 dh, 3408 dv); 3409 Py_INCREF(Py_None); 3410 _res = Py_None; 3411 return _res; 3412 } 3413 3414 static PyObject *Qd_FramePoly(PyObject *_self, PyObject *_args) 3415 { 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; 3428 } 3429 3430 static PyObject *Qd_PaintPoly(PyObject *_self, PyObject *_args) 3431 { 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; 3444 } 3445 3446 static PyObject *Qd_ErasePoly(PyObject *_self, PyObject *_args) 3447 { 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; 3460 } 3461 3462 static PyObject *Qd_InvertPoly(PyObject *_self, PyObject *_args) 3463 { 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; 3476 } 3477 3478 static PyObject *Qd_FillPoly(PyObject *_self, PyObject *_args) 3479 { 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)) 3492 { 3493 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 3494 goto pat__error__; 3495 } 3496 FillPoly(poly, 3497 pat__in__); 3498 Py_INCREF(Py_None); 3499 _res = Py_None; 3500 pat__error__: ; 3501 return _res; 3502 } 3503 3504 static PyObject *Qd_SetPt(PyObject *_self, PyObject *_args) 3505 { 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", 3514 &h, 3515 &v)) 3516 return NULL; 3517 SetPt(&pt, 3518 h, 3519 v); 3520 _res = Py_BuildValue("O&", 3521 PyMac_BuildPoint, pt); 3522 return _res; 3523 } 3524 3525 static PyObject *Qd_LocalToGlobal(PyObject *_self, PyObject *_args) 3526 { 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; 3539 } 3540 3541 static PyObject *Qd_GlobalToLocal(PyObject *_self, PyObject *_args) 3542 { 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; 3555 } 3556 3557 static PyObject *Qd_Random(PyObject *_self, PyObject *_args) 3558 { 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; 3570 } 3571 3572 static PyObject *Qd_MacGetPixel(PyObject *_self, PyObject *_args) 3573 { 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", 3582 &h, 3583 &v)) 3584 return NULL; 3585 _rv = MacGetPixel(h, 3586 v); 3587 _res = Py_BuildValue("b", 3588 _rv); 3589 return _res; 3590 } 3591 3592 static PyObject *Qd_ScalePt(PyObject *_self, PyObject *_args) 3593 { 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; 3612 } 3613 3614 static PyObject *Qd_MapPt(PyObject *_self, PyObject *_args) 3615 { 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; 3634 } 3635 3636 static PyObject *Qd_MapRect(PyObject *_self, PyObject *_args) 3637 { 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; 3656 } 3657 3658 static PyObject *Qd_MapRgn(PyObject *_self, PyObject *_args) 3659 { 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; 3678 } 3679 3680 static PyObject *Qd_MapPoly(PyObject *_self, PyObject *_args) 3681 { 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; 3700 } 3701 3702 static PyObject *Qd_StdBits(PyObject *_self, PyObject *_args) 3703 { 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; 3728 } 3729 3730 static PyObject *Qd_AddPt(PyObject *_self, PyObject *_args) 3731 { 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; 3747 } 3748 3749 static PyObject *Qd_EqualPt(PyObject *_self, PyObject *_args) 3750 { 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; 3767 } 3768 3769 static PyObject *Qd_MacPtInRect(PyObject *_self, PyObject *_args) 3770 { 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; 3787 } 3788 3789 static PyObject *Qd_Pt2Rect(PyObject *_self, PyObject *_args) 3790 { 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; 3808 } 3809 3810 static PyObject *Qd_PtToAngle(PyObject *_self, PyObject *_args) 3811 { 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, 3824 pt, 3825 &angle); 3826 _res = Py_BuildValue("h", 3827 angle); 3828 return _res; 3829 } 3830 3831 static PyObject *Qd_SubPt(PyObject *_self, PyObject *_args) 3832 { 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; 3848 } 3849 3850 static PyObject *Qd_PtInRgn(PyObject *_self, PyObject *_args) 3851 { 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; 3868 } 3869 3870 static PyObject *Qd_NewPixMap(PyObject *_self, PyObject *_args) 3871 { 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; 3883 } 3884 3885 static PyObject *Qd_DisposePixMap(PyObject *_self, PyObject *_args) 3886 { 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; 3899 } 3900 3901 static PyObject *Qd_CopyPixMap(PyObject *_self, PyObject *_args) 3902 { 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; 3918 } 3919 3920 static PyObject *Qd_NewPixPat(PyObject *_self, PyObject *_args) 3921 { 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; 3933 } 3934 3935 static PyObject *Qd_DisposePixPat(PyObject *_self, PyObject *_args) 3936 { 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; 3949 } 3950 3951 static PyObject *Qd_CopyPixPat(PyObject *_self, PyObject *_args) 3952 { 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; 3968 } 3969 3970 static PyObject *Qd_PenPixPat(PyObject *_self, PyObject *_args) 3971 { 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; 3984 } 3985 3986 static PyObject *Qd_BackPixPat(PyObject *_self, PyObject *_args) 3987 { 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; 4000 } 4001 4002 static PyObject *Qd_GetPixPat(PyObject *_self, PyObject *_args) 4003 { 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; 4017 } 4018 4019 static PyObject *Qd_MakeRGBPat(PyObject *_self, PyObject *_args) 4020 { 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; 4036 } 4037 4038 static PyObject *Qd_FillCRect(PyObject *_self, PyObject *_args) 4039 { 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; 4055 } 4056 4057 static PyObject *Qd_FillCOval(PyObject *_self, PyObject *_args) 4058 { 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; 4074 } 4075 4076 static PyObject *Qd_FillCRoundRect(PyObject *_self, PyObject *_args) 4077 { 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; 4099 } 4100 4101 static PyObject *Qd_FillCArc(PyObject *_self, PyObject *_args) 4102 { 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; 4124 } 4125 4126 static PyObject *Qd_FillCRgn(PyObject *_self, PyObject *_args) 4127 { 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; 4143 } 4144 4145 static PyObject *Qd_FillCPoly(PyObject *_self, PyObject *_args) 4146 { 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; 4162 } 4163 4164 static PyObject *Qd_RGBForeColor(PyObject *_self, PyObject *_args) 4165 { 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; 4178 } 4179 4180 static PyObject *Qd_RGBBackColor(PyObject *_self, PyObject *_args) 4181 { 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; 4194 } 4195 4196 static PyObject *Qd_SetCPixel(PyObject *_self, PyObject *_args) 4197 { 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&", 4206 &h, 4207 &v, 4208 QdRGB_Convert, &cPix)) 4209 return NULL; 4210 SetCPixel(h, 4211 v, 4212 &cPix); 4213 Py_INCREF(Py_None); 4214 _res = Py_None; 4215 return _res; 4216 } 4217 4218 static PyObject *Qd_SetPortPix(PyObject *_self, PyObject *_args) 4219 { 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; 4232 } 4233 4234 static PyObject *Qd_GetCPixel(PyObject *_self, PyObject *_args) 4235 { 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", 4244 &h, 4245 &v)) 4246 return NULL; 4247 GetCPixel(h, 4248 v, 4249 &cPix); 4250 _res = Py_BuildValue("O&", 4251 QdRGB_New, &cPix); 4252 return _res; 4253 } 4254 4255 static PyObject *Qd_GetForeColor(PyObject *_self, PyObject *_args) 4256 { 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; 4268 } 4269 4270 static PyObject *Qd_GetBackColor(PyObject *_self, PyObject *_args) 4271 { 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; 4283 } 4284 4285 static PyObject *Qd_OpColor(PyObject *_self, PyObject *_args) 4286 { 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; 4299 } 4300 4301 static PyObject *Qd_HiliteColor(PyObject *_self, PyObject *_args) 4302 { 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; 4315 } 4316 4317 static PyObject *Qd_DisposeCTable(PyObject *_self, PyObject *_args) 4318 { 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; 4331 } 4332 4333 static PyObject *Qd_GetCTable(PyObject *_self, PyObject *_args) 4334 { 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; 4348 } 4349 4350 static PyObject *Qd_GetCCursor(PyObject *_self, PyObject *_args) 4351 { 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; 4365 } 4366 4367 static PyObject *Qd_SetCCursor(PyObject *_self, PyObject *_args) 4368 { 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; 4381 } 4382 4383 static PyObject *Qd_AllocCursor(PyObject *_self, PyObject *_args) 4384 { 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; 4395 } 4396 4397 static PyObject *Qd_DisposeCCursor(PyObject *_self, PyObject *_args) 4398 { 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; 4411 } 4412 4413 static PyObject *Qd_GetMaxDevice(PyObject *_self, PyObject *_args) 4414 { 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; 4428 } 4429 4430 static PyObject *Qd_GetCTSeed(PyObject *_self, PyObject *_args) 4431 { 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; 4443 } 4444 4445 static PyObject *Qd_GetDeviceList(PyObject *_self, PyObject *_args) 4446 { 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; 4458 } 4459 4460 static PyObject *Qd_GetMainDevice(PyObject *_self, PyObject *_args) 4461 { 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; 4473 } 4474 4475 static PyObject *Qd_GetNextDevice(PyObject *_self, PyObject *_args) 4476 { 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; 4490 } 4491 4492 static PyObject *Qd_TestDeviceAttribute(PyObject *_self, PyObject *_args) 4493 { 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; 4510 } 4511 4512 static PyObject *Qd_SetDeviceAttribute(PyObject *_self, PyObject *_args) 4513 { 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; 4532 } 4533 4534 static PyObject *Qd_InitGDevice(PyObject *_self, PyObject *_args) 4535 { 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; 4554 } 4555 4556 static PyObject *Qd_NewGDevice(PyObject *_self, PyObject *_args) 4557 { 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; 4574 } 4575 4576 static PyObject *Qd_DisposeGDevice(PyObject *_self, PyObject *_args) 4577 { 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; 4590 } 4591 4592 static PyObject *Qd_SetGDevice(PyObject *_self, PyObject *_args) 4593 { 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; 4606 } 4607 4608 static PyObject *Qd_GetGDevice(PyObject *_self, PyObject *_args) 4609 { 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; 4621 } 4622 4623 static PyObject *Qd_Color2Index(PyObject *_self, PyObject *_args) 4624 { 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; 4638 } 4639 4640 static PyObject *Qd_Index2Color(PyObject *_self, PyObject *_args) 4641 { 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; 4656 } 4657 4658 static PyObject *Qd_InvertColor(PyObject *_self, PyObject *_args) 4659 { 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; 4671 } 4672 4673 static PyObject *Qd_RealColor(PyObject *_self, PyObject *_args) 4674 { 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; 4688 } 4689 4690 static PyObject *Qd_GetSubTable(PyObject *_self, PyObject *_args) 4691 { 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; 4710 } 4711 4712 static PyObject *Qd_MakeITable(PyObject *_self, PyObject *_args) 4713 { 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; 4732 } 4733 4734 static PyObject *Qd_SetClientID(PyObject *_self, PyObject *_args) 4735 { 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; 4748 } 4749 4750 static PyObject *Qd_ProtectEntry(PyObject *_self, PyObject *_args) 4751 { 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; 4767 } 4768 4769 static PyObject *Qd_ReserveEntry(PyObject *_self, PyObject *_args) 4770 { 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; 4786 } 4787 4788 static PyObject *Qd_QDError(PyObject *_self, PyObject *_args) 4789 { 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; 4801 } 4802 4803 static PyObject *Qd_CopyDeepMask(PyObject *_self, PyObject *_args) 4804 { 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; 4838 } 4839 4840 static PyObject *Qd_GetPattern(PyObject *_self, PyObject *_args) 4841 { 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; 4855 } 4856 4857 static PyObject *Qd_MacGetCursor(PyObject *_self, PyObject *_args) 4858 { 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; 4872 } 4873 4874 static PyObject *Qd_GetPicture(PyObject *_self, PyObject *_args) 4875 { 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; 4889 } 4890 4891 static PyObject *Qd_DeltaPoint(PyObject *_self, PyObject *_args) 4892 { 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; 4909 } 4910 4911 static PyObject *Qd_ShieldCursor(PyObject *_self, PyObject *_args) 4912 { 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; 4928 } 4929 4930 static PyObject *Qd_ScreenRes(PyObject *_self, PyObject *_args) 4931 { 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; 4946 } 4947 4948 static PyObject *Qd_GetIndPattern(PyObject *_self, PyObject *_args) 4949 { 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; 4967 } 4968 4969 static PyObject *Qd_SlopeFromAngle(PyObject *_self, PyObject *_args) 4970 { 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; 4984 } 4985 4986 static PyObject *Qd_AngleFromSlope(PyObject *_self, PyObject *_args) 4987 { 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; 5001 } 5002 5003 static PyObject *Qd_GetPixBounds(PyObject *_self, PyObject *_args) 5004 { 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; 5019 } 5020 5021 static PyObject *Qd_GetPixDepth(PyObject *_self, PyObject *_args) 5022 { 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; 5036 } 5037 5038 static PyObject *Qd_GetQDGlobalsRandomSeed(PyObject *_self, PyObject *_args) 5039 { 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; 5051 } 5052 5053 static PyObject *Qd_GetQDGlobalsScreenBits(PyObject *_self, PyObject *_args) 5054 { 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; 5066 } 5067 5068 static PyObject *Qd_GetQDGlobalsArrow(PyObject *_self, PyObject *_args) 5069 { 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; 5081 } 5082 5083 static PyObject *Qd_GetQDGlobalsDarkGray(PyObject *_self, PyObject *_args) 5084 { 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; 5096 } 5097 5098 static PyObject *Qd_GetQDGlobalsLightGray(PyObject *_self, PyObject *_args) 5099 { 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(<Gray__out__); 5108 _res = Py_BuildValue("s#", 5109 (char *)<Gray__out__, (int)sizeof(Pattern)); 5110 return _res; 5111 } 5112 5113 static PyObject *Qd_GetQDGlobalsGray(PyObject *_self, PyObject *_args) 5114 { 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; 5126 } 5127 5128 static PyObject *Qd_GetQDGlobalsBlack(PyObject *_self, PyObject *_args) 5129 { 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; 5141 } 5142 5143 static PyObject *Qd_GetQDGlobalsWhite(PyObject *_self, PyObject *_args) 5144 { 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; 5156 } 5157 5158 static PyObject *Qd_GetQDGlobalsThePort(PyObject *_self, PyObject *_args) 5159 { 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; 5171 } 5172 5173 static PyObject *Qd_SetQDGlobalsRandomSeed(PyObject *_self, PyObject *_args) 5174 { 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; 5187 } 5188 5189 static PyObject *Qd_SetQDGlobalsArrow(PyObject *_self, PyObject *_args) 5190 { 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)) 5201 { 5202 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)"); 5203 goto arrow__error__; 5204 } 5205 SetQDGlobalsArrow(arrow__in__); 5206 Py_INCREF(Py_None); 5207 _res = Py_None; 5208 arrow__error__: ; 5209 return _res; 5210 } 5211 5212 static PyObject *Qd_GetRegionBounds(PyObject *_self, PyObject *_args) 5213 { 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, ®ion)) 5222 return NULL; 5223 GetRegionBounds(region, 5224 &bounds); 5225 _res = Py_BuildValue("O&", 5226 PyMac_BuildRect, &bounds); 5227 return _res; 5228 } 5229 5230 static PyObject *Qd_IsRegionRectangular(PyObject *_self, PyObject *_args) 5231 { 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, ®ion)) 5240 return NULL; 5241 _rv = IsRegionRectangular(region); 5242 _res = Py_BuildValue("b", 5243 _rv); 5244 return _res; 5245 } 5246 5247 static PyObject *Qd_CreateNewPort(PyObject *_self, PyObject *_args) 5248 { 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; 5260 } 5261 5262 static PyObject *Qd_SetQDError(PyObject *_self, PyObject *_args) 5263 { 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; 5276 } 5277 5278 static PyObject *Qd_LMGetScrVRes(PyObject *_self, PyObject *_args) 5279 { 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; 5291 } 5292 5293 static PyObject *Qd_LMSetScrVRes(PyObject *_self, PyObject *_args) 5294 { 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; 5307 } 5308 5309 static PyObject *Qd_LMGetScrHRes(PyObject *_self, PyObject *_args) 5310 { 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; 5322 } 5323 5324 static PyObject *Qd_LMSetScrHRes(PyObject *_self, PyObject *_args) 5325 { 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; 5338 } 5339 5340 static PyObject *Qd_LMGetMainDevice(PyObject *_self, PyObject *_args) 5341 { 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; 5353 } 5354 5355 static PyObject *Qd_LMSetMainDevice(PyObject *_self, PyObject *_args) 5356 { 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; 5369 } 5370 5371 static PyObject *Qd_LMGetDeviceList(PyObject *_self, PyObject *_args) 5372 { 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; 5384 } 5385 5386 static PyObject *Qd_LMSetDeviceList(PyObject *_self, PyObject *_args) 5387 { 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; 5400 } 5401 5402 static PyObject *Qd_LMGetQDColors(PyObject *_self, PyObject *_args) 5403 { 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; 5415 } 5416 5417 static PyObject *Qd_LMSetQDColors(PyObject *_self, PyObject *_args) 5418 { 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; 5431 } 5432 5433 static PyObject *Qd_LMGetWidthListHand(PyObject *_self, PyObject *_args) 5434 { 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; 5446 } 5447 5448 static PyObject *Qd_LMSetWidthListHand(PyObject *_self, PyObject *_args) 5449 { 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; 5462 } 5463 5464 static PyObject *Qd_LMGetHiliteMode(PyObject *_self, PyObject *_args) 5465 { 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; 5477 } 5478 5479 static PyObject *Qd_LMSetHiliteMode(PyObject *_self, PyObject *_args) 5480 { 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; 5493 } 5494 5495 static PyObject *Qd_LMGetWidthTabHandle(PyObject *_self, PyObject *_args) 5496 { 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; 5508 } 5509 5510 static PyObject *Qd_LMSetWidthTabHandle(PyObject *_self, PyObject *_args) 5511 { 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; 5524 } 5525 5526 static PyObject *Qd_LMGetLastSPExtra(PyObject *_self, PyObject *_args) 5527 { 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; 5539 } 5540 5541 static PyObject *Qd_LMSetLastSPExtra(PyObject *_self, PyObject *_args) 5542 { 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; 5555 } 5556 5557 static PyObject *Qd_LMGetLastFOND(PyObject *_self, PyObject *_args) 5558 { 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; 5570 } 5571 5572 static PyObject *Qd_LMSetLastFOND(PyObject *_self, PyObject *_args) 5573 { 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; 5586 } 5587 5588 static PyObject *Qd_LMGetFractEnable(PyObject *_self, PyObject *_args) 5589 { 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; 5601 } 5602 5603 static PyObject *Qd_LMSetFractEnable(PyObject *_self, PyObject *_args) 5604 { 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; 5617 } 5618 5619 static PyObject *Qd_LMGetTheGDevice(PyObject *_self, PyObject *_args) 5620 { 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; 5632 } 5633 5634 static PyObject *Qd_LMSetTheGDevice(PyObject *_self, PyObject *_args) 5635 { 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; 5648 } 5649 5650 static PyObject *Qd_LMGetHiliteRGB(PyObject *_self, PyObject *_args) 5651 { 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; 5663 } 5664 5665 static PyObject *Qd_LMSetHiliteRGB(PyObject *_self, PyObject *_args) 5666 { 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; 5679 } 5680 5681 static PyObject *Qd_LMGetCursorNew(PyObject *_self, PyObject *_args) 5682 { 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; 5694 } 5695 5696 static PyObject *Qd_LMSetCursorNew(PyObject *_self, PyObject *_args) 5697 { 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; 5710 } 5711 5712 static PyObject *Qd_TextFont(PyObject *_self, PyObject *_args) 5713 { 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; 5726 } 5727 5728 static PyObject *Qd_TextFace(PyObject *_self, PyObject *_args) 5729 { 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; 5742 } 5743 5744 static PyObject *Qd_TextMode(PyObject *_self, PyObject *_args) 5745 { 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; 5758 } 5759 5760 static PyObject *Qd_TextSize(PyObject *_self, PyObject *_args) 5761 { 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; 5774 } 5775 5776 static PyObject *Qd_SpaceExtra(PyObject *_self, PyObject *_args) 5777 { 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; 5790 } 5791 5792 static PyObject *Qd_DrawChar(PyObject *_self, PyObject *_args) 5793 { 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; 5806 } 5807 5808 static PyObject *Qd_DrawString(PyObject *_self, PyObject *_args) 5809 { 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; 5822 } 5823 5824 static PyObject *Qd_MacDrawText(PyObject *_self, PyObject *_args) 5825 { 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; 5847 } 5848 5849 static PyObject *Qd_CharWidth(PyObject *_self, PyObject *_args) 5850 { 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; 5864 } 5865 5866 static PyObject *Qd_StringWidth(PyObject *_self, PyObject *_args) 5867 { 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; 5881 } 5882 5883 static PyObject *Qd_TextWidth(PyObject *_self, PyObject *_args) 5884 { 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; 5907 } 5908 5909 static PyObject *Qd_GetFontInfo(PyObject *_self, PyObject *_args) 5910 { 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; 5922 } 5923 5924 static PyObject *Qd_CharExtra(PyObject *_self, PyObject *_args) 5925 { 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; 5938 } 5939 5940 static PyObject *Qd_TruncString(PyObject *_self, PyObject *_args) 5941 { 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; 5961 } 5962 5963 static PyObject *Qd_SetPort(PyObject *_self, PyObject *_args) 5964 { 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; 5977 } 5978 5979 static PyObject *Qd_GetCursor(PyObject *_self, PyObject *_args) 5980 { 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; 5994 } 5995 5996 static PyObject *Qd_SetCursor(PyObject *_self, PyObject *_args) 5997 { 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)) 6008 { 6009 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Cursor)"); 6010 goto crsr__error__; 6011 } 6012 SetCursor(crsr__in__); 6013 Py_INCREF(Py_None); 6014 _res = Py_None; 6015 crsr__error__: ; 6016 return _res; 6017 } 6018 6019 static PyObject *Qd_ShowCursor(PyObject *_self, PyObject *_args) 6020 { 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; 6031 } 6032 6033 static PyObject *Qd_LineTo(PyObject *_self, PyObject *_args) 6034 { 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", 6042 &h, 6043 &v)) 6044 return NULL; 6045 LineTo(h, 6046 v); 6047 Py_INCREF(Py_None); 6048 _res = Py_None; 6049 return _res; 6050 } 6051 6052 static PyObject *Qd_SetRect(PyObject *_self, PyObject *_args) 6053 { 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; 6077 } 6078 6079 static PyObject *Qd_OffsetRect(PyObject *_self, PyObject *_args) 6080 { 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, 6094 dh, 6095 dv); 6096 _res = Py_BuildValue("O&", 6097 PyMac_BuildRect, &r); 6098 return _res; 6099 } 6100 6101 static PyObject *Qd_InsetRect(PyObject *_self, PyObject *_args) 6102 { 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, 6116 dh, 6117 dv); 6118 _res = Py_BuildValue("O&", 6119 PyMac_BuildRect, &r); 6120 return _res; 6121 } 6122 6123 static PyObject *Qd_UnionRect(PyObject *_self, PyObject *_args) 6124 { 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; 6142 } 6143 6144 static PyObject *Qd_EqualRect(PyObject *_self, PyObject *_args) 6145 { 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; 6162 } 6163 6164 static PyObject *Qd_FrameRect(PyObject *_self, PyObject *_args) 6165 { 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; 6178 } 6179 6180 static PyObject *Qd_InvertRect(PyObject *_self, PyObject *_args) 6181 { 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; 6194 } 6195 6196 static PyObject *Qd_FillRect(PyObject *_self, PyObject *_args) 6197 { 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)) 6210 { 6211 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 6212 goto pat__error__; 6213 } 6214 FillRect(&r, 6215 pat__in__); 6216 Py_INCREF(Py_None); 6217 _res = Py_None; 6218 pat__error__: ; 6219 return _res; 6220 } 6221 6222 static PyObject *Qd_CopyRgn(PyObject *_self, PyObject *_args) 6223 { 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; 6239 } 6240 6241 static PyObject *Qd_SetRectRgn(PyObject *_self, PyObject *_args) 6242 { 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; 6267 } 6268 6269 static PyObject *Qd_OffsetRgn(PyObject *_self, PyObject *_args) 6270 { 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, 6284 dh, 6285 dv); 6286 Py_INCREF(Py_None); 6287 _res = Py_None; 6288 return _res; 6289 } 6290 6291 static PyObject *Qd_UnionRgn(PyObject *_self, PyObject *_args) 6292 { 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; 6311 } 6312 6313 static PyObject *Qd_XorRgn(PyObject *_self, PyObject *_args) 6314 { 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; 6333 } 6334 6335 static PyObject *Qd_EqualRgn(PyObject *_self, PyObject *_args) 6336 { 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; 6353 } 6354 6355 static PyObject *Qd_FrameRgn(PyObject *_self, PyObject *_args) 6356 { 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; 6369 } 6370 6371 static PyObject *Qd_PaintRgn(PyObject *_self, PyObject *_args) 6372 { 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; 6385 } 6386 6387 static PyObject *Qd_InvertRgn(PyObject *_self, PyObject *_args) 6388 { 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; 6401 } 6402 6403 static PyObject *Qd_FillRgn(PyObject *_self, PyObject *_args) 6404 { 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)) 6417 { 6418 PyErr_SetString(PyExc_TypeError, "buffer length should be sizeof(Pattern)"); 6419 goto pat__error__; 6420 } 6421 FillRgn(rgn, 6422 pat__in__); 6423 Py_INCREF(Py_None); 6424 _res = Py_None; 6425 pat__error__: ; 6426 return _res; 6427 } 6428 6429 static PyObject *Qd_GetPixel(PyObject *_self, PyObject *_args) 6430 { 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", 6439 &h, 6440 &v)) 6441 return NULL; 6442 _rv = GetPixel(h, 6443 v); 6444 _res = Py_BuildValue("b", 6445 _rv); 6446 return _res; 6447 } 6448 6449 static PyObject *Qd_PtInRect(PyObject *_self, PyObject *_args) 6450 { 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; 6467 } 6468 6469 static PyObject *Qd_DrawText(PyObject *_self, PyObject *_args) 6470 { 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; 6492 } 6493 6494 static PyObject *Qd_BitMap(PyObject *_self, PyObject *_args) 6495 { 6496 PyObject *_res = NULL; 6497 6498 BitMap *ptr; 6499 PyObject *source; 6500 Rect bounds; 6501 int rowbytes; 6502 char *data; 6503 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; 6516 } 6517 ((BitMapObject *)_res)->referred_object = source; 6518 Py_INCREF(source); 6519 ((BitMapObject *)_res)->referred_bitmap = ptr; 6520 return _res; 6521 6522 } 6523 6524 static PyObject *Qd_RawBitMap(PyObject *_self, PyObject *_args) 6525 { 6526 PyObject *_res = NULL; 6527 6528 BitMap *ptr; 6529 PyObject *source; 6530 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; 6538 } 6539 ptr = (BitMapPtr)PyString_AsString(source); 6540 if ( (_res = BMObj_New(ptr)) == NULL ) { 6541 return NULL; 6542 } 6543 ((BitMapObject *)_res)->referred_object = source; 6544 Py_INCREF(source); 6545 return _res; 6546 6547 } 6548 #endif /* __LP64__ */ 6549 6550 static PyMethodDef Qd_methods[] = { 6551 #if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7) 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} 7088 }; 7089 7090 7091 #if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7) 7092 7093 /* Like BMObj_New, but the original bitmap data structure is copied (and 7094 ** released when the object is released) 7095 */ 7096 PyObject *BMObj_NewCopied(BitMapPtr itself) 7097 { 7098 BitMapObject *it; 7099 BitMapPtr itself_copy; 7100 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; 7107 } 7108 7109 #endif /* __LP64__ */ 7110 7111 7112 void init_Qd(void) 7113 { 7114 PyObject *m; 7115 #if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7) 7116 PyObject *d; 7117 7118 7119 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); 7126 7127 #endif /* __LP64__ */ 7128 7129 m = Py_InitModule("_Qd", Qd_methods); 7130 #if !defined(__LP64__) && !defined(MAC_OS_X_VERSION_10_7) 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__ */ 7151 } 7152 7153 /* ========================= End module _Qd ========================= */ 7154 7155