1 2 /* =========================== Module _TE =========================== */ 3 4 #include "Python.h" 5 #include "pymactoolbox.h" 6 7 #if APPLE_SUPPORTS_QUICKTIME 8 9 10 11 /* Macro to test whether a weak-loaded CFM function exists */ 12 #define PyMac_PRECHECK(rtn) do { if ( &rtn == NULL ) {\ 13 PyErr_SetString(PyExc_NotImplementedError, \ 14 "Not available in this shared library/OS version"); \ 15 return NULL; \ 16 }} while(0) 17 18 19 #include <Carbon/Carbon.h> 20 21 #ifdef USE_TOOLBOX_OBJECT_GLUE 22 extern PyObject *_TEObj_New(TEHandle); 23 extern int _TEObj_Convert(PyObject *, TEHandle *); 24 25 #define TEObj_New _TEObj_New 26 #define TEObj_Convert _TEObj_Convert 27 #endif 28 29 #define as_TE(h) ((TEHandle)h) 30 #define as_Resource(teh) ((Handle)teh) 31 32 /* 33 ** Parse/generate TextStyle records 34 */ 35 static PyObject * 36 TextStyle_New(TextStylePtr itself) 37 { 38 39 return Py_BuildValue("lllO&", (long)itself->tsFont, (long)itself->tsFace, (long)itself->tsSize, QdRGB_New, 40 &itself->tsColor); 41 } 42 43 static int 44 TextStyle_Convert(PyObject *v, TextStylePtr p_itself) 45 { 46 long font, face, size; 47 48 if( !PyArg_ParseTuple(v, "lllO&", &font, &face, &size, QdRGB_Convert, &p_itself->tsColor) ) 49 return 0; 50 p_itself->tsFont = (short)font; 51 p_itself->tsFace = (Style)face; 52 p_itself->tsSize = (short)size; 53 return 1; 54 } 55 56 static PyObject *TE_Error; 57 58 /* ------------------------- Object type TE ------------------------- */ 59 60 PyTypeObject TE_Type; 61 62 #define TEObj_Check(x) ((x)->ob_type == &TE_Type || PyObject_TypeCheck((x), &TE_Type)) 63 64 typedef struct TEObject { 65 PyObject_HEAD 66 TEHandle ob_itself; 67 } TEObject; 68 69 PyObject *TEObj_New(TEHandle itself) 70 { 71 TEObject *it; 72 if (itself == NULL) { 73 PyErr_SetString(TE_Error,"Cannot create null TE"); 74 return NULL; 75 } 76 it = PyObject_NEW(TEObject, &TE_Type); 77 if (it == NULL) return NULL; 78 it->ob_itself = itself; 79 return (PyObject *)it; 80 } 81 82 int TEObj_Convert(PyObject *v, TEHandle *p_itself) 83 { 84 if (!TEObj_Check(v)) 85 { 86 PyErr_SetString(PyExc_TypeError, "TE required"); 87 return 0; 88 } 89 *p_itself = ((TEObject *)v)->ob_itself; 90 return 1; 91 } 92 93 static void TEObj_dealloc(TEObject *self) 94 { 95 TEDispose(self->ob_itself); 96 self->ob_type->tp_free((PyObject *)self); 97 } 98 99 static PyObject *TEObj_TESetText(TEObject *_self, PyObject *_args) 100 { 101 PyObject *_res = NULL; 102 char *text__in__; 103 long text__len__; 104 int text__in_len__; 105 #ifndef TESetText 106 PyMac_PRECHECK(TESetText); 107 #endif 108 if (!PyArg_ParseTuple(_args, "s#", 109 &text__in__, &text__in_len__)) 110 return NULL; 111 text__len__ = text__in_len__; 112 TESetText(text__in__, text__len__, 113 _self->ob_itself); 114 Py_INCREF(Py_None); 115 _res = Py_None; 116 return _res; 117 } 118 119 static PyObject *TEObj_TEGetText(TEObject *_self, PyObject *_args) 120 { 121 PyObject *_res = NULL; 122 CharsHandle _rv; 123 #ifndef TEGetText 124 PyMac_PRECHECK(TEGetText); 125 #endif 126 if (!PyArg_ParseTuple(_args, "")) 127 return NULL; 128 _rv = TEGetText(_self->ob_itself); 129 _res = Py_BuildValue("O&", 130 ResObj_New, _rv); 131 return _res; 132 } 133 134 static PyObject *TEObj_TEIdle(TEObject *_self, PyObject *_args) 135 { 136 PyObject *_res = NULL; 137 #ifndef TEIdle 138 PyMac_PRECHECK(TEIdle); 139 #endif 140 if (!PyArg_ParseTuple(_args, "")) 141 return NULL; 142 TEIdle(_self->ob_itself); 143 Py_INCREF(Py_None); 144 _res = Py_None; 145 return _res; 146 } 147 148 static PyObject *TEObj_TESetSelect(TEObject *_self, PyObject *_args) 149 { 150 PyObject *_res = NULL; 151 long selStart; 152 long selEnd; 153 #ifndef TESetSelect 154 PyMac_PRECHECK(TESetSelect); 155 #endif 156 if (!PyArg_ParseTuple(_args, "ll", 157 &selStart, 158 &selEnd)) 159 return NULL; 160 TESetSelect(selStart, 161 selEnd, 162 _self->ob_itself); 163 Py_INCREF(Py_None); 164 _res = Py_None; 165 return _res; 166 } 167 168 static PyObject *TEObj_TEActivate(TEObject *_self, PyObject *_args) 169 { 170 PyObject *_res = NULL; 171 #ifndef TEActivate 172 PyMac_PRECHECK(TEActivate); 173 #endif 174 if (!PyArg_ParseTuple(_args, "")) 175 return NULL; 176 TEActivate(_self->ob_itself); 177 Py_INCREF(Py_None); 178 _res = Py_None; 179 return _res; 180 } 181 182 static PyObject *TEObj_TEDeactivate(TEObject *_self, PyObject *_args) 183 { 184 PyObject *_res = NULL; 185 #ifndef TEDeactivate 186 PyMac_PRECHECK(TEDeactivate); 187 #endif 188 if (!PyArg_ParseTuple(_args, "")) 189 return NULL; 190 TEDeactivate(_self->ob_itself); 191 Py_INCREF(Py_None); 192 _res = Py_None; 193 return _res; 194 } 195 196 static PyObject *TEObj_TEKey(TEObject *_self, PyObject *_args) 197 { 198 PyObject *_res = NULL; 199 CharParameter key; 200 #ifndef TEKey 201 PyMac_PRECHECK(TEKey); 202 #endif 203 if (!PyArg_ParseTuple(_args, "h", 204 &key)) 205 return NULL; 206 TEKey(key, 207 _self->ob_itself); 208 Py_INCREF(Py_None); 209 _res = Py_None; 210 return _res; 211 } 212 213 static PyObject *TEObj_TECut(TEObject *_self, PyObject *_args) 214 { 215 PyObject *_res = NULL; 216 #ifndef TECut 217 PyMac_PRECHECK(TECut); 218 #endif 219 if (!PyArg_ParseTuple(_args, "")) 220 return NULL; 221 TECut(_self->ob_itself); 222 Py_INCREF(Py_None); 223 _res = Py_None; 224 return _res; 225 } 226 227 static PyObject *TEObj_TECopy(TEObject *_self, PyObject *_args) 228 { 229 PyObject *_res = NULL; 230 #ifndef TECopy 231 PyMac_PRECHECK(TECopy); 232 #endif 233 if (!PyArg_ParseTuple(_args, "")) 234 return NULL; 235 TECopy(_self->ob_itself); 236 Py_INCREF(Py_None); 237 _res = Py_None; 238 return _res; 239 } 240 241 static PyObject *TEObj_TEPaste(TEObject *_self, PyObject *_args) 242 { 243 PyObject *_res = NULL; 244 #ifndef TEPaste 245 PyMac_PRECHECK(TEPaste); 246 #endif 247 if (!PyArg_ParseTuple(_args, "")) 248 return NULL; 249 TEPaste(_self->ob_itself); 250 Py_INCREF(Py_None); 251 _res = Py_None; 252 return _res; 253 } 254 255 static PyObject *TEObj_TEDelete(TEObject *_self, PyObject *_args) 256 { 257 PyObject *_res = NULL; 258 #ifndef TEDelete 259 PyMac_PRECHECK(TEDelete); 260 #endif 261 if (!PyArg_ParseTuple(_args, "")) 262 return NULL; 263 TEDelete(_self->ob_itself); 264 Py_INCREF(Py_None); 265 _res = Py_None; 266 return _res; 267 } 268 269 static PyObject *TEObj_TEInsert(TEObject *_self, PyObject *_args) 270 { 271 PyObject *_res = NULL; 272 char *text__in__; 273 long text__len__; 274 int text__in_len__; 275 #ifndef TEInsert 276 PyMac_PRECHECK(TEInsert); 277 #endif 278 if (!PyArg_ParseTuple(_args, "s#", 279 &text__in__, &text__in_len__)) 280 return NULL; 281 text__len__ = text__in_len__; 282 TEInsert(text__in__, text__len__, 283 _self->ob_itself); 284 Py_INCREF(Py_None); 285 _res = Py_None; 286 return _res; 287 } 288 289 static PyObject *TEObj_TESetAlignment(TEObject *_self, PyObject *_args) 290 { 291 PyObject *_res = NULL; 292 short just; 293 #ifndef TESetAlignment 294 PyMac_PRECHECK(TESetAlignment); 295 #endif 296 if (!PyArg_ParseTuple(_args, "h", 297 &just)) 298 return NULL; 299 TESetAlignment(just, 300 _self->ob_itself); 301 Py_INCREF(Py_None); 302 _res = Py_None; 303 return _res; 304 } 305 306 static PyObject *TEObj_TEUpdate(TEObject *_self, PyObject *_args) 307 { 308 PyObject *_res = NULL; 309 Rect rUpdate; 310 #ifndef TEUpdate 311 PyMac_PRECHECK(TEUpdate); 312 #endif 313 if (!PyArg_ParseTuple(_args, "O&", 314 PyMac_GetRect, &rUpdate)) 315 return NULL; 316 TEUpdate(&rUpdate, 317 _self->ob_itself); 318 Py_INCREF(Py_None); 319 _res = Py_None; 320 return _res; 321 } 322 323 static PyObject *TEObj_TEScroll(TEObject *_self, PyObject *_args) 324 { 325 PyObject *_res = NULL; 326 short dh; 327 short dv; 328 #ifndef TEScroll 329 PyMac_PRECHECK(TEScroll); 330 #endif 331 if (!PyArg_ParseTuple(_args, "hh", 332 &dh, 333 &dv)) 334 return NULL; 335 TEScroll(dh, 336 dv, 337 _self->ob_itself); 338 Py_INCREF(Py_None); 339 _res = Py_None; 340 return _res; 341 } 342 343 static PyObject *TEObj_TESelView(TEObject *_self, PyObject *_args) 344 { 345 PyObject *_res = NULL; 346 #ifndef TESelView 347 PyMac_PRECHECK(TESelView); 348 #endif 349 if (!PyArg_ParseTuple(_args, "")) 350 return NULL; 351 TESelView(_self->ob_itself); 352 Py_INCREF(Py_None); 353 _res = Py_None; 354 return _res; 355 } 356 357 static PyObject *TEObj_TEPinScroll(TEObject *_self, PyObject *_args) 358 { 359 PyObject *_res = NULL; 360 short dh; 361 short dv; 362 #ifndef TEPinScroll 363 PyMac_PRECHECK(TEPinScroll); 364 #endif 365 if (!PyArg_ParseTuple(_args, "hh", 366 &dh, 367 &dv)) 368 return NULL; 369 TEPinScroll(dh, 370 dv, 371 _self->ob_itself); 372 Py_INCREF(Py_None); 373 _res = Py_None; 374 return _res; 375 } 376 377 static PyObject *TEObj_TEAutoView(TEObject *_self, PyObject *_args) 378 { 379 PyObject *_res = NULL; 380 Boolean fAuto; 381 #ifndef TEAutoView 382 PyMac_PRECHECK(TEAutoView); 383 #endif 384 if (!PyArg_ParseTuple(_args, "b", 385 &fAuto)) 386 return NULL; 387 TEAutoView(fAuto, 388 _self->ob_itself); 389 Py_INCREF(Py_None); 390 _res = Py_None; 391 return _res; 392 } 393 394 static PyObject *TEObj_TECalText(TEObject *_self, PyObject *_args) 395 { 396 PyObject *_res = NULL; 397 #ifndef TECalText 398 PyMac_PRECHECK(TECalText); 399 #endif 400 if (!PyArg_ParseTuple(_args, "")) 401 return NULL; 402 TECalText(_self->ob_itself); 403 Py_INCREF(Py_None); 404 _res = Py_None; 405 return _res; 406 } 407 408 static PyObject *TEObj_TEGetOffset(TEObject *_self, PyObject *_args) 409 { 410 PyObject *_res = NULL; 411 short _rv; 412 Point pt; 413 #ifndef TEGetOffset 414 PyMac_PRECHECK(TEGetOffset); 415 #endif 416 if (!PyArg_ParseTuple(_args, "O&", 417 PyMac_GetPoint, &pt)) 418 return NULL; 419 _rv = TEGetOffset(pt, 420 _self->ob_itself); 421 _res = Py_BuildValue("h", 422 _rv); 423 return _res; 424 } 425 426 static PyObject *TEObj_TEGetPoint(TEObject *_self, PyObject *_args) 427 { 428 PyObject *_res = NULL; 429 Point _rv; 430 short offset; 431 #ifndef TEGetPoint 432 PyMac_PRECHECK(TEGetPoint); 433 #endif 434 if (!PyArg_ParseTuple(_args, "h", 435 &offset)) 436 return NULL; 437 _rv = TEGetPoint(offset, 438 _self->ob_itself); 439 _res = Py_BuildValue("O&", 440 PyMac_BuildPoint, _rv); 441 return _res; 442 } 443 444 static PyObject *TEObj_TEClick(TEObject *_self, PyObject *_args) 445 { 446 PyObject *_res = NULL; 447 Point pt; 448 Boolean fExtend; 449 #ifndef TEClick 450 PyMac_PRECHECK(TEClick); 451 #endif 452 if (!PyArg_ParseTuple(_args, "O&b", 453 PyMac_GetPoint, &pt, 454 &fExtend)) 455 return NULL; 456 TEClick(pt, 457 fExtend, 458 _self->ob_itself); 459 Py_INCREF(Py_None); 460 _res = Py_None; 461 return _res; 462 } 463 464 static PyObject *TEObj_TESetStyleHandle(TEObject *_self, PyObject *_args) 465 { 466 PyObject *_res = NULL; 467 TEStyleHandle theHandle; 468 #ifndef TESetStyleHandle 469 PyMac_PRECHECK(TESetStyleHandle); 470 #endif 471 if (!PyArg_ParseTuple(_args, "O&", 472 ResObj_Convert, &theHandle)) 473 return NULL; 474 TESetStyleHandle(theHandle, 475 _self->ob_itself); 476 Py_INCREF(Py_None); 477 _res = Py_None; 478 return _res; 479 } 480 481 static PyObject *TEObj_TEGetStyleHandle(TEObject *_self, PyObject *_args) 482 { 483 PyObject *_res = NULL; 484 TEStyleHandle _rv; 485 #ifndef TEGetStyleHandle 486 PyMac_PRECHECK(TEGetStyleHandle); 487 #endif 488 if (!PyArg_ParseTuple(_args, "")) 489 return NULL; 490 _rv = TEGetStyleHandle(_self->ob_itself); 491 _res = Py_BuildValue("O&", 492 ResObj_New, _rv); 493 return _res; 494 } 495 496 static PyObject *TEObj_TEGetStyle(TEObject *_self, PyObject *_args) 497 { 498 PyObject *_res = NULL; 499 short offset; 500 TextStyle theStyle; 501 short lineHeight; 502 short fontAscent; 503 #ifndef TEGetStyle 504 PyMac_PRECHECK(TEGetStyle); 505 #endif 506 if (!PyArg_ParseTuple(_args, "h", 507 &offset)) 508 return NULL; 509 TEGetStyle(offset, 510 &theStyle, 511 &lineHeight, 512 &fontAscent, 513 _self->ob_itself); 514 _res = Py_BuildValue("O&hh", 515 TextStyle_New, &theStyle, 516 lineHeight, 517 fontAscent); 518 return _res; 519 } 520 521 static PyObject *TEObj_TEStylePaste(TEObject *_self, PyObject *_args) 522 { 523 PyObject *_res = NULL; 524 #ifndef TEStylePaste 525 PyMac_PRECHECK(TEStylePaste); 526 #endif 527 if (!PyArg_ParseTuple(_args, "")) 528 return NULL; 529 TEStylePaste(_self->ob_itself); 530 Py_INCREF(Py_None); 531 _res = Py_None; 532 return _res; 533 } 534 535 static PyObject *TEObj_TESetStyle(TEObject *_self, PyObject *_args) 536 { 537 PyObject *_res = NULL; 538 short mode; 539 TextStyle newStyle; 540 Boolean fRedraw; 541 #ifndef TESetStyle 542 PyMac_PRECHECK(TESetStyle); 543 #endif 544 if (!PyArg_ParseTuple(_args, "hO&b", 545 &mode, 546 TextStyle_Convert, &newStyle, 547 &fRedraw)) 548 return NULL; 549 TESetStyle(mode, 550 &newStyle, 551 fRedraw, 552 _self->ob_itself); 553 Py_INCREF(Py_None); 554 _res = Py_None; 555 return _res; 556 } 557 558 static PyObject *TEObj_TEReplaceStyle(TEObject *_self, PyObject *_args) 559 { 560 PyObject *_res = NULL; 561 short mode; 562 TextStyle oldStyle; 563 TextStyle newStyle; 564 Boolean fRedraw; 565 #ifndef TEReplaceStyle 566 PyMac_PRECHECK(TEReplaceStyle); 567 #endif 568 if (!PyArg_ParseTuple(_args, "hO&O&b", 569 &mode, 570 TextStyle_Convert, &oldStyle, 571 TextStyle_Convert, &newStyle, 572 &fRedraw)) 573 return NULL; 574 TEReplaceStyle(mode, 575 &oldStyle, 576 &newStyle, 577 fRedraw, 578 _self->ob_itself); 579 Py_INCREF(Py_None); 580 _res = Py_None; 581 return _res; 582 } 583 584 static PyObject *TEObj_TEGetStyleScrapHandle(TEObject *_self, PyObject *_args) 585 { 586 PyObject *_res = NULL; 587 StScrpHandle _rv; 588 #ifndef TEGetStyleScrapHandle 589 PyMac_PRECHECK(TEGetStyleScrapHandle); 590 #endif 591 if (!PyArg_ParseTuple(_args, "")) 592 return NULL; 593 _rv = TEGetStyleScrapHandle(_self->ob_itself); 594 _res = Py_BuildValue("O&", 595 ResObj_New, _rv); 596 return _res; 597 } 598 599 static PyObject *TEObj_TEStyleInsert(TEObject *_self, PyObject *_args) 600 { 601 PyObject *_res = NULL; 602 char *text__in__; 603 long text__len__; 604 int text__in_len__; 605 StScrpHandle hST; 606 #ifndef TEStyleInsert 607 PyMac_PRECHECK(TEStyleInsert); 608 #endif 609 if (!PyArg_ParseTuple(_args, "s#O&", 610 &text__in__, &text__in_len__, 611 ResObj_Convert, &hST)) 612 return NULL; 613 text__len__ = text__in_len__; 614 TEStyleInsert(text__in__, text__len__, 615 hST, 616 _self->ob_itself); 617 Py_INCREF(Py_None); 618 _res = Py_None; 619 return _res; 620 } 621 622 static PyObject *TEObj_TEGetHeight(TEObject *_self, PyObject *_args) 623 { 624 PyObject *_res = NULL; 625 long _rv; 626 long endLine; 627 long startLine; 628 #ifndef TEGetHeight 629 PyMac_PRECHECK(TEGetHeight); 630 #endif 631 if (!PyArg_ParseTuple(_args, "ll", 632 &endLine, 633 &startLine)) 634 return NULL; 635 _rv = TEGetHeight(endLine, 636 startLine, 637 _self->ob_itself); 638 _res = Py_BuildValue("l", 639 _rv); 640 return _res; 641 } 642 643 static PyObject *TEObj_TEContinuousStyle(TEObject *_self, PyObject *_args) 644 { 645 PyObject *_res = NULL; 646 Boolean _rv; 647 short mode; 648 TextStyle aStyle; 649 #ifndef TEContinuousStyle 650 PyMac_PRECHECK(TEContinuousStyle); 651 #endif 652 if (!PyArg_ParseTuple(_args, "hO&", 653 &mode, 654 TextStyle_Convert, &aStyle)) 655 return NULL; 656 _rv = TEContinuousStyle(&mode, 657 &aStyle, 658 _self->ob_itself); 659 _res = Py_BuildValue("bhO&", 660 _rv, 661 mode, 662 TextStyle_New, &aStyle); 663 return _res; 664 } 665 666 static PyObject *TEObj_TEUseStyleScrap(TEObject *_self, PyObject *_args) 667 { 668 PyObject *_res = NULL; 669 long rangeStart; 670 long rangeEnd; 671 StScrpHandle newStyles; 672 Boolean fRedraw; 673 #ifndef TEUseStyleScrap 674 PyMac_PRECHECK(TEUseStyleScrap); 675 #endif 676 if (!PyArg_ParseTuple(_args, "llO&b", 677 &rangeStart, 678 &rangeEnd, 679 ResObj_Convert, &newStyles, 680 &fRedraw)) 681 return NULL; 682 TEUseStyleScrap(rangeStart, 683 rangeEnd, 684 newStyles, 685 fRedraw, 686 _self->ob_itself); 687 Py_INCREF(Py_None); 688 _res = Py_None; 689 return _res; 690 } 691 692 static PyObject *TEObj_TENumStyles(TEObject *_self, PyObject *_args) 693 { 694 PyObject *_res = NULL; 695 long _rv; 696 long rangeStart; 697 long rangeEnd; 698 #ifndef TENumStyles 699 PyMac_PRECHECK(TENumStyles); 700 #endif 701 if (!PyArg_ParseTuple(_args, "ll", 702 &rangeStart, 703 &rangeEnd)) 704 return NULL; 705 _rv = TENumStyles(rangeStart, 706 rangeEnd, 707 _self->ob_itself); 708 _res = Py_BuildValue("l", 709 _rv); 710 return _res; 711 } 712 713 static PyObject *TEObj_TEFeatureFlag(TEObject *_self, PyObject *_args) 714 { 715 PyObject *_res = NULL; 716 short _rv; 717 short feature; 718 short action; 719 #ifndef TEFeatureFlag 720 PyMac_PRECHECK(TEFeatureFlag); 721 #endif 722 if (!PyArg_ParseTuple(_args, "hh", 723 &feature, 724 &action)) 725 return NULL; 726 _rv = TEFeatureFlag(feature, 727 action, 728 _self->ob_itself); 729 _res = Py_BuildValue("h", 730 _rv); 731 return _res; 732 } 733 734 static PyObject *TEObj_TEGetHiliteRgn(TEObject *_self, PyObject *_args) 735 { 736 PyObject *_res = NULL; 737 OSErr _err; 738 RgnHandle region; 739 #ifndef TEGetHiliteRgn 740 PyMac_PRECHECK(TEGetHiliteRgn); 741 #endif 742 if (!PyArg_ParseTuple(_args, "O&", 743 ResObj_Convert, ®ion)) 744 return NULL; 745 _err = TEGetHiliteRgn(region, 746 _self->ob_itself); 747 if (_err != noErr) return PyMac_Error(_err); 748 Py_INCREF(Py_None); 749 _res = Py_None; 750 return _res; 751 } 752 753 static PyObject *TEObj_as_Resource(TEObject *_self, PyObject *_args) 754 { 755 PyObject *_res = NULL; 756 Handle _rv; 757 #ifndef as_Resource 758 PyMac_PRECHECK(as_Resource); 759 #endif 760 if (!PyArg_ParseTuple(_args, "")) 761 return NULL; 762 _rv = as_Resource(_self->ob_itself); 763 _res = Py_BuildValue("O&", 764 ResObj_New, _rv); 765 return _res; 766 } 767 768 static PyMethodDef TEObj_methods[] = { 769 {"TESetText", (PyCFunction)TEObj_TESetText, 1, 770 PyDoc_STR("(Buffer text) -> None")}, 771 {"TEGetText", (PyCFunction)TEObj_TEGetText, 1, 772 PyDoc_STR("() -> (CharsHandle _rv)")}, 773 {"TEIdle", (PyCFunction)TEObj_TEIdle, 1, 774 PyDoc_STR("() -> None")}, 775 {"TESetSelect", (PyCFunction)TEObj_TESetSelect, 1, 776 PyDoc_STR("(long selStart, long selEnd) -> None")}, 777 {"TEActivate", (PyCFunction)TEObj_TEActivate, 1, 778 PyDoc_STR("() -> None")}, 779 {"TEDeactivate", (PyCFunction)TEObj_TEDeactivate, 1, 780 PyDoc_STR("() -> None")}, 781 {"TEKey", (PyCFunction)TEObj_TEKey, 1, 782 PyDoc_STR("(CharParameter key) -> None")}, 783 {"TECut", (PyCFunction)TEObj_TECut, 1, 784 PyDoc_STR("() -> None")}, 785 {"TECopy", (PyCFunction)TEObj_TECopy, 1, 786 PyDoc_STR("() -> None")}, 787 {"TEPaste", (PyCFunction)TEObj_TEPaste, 1, 788 PyDoc_STR("() -> None")}, 789 {"TEDelete", (PyCFunction)TEObj_TEDelete, 1, 790 PyDoc_STR("() -> None")}, 791 {"TEInsert", (PyCFunction)TEObj_TEInsert, 1, 792 PyDoc_STR("(Buffer text) -> None")}, 793 {"TESetAlignment", (PyCFunction)TEObj_TESetAlignment, 1, 794 PyDoc_STR("(short just) -> None")}, 795 {"TEUpdate", (PyCFunction)TEObj_TEUpdate, 1, 796 PyDoc_STR("(Rect rUpdate) -> None")}, 797 {"TEScroll", (PyCFunction)TEObj_TEScroll, 1, 798 PyDoc_STR("(short dh, short dv) -> None")}, 799 {"TESelView", (PyCFunction)TEObj_TESelView, 1, 800 PyDoc_STR("() -> None")}, 801 {"TEPinScroll", (PyCFunction)TEObj_TEPinScroll, 1, 802 PyDoc_STR("(short dh, short dv) -> None")}, 803 {"TEAutoView", (PyCFunction)TEObj_TEAutoView, 1, 804 PyDoc_STR("(Boolean fAuto) -> None")}, 805 {"TECalText", (PyCFunction)TEObj_TECalText, 1, 806 PyDoc_STR("() -> None")}, 807 {"TEGetOffset", (PyCFunction)TEObj_TEGetOffset, 1, 808 PyDoc_STR("(Point pt) -> (short _rv)")}, 809 {"TEGetPoint", (PyCFunction)TEObj_TEGetPoint, 1, 810 PyDoc_STR("(short offset) -> (Point _rv)")}, 811 {"TEClick", (PyCFunction)TEObj_TEClick, 1, 812 PyDoc_STR("(Point pt, Boolean fExtend) -> None")}, 813 {"TESetStyleHandle", (PyCFunction)TEObj_TESetStyleHandle, 1, 814 PyDoc_STR("(TEStyleHandle theHandle) -> None")}, 815 {"TEGetStyleHandle", (PyCFunction)TEObj_TEGetStyleHandle, 1, 816 PyDoc_STR("() -> (TEStyleHandle _rv)")}, 817 {"TEGetStyle", (PyCFunction)TEObj_TEGetStyle, 1, 818 PyDoc_STR("(short offset) -> (TextStyle theStyle, short lineHeight, short fontAscent)")}, 819 {"TEStylePaste", (PyCFunction)TEObj_TEStylePaste, 1, 820 PyDoc_STR("() -> None")}, 821 {"TESetStyle", (PyCFunction)TEObj_TESetStyle, 1, 822 PyDoc_STR("(short mode, TextStyle newStyle, Boolean fRedraw) -> None")}, 823 {"TEReplaceStyle", (PyCFunction)TEObj_TEReplaceStyle, 1, 824 PyDoc_STR("(short mode, TextStyle oldStyle, TextStyle newStyle, Boolean fRedraw) -> None")}, 825 {"TEGetStyleScrapHandle", (PyCFunction)TEObj_TEGetStyleScrapHandle, 1, 826 PyDoc_STR("() -> (StScrpHandle _rv)")}, 827 {"TEStyleInsert", (PyCFunction)TEObj_TEStyleInsert, 1, 828 PyDoc_STR("(Buffer text, StScrpHandle hST) -> None")}, 829 {"TEGetHeight", (PyCFunction)TEObj_TEGetHeight, 1, 830 PyDoc_STR("(long endLine, long startLine) -> (long _rv)")}, 831 {"TEContinuousStyle", (PyCFunction)TEObj_TEContinuousStyle, 1, 832 PyDoc_STR("(short mode, TextStyle aStyle) -> (Boolean _rv, short mode, TextStyle aStyle)")}, 833 {"TEUseStyleScrap", (PyCFunction)TEObj_TEUseStyleScrap, 1, 834 PyDoc_STR("(long rangeStart, long rangeEnd, StScrpHandle newStyles, Boolean fRedraw) -> None")}, 835 {"TENumStyles", (PyCFunction)TEObj_TENumStyles, 1, 836 PyDoc_STR("(long rangeStart, long rangeEnd) -> (long _rv)")}, 837 {"TEFeatureFlag", (PyCFunction)TEObj_TEFeatureFlag, 1, 838 PyDoc_STR("(short feature, short action) -> (short _rv)")}, 839 {"TEGetHiliteRgn", (PyCFunction)TEObj_TEGetHiliteRgn, 1, 840 PyDoc_STR("(RgnHandle region) -> None")}, 841 {"as_Resource", (PyCFunction)TEObj_as_Resource, 1, 842 PyDoc_STR("() -> (Handle _rv)")}, 843 {NULL, NULL, 0} 844 }; 845 846 static PyObject *TEObj_get_destRect(TEObject *self, void *closure) 847 { 848 return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->destRect); 849 } 850 851 #define TEObj_set_destRect NULL 852 853 static PyObject *TEObj_get_viewRect(TEObject *self, void *closure) 854 { 855 return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->viewRect); 856 } 857 858 #define TEObj_set_viewRect NULL 859 860 static PyObject *TEObj_get_selRect(TEObject *self, void *closure) 861 { 862 return Py_BuildValue("O&", PyMac_BuildRect, &(*self->ob_itself)->selRect); 863 } 864 865 #define TEObj_set_selRect NULL 866 867 static PyObject *TEObj_get_lineHeight(TEObject *self, void *closure) 868 { 869 return Py_BuildValue("h", (*self->ob_itself)->lineHeight); 870 } 871 872 #define TEObj_set_lineHeight NULL 873 874 static PyObject *TEObj_get_fontAscent(TEObject *self, void *closure) 875 { 876 return Py_BuildValue("h", (*self->ob_itself)->fontAscent); 877 } 878 879 #define TEObj_set_fontAscent NULL 880 881 static PyObject *TEObj_get_selPoint(TEObject *self, void *closure) 882 { 883 return Py_BuildValue("O&", PyMac_BuildPoint, (*self->ob_itself)->selPoint); 884 } 885 886 #define TEObj_set_selPoint NULL 887 888 static PyObject *TEObj_get_selStart(TEObject *self, void *closure) 889 { 890 return Py_BuildValue("h", (*self->ob_itself)->selStart); 891 } 892 893 #define TEObj_set_selStart NULL 894 895 static PyObject *TEObj_get_selEnd(TEObject *self, void *closure) 896 { 897 return Py_BuildValue("h", (*self->ob_itself)->selEnd); 898 } 899 900 #define TEObj_set_selEnd NULL 901 902 static PyObject *TEObj_get_active(TEObject *self, void *closure) 903 { 904 return Py_BuildValue("h", (*self->ob_itself)->active); 905 } 906 907 #define TEObj_set_active NULL 908 909 static PyObject *TEObj_get_just(TEObject *self, void *closure) 910 { 911 return Py_BuildValue("h", (*self->ob_itself)->just); 912 } 913 914 #define TEObj_set_just NULL 915 916 static PyObject *TEObj_get_teLength(TEObject *self, void *closure) 917 { 918 return Py_BuildValue("h", (*self->ob_itself)->teLength); 919 } 920 921 #define TEObj_set_teLength NULL 922 923 static PyObject *TEObj_get_txFont(TEObject *self, void *closure) 924 { 925 return Py_BuildValue("h", (*self->ob_itself)->txFont); 926 } 927 928 #define TEObj_set_txFont NULL 929 930 static PyObject *TEObj_get_txFace(TEObject *self, void *closure) 931 { 932 return Py_BuildValue("h", (*self->ob_itself)->txFace); 933 } 934 935 #define TEObj_set_txFace NULL 936 937 static PyObject *TEObj_get_txMode(TEObject *self, void *closure) 938 { 939 return Py_BuildValue("h", (*self->ob_itself)->txMode); 940 } 941 942 #define TEObj_set_txMode NULL 943 944 static PyObject *TEObj_get_txSize(TEObject *self, void *closure) 945 { 946 return Py_BuildValue("h", (*self->ob_itself)->txSize); 947 } 948 949 #define TEObj_set_txSize NULL 950 951 static PyObject *TEObj_get_nLines(TEObject *self, void *closure) 952 { 953 return Py_BuildValue("h", (*self->ob_itself)->nLines); 954 } 955 956 #define TEObj_set_nLines NULL 957 958 static PyGetSetDef TEObj_getsetlist[] = { 959 {"destRect", (getter)TEObj_get_destRect, (setter)TEObj_set_destRect, "Destination rectangle"}, 960 {"viewRect", (getter)TEObj_get_viewRect, (setter)TEObj_set_viewRect, "Viewing rectangle"}, 961 {"selRect", (getter)TEObj_get_selRect, (setter)TEObj_set_selRect, "Selection rectangle"}, 962 {"lineHeight", (getter)TEObj_get_lineHeight, (setter)TEObj_set_lineHeight, "Height of a line"}, 963 {"fontAscent", (getter)TEObj_get_fontAscent, (setter)TEObj_set_fontAscent, "Ascent of a line"}, 964 {"selPoint", (getter)TEObj_get_selPoint, (setter)TEObj_set_selPoint, "Selection Point"}, 965 {"selStart", (getter)TEObj_get_selStart, (setter)TEObj_set_selStart, "Start of selection"}, 966 {"selEnd", (getter)TEObj_get_selEnd, (setter)TEObj_set_selEnd, "End of selection"}, 967 {"active", (getter)TEObj_get_active, (setter)TEObj_set_active, "TBD"}, 968 {"just", (getter)TEObj_get_just, (setter)TEObj_set_just, "Justification"}, 969 {"teLength", (getter)TEObj_get_teLength, (setter)TEObj_set_teLength, "TBD"}, 970 {"txFont", (getter)TEObj_get_txFont, (setter)TEObj_set_txFont, "Current font"}, 971 {"txFace", (getter)TEObj_get_txFace, (setter)TEObj_set_txFace, "Current font variant"}, 972 {"txMode", (getter)TEObj_get_txMode, (setter)TEObj_set_txMode, "Current text-drawing mode"}, 973 {"txSize", (getter)TEObj_get_txSize, (setter)TEObj_set_txSize, "Current font size"}, 974 {"nLines", (getter)TEObj_get_nLines, (setter)TEObj_set_nLines, "TBD"}, 975 {NULL, NULL, NULL, NULL}, 976 }; 977 978 979 #define TEObj_compare NULL 980 981 #define TEObj_repr NULL 982 983 #define TEObj_hash NULL 984 #define TEObj_tp_init 0 985 986 #define TEObj_tp_alloc PyType_GenericAlloc 987 988 static PyObject *TEObj_tp_new(PyTypeObject *type, PyObject *_args, PyObject *_kwds) 989 { 990 PyObject *_self; 991 TEHandle itself; 992 char *kw[] = {"itself", 0}; 993 994 if (!PyArg_ParseTupleAndKeywords(_args, _kwds, "O&", kw, TEObj_Convert, &itself)) return NULL; 995 if ((_self = type->tp_alloc(type, 0)) == NULL) return NULL; 996 ((TEObject *)_self)->ob_itself = itself; 997 return _self; 998 } 999 1000 #define TEObj_tp_free PyObject_Del 1001 1002 1003 PyTypeObject TE_Type = { 1004 PyObject_HEAD_INIT(NULL) 1005 0, /*ob_size*/ 1006 "_TE.TE", /*tp_name*/ 1007 sizeof(TEObject), /*tp_basicsize*/ 1008 0, /*tp_itemsize*/ 1009 /* methods */ 1010 (destructor) TEObj_dealloc, /*tp_dealloc*/ 1011 0, /*tp_print*/ 1012 (getattrfunc)0, /*tp_getattr*/ 1013 (setattrfunc)0, /*tp_setattr*/ 1014 (cmpfunc) TEObj_compare, /*tp_compare*/ 1015 (reprfunc) TEObj_repr, /*tp_repr*/ 1016 (PyNumberMethods *)0, /* tp_as_number */ 1017 (PySequenceMethods *)0, /* tp_as_sequence */ 1018 (PyMappingMethods *)0, /* tp_as_mapping */ 1019 (hashfunc) TEObj_hash, /*tp_hash*/ 1020 0, /*tp_call*/ 1021 0, /*tp_str*/ 1022 PyObject_GenericGetAttr, /*tp_getattro*/ 1023 PyObject_GenericSetAttr, /*tp_setattro */ 1024 0, /*tp_as_buffer*/ 1025 Py_TPFLAGS_DEFAULT|Py_TPFLAGS_BASETYPE, /* tp_flags */ 1026 0, /*tp_doc*/ 1027 0, /*tp_traverse*/ 1028 0, /*tp_clear*/ 1029 0, /*tp_richcompare*/ 1030 0, /*tp_weaklistoffset*/ 1031 0, /*tp_iter*/ 1032 0, /*tp_iternext*/ 1033 TEObj_methods, /* tp_methods */ 1034 0, /*tp_members*/ 1035 TEObj_getsetlist, /*tp_getset*/ 1036 0, /*tp_base*/ 1037 0, /*tp_dict*/ 1038 0, /*tp_descr_get*/ 1039 0, /*tp_descr_set*/ 1040 0, /*tp_dictoffset*/ 1041 TEObj_tp_init, /* tp_init */ 1042 TEObj_tp_alloc, /* tp_alloc */ 1043 TEObj_tp_new, /* tp_new */ 1044 TEObj_tp_free, /* tp_free */ 1045 }; 1046 1047 /* ----------------------- End object type TE ----------------------- */ 1048 1049 1050 static PyObject *TE_TEScrapHandle(PyObject *_self, PyObject *_args) 1051 { 1052 PyObject *_res = NULL; 1053 Handle _rv; 1054 #ifndef TEScrapHandle 1055 PyMac_PRECHECK(TEScrapHandle); 1056 #endif 1057 if (!PyArg_ParseTuple(_args, "")) 1058 return NULL; 1059 _rv = TEScrapHandle(); 1060 _res = Py_BuildValue("O&", 1061 ResObj_New, _rv); 1062 return _res; 1063 } 1064 1065 static PyObject *TE_TEGetScrapLength(PyObject *_self, PyObject *_args) 1066 { 1067 PyObject *_res = NULL; 1068 long _rv; 1069 #ifndef TEGetScrapLength 1070 PyMac_PRECHECK(TEGetScrapLength); 1071 #endif 1072 if (!PyArg_ParseTuple(_args, "")) 1073 return NULL; 1074 _rv = TEGetScrapLength(); 1075 _res = Py_BuildValue("l", 1076 _rv); 1077 return _res; 1078 } 1079 1080 static PyObject *TE_TENew(PyObject *_self, PyObject *_args) 1081 { 1082 PyObject *_res = NULL; 1083 TEHandle _rv; 1084 Rect destRect; 1085 Rect viewRect; 1086 #ifndef TENew 1087 PyMac_PRECHECK(TENew); 1088 #endif 1089 if (!PyArg_ParseTuple(_args, "O&O&", 1090 PyMac_GetRect, &destRect, 1091 PyMac_GetRect, &viewRect)) 1092 return NULL; 1093 _rv = TENew(&destRect, 1094 &viewRect); 1095 _res = Py_BuildValue("O&", 1096 TEObj_New, _rv); 1097 return _res; 1098 } 1099 1100 static PyObject *TE_TETextBox(PyObject *_self, PyObject *_args) 1101 { 1102 PyObject *_res = NULL; 1103 char *text__in__; 1104 long text__len__; 1105 int text__in_len__; 1106 Rect box; 1107 short just; 1108 #ifndef TETextBox 1109 PyMac_PRECHECK(TETextBox); 1110 #endif 1111 if (!PyArg_ParseTuple(_args, "s#O&h", 1112 &text__in__, &text__in_len__, 1113 PyMac_GetRect, &box, 1114 &just)) 1115 return NULL; 1116 text__len__ = text__in_len__; 1117 TETextBox(text__in__, text__len__, 1118 &box, 1119 just); 1120 Py_INCREF(Py_None); 1121 _res = Py_None; 1122 return _res; 1123 } 1124 1125 static PyObject *TE_TEStyleNew(PyObject *_self, PyObject *_args) 1126 { 1127 PyObject *_res = NULL; 1128 TEHandle _rv; 1129 Rect destRect; 1130 Rect viewRect; 1131 #ifndef TEStyleNew 1132 PyMac_PRECHECK(TEStyleNew); 1133 #endif 1134 if (!PyArg_ParseTuple(_args, "O&O&", 1135 PyMac_GetRect, &destRect, 1136 PyMac_GetRect, &viewRect)) 1137 return NULL; 1138 _rv = TEStyleNew(&destRect, 1139 &viewRect); 1140 _res = Py_BuildValue("O&", 1141 TEObj_New, _rv); 1142 return _res; 1143 } 1144 1145 static PyObject *TE_TESetScrapLength(PyObject *_self, PyObject *_args) 1146 { 1147 PyObject *_res = NULL; 1148 long length; 1149 #ifndef TESetScrapLength 1150 PyMac_PRECHECK(TESetScrapLength); 1151 #endif 1152 if (!PyArg_ParseTuple(_args, "l", 1153 &length)) 1154 return NULL; 1155 TESetScrapLength(length); 1156 Py_INCREF(Py_None); 1157 _res = Py_None; 1158 return _res; 1159 } 1160 1161 static PyObject *TE_TEFromScrap(PyObject *_self, PyObject *_args) 1162 { 1163 PyObject *_res = NULL; 1164 OSErr _err; 1165 #ifndef TEFromScrap 1166 PyMac_PRECHECK(TEFromScrap); 1167 #endif 1168 if (!PyArg_ParseTuple(_args, "")) 1169 return NULL; 1170 _err = TEFromScrap(); 1171 if (_err != noErr) return PyMac_Error(_err); 1172 Py_INCREF(Py_None); 1173 _res = Py_None; 1174 return _res; 1175 } 1176 1177 static PyObject *TE_TEToScrap(PyObject *_self, PyObject *_args) 1178 { 1179 PyObject *_res = NULL; 1180 OSErr _err; 1181 #ifndef TEToScrap 1182 PyMac_PRECHECK(TEToScrap); 1183 #endif 1184 if (!PyArg_ParseTuple(_args, "")) 1185 return NULL; 1186 _err = TEToScrap(); 1187 if (_err != noErr) return PyMac_Error(_err); 1188 Py_INCREF(Py_None); 1189 _res = Py_None; 1190 return _res; 1191 } 1192 1193 static PyObject *TE_TEGetScrapHandle(PyObject *_self, PyObject *_args) 1194 { 1195 PyObject *_res = NULL; 1196 Handle _rv; 1197 #ifndef TEGetScrapHandle 1198 PyMac_PRECHECK(TEGetScrapHandle); 1199 #endif 1200 if (!PyArg_ParseTuple(_args, "")) 1201 return NULL; 1202 _rv = TEGetScrapHandle(); 1203 _res = Py_BuildValue("O&", 1204 ResObj_New, _rv); 1205 return _res; 1206 } 1207 1208 static PyObject *TE_TESetScrapHandle(PyObject *_self, PyObject *_args) 1209 { 1210 PyObject *_res = NULL; 1211 Handle value; 1212 #ifndef TESetScrapHandle 1213 PyMac_PRECHECK(TESetScrapHandle); 1214 #endif 1215 if (!PyArg_ParseTuple(_args, "O&", 1216 ResObj_Convert, &value)) 1217 return NULL; 1218 TESetScrapHandle(value); 1219 Py_INCREF(Py_None); 1220 _res = Py_None; 1221 return _res; 1222 } 1223 1224 static PyObject *TE_LMGetWordRedraw(PyObject *_self, PyObject *_args) 1225 { 1226 PyObject *_res = NULL; 1227 UInt8 _rv; 1228 #ifndef LMGetWordRedraw 1229 PyMac_PRECHECK(LMGetWordRedraw); 1230 #endif 1231 if (!PyArg_ParseTuple(_args, "")) 1232 return NULL; 1233 _rv = LMGetWordRedraw(); 1234 _res = Py_BuildValue("b", 1235 _rv); 1236 return _res; 1237 } 1238 1239 static PyObject *TE_LMSetWordRedraw(PyObject *_self, PyObject *_args) 1240 { 1241 PyObject *_res = NULL; 1242 UInt8 value; 1243 #ifndef LMSetWordRedraw 1244 PyMac_PRECHECK(LMSetWordRedraw); 1245 #endif 1246 if (!PyArg_ParseTuple(_args, "b", 1247 &value)) 1248 return NULL; 1249 LMSetWordRedraw(value); 1250 Py_INCREF(Py_None); 1251 _res = Py_None; 1252 return _res; 1253 } 1254 1255 static PyObject *TE_as_TE(PyObject *_self, PyObject *_args) 1256 { 1257 PyObject *_res = NULL; 1258 TEHandle _rv; 1259 Handle h; 1260 #ifndef as_TE 1261 PyMac_PRECHECK(as_TE); 1262 #endif 1263 if (!PyArg_ParseTuple(_args, "O&", 1264 ResObj_Convert, &h)) 1265 return NULL; 1266 _rv = as_TE(h); 1267 _res = Py_BuildValue("O&", 1268 TEObj_New, _rv); 1269 return _res; 1270 } 1271 #endif /* APPLE_SUPPORTS_QUICKTIME */ 1272 1273 static PyMethodDef TE_methods[] = { 1274 #if APPLE_SUPPORTS_QUICKTIME 1275 {"TEScrapHandle", (PyCFunction)TE_TEScrapHandle, 1, 1276 PyDoc_STR("() -> (Handle _rv)")}, 1277 {"TEGetScrapLength", (PyCFunction)TE_TEGetScrapLength, 1, 1278 PyDoc_STR("() -> (long _rv)")}, 1279 {"TENew", (PyCFunction)TE_TENew, 1, 1280 PyDoc_STR("(Rect destRect, Rect viewRect) -> (TEHandle _rv)")}, 1281 {"TETextBox", (PyCFunction)TE_TETextBox, 1, 1282 PyDoc_STR("(Buffer text, Rect box, short just) -> None")}, 1283 {"TEStyleNew", (PyCFunction)TE_TEStyleNew, 1, 1284 PyDoc_STR("(Rect destRect, Rect viewRect) -> (TEHandle _rv)")}, 1285 {"TESetScrapLength", (PyCFunction)TE_TESetScrapLength, 1, 1286 PyDoc_STR("(long length) -> None")}, 1287 {"TEFromScrap", (PyCFunction)TE_TEFromScrap, 1, 1288 PyDoc_STR("() -> None")}, 1289 {"TEToScrap", (PyCFunction)TE_TEToScrap, 1, 1290 PyDoc_STR("() -> None")}, 1291 {"TEGetScrapHandle", (PyCFunction)TE_TEGetScrapHandle, 1, 1292 PyDoc_STR("() -> (Handle _rv)")}, 1293 {"TESetScrapHandle", (PyCFunction)TE_TESetScrapHandle, 1, 1294 PyDoc_STR("(Handle value) -> None")}, 1295 {"LMGetWordRedraw", (PyCFunction)TE_LMGetWordRedraw, 1, 1296 PyDoc_STR("() -> (UInt8 _rv)")}, 1297 {"LMSetWordRedraw", (PyCFunction)TE_LMSetWordRedraw, 1, 1298 PyDoc_STR("(UInt8 value) -> None")}, 1299 {"as_TE", (PyCFunction)TE_as_TE, 1, 1300 PyDoc_STR("(Handle h) -> (TEHandle _rv)")}, 1301 #endif /* APPLE_SUPPORTS_QUICKTIME */ 1302 {NULL, NULL, 0} 1303 }; 1304 1305 1306 1307 1308 void init_TE(void) 1309 { 1310 PyObject *m; 1311 #if APPLE_SUPPORTS_QUICKTIME 1312 PyObject *d; 1313 1314 1315 1316 PyMac_INIT_TOOLBOX_OBJECT_NEW(TEHandle, TEObj_New); 1317 PyMac_INIT_TOOLBOX_OBJECT_CONVERT(TEHandle, TEObj_Convert); 1318 1319 #endif /* APPLE_SUPPORTS_QUICKTIME */ 1320 1321 m = Py_InitModule("_TE", TE_methods); 1322 #if APPLE_SUPPORTS_QUICKTIME 1323 d = PyModule_GetDict(m); 1324 TE_Error = PyMac_GetOSErrException(); 1325 if (TE_Error == NULL || 1326 PyDict_SetItemString(d, "Error", TE_Error) != 0) 1327 return; 1328 TE_Type.ob_type = &PyType_Type; 1329 if (PyType_Ready(&TE_Type) < 0) return; 1330 Py_INCREF(&TE_Type); 1331 PyModule_AddObject(m, "TE", (PyObject *)&TE_Type); 1332 /* Backward-compatible name */ 1333 Py_INCREF(&TE_Type); 1334 PyModule_AddObject(m, "TEType", (PyObject *)&TE_Type); 1335 #endif /* APPLE_SUPPORTS_QUICKTIME */ 1336 } 1337 1338 /* ========================= End module _TE ========================= */ 1339 1340