21 #ifndef __COMPONENTS__
33 #ifndef __QUICKDRAWTEXT__
54 #if PRAGMA_STRUCT_ALIGN
55 #pragma options align = mac68k
56 #elif PRAGMA_STRUCT_PACKPUSH
58 #elif PRAGMA_STRUCT_PACK
87 hilitetransfermode = 50,
149 interlacedDevice = 2,
150 hwMirroredDevice = 4,
181 kQDGrafVerbFrame = 0,
182 kQDGrafVerbPaint = 1,
183 kQDGrafVerbErase = 2,
184 kQDGrafVerbInvert = 3,
191 frame = kQDGrafVerbFrame,
192 paint = kQDGrafVerbPaint,
193 erase = kQDGrafVerbErase,
194 invert = kQDGrafVerbInvert,
195 fill = kQDGrafVerbFill
200 typedef SInt8 GrafVerb;
208 typedef SInt8 PixelType;
209 typedef short Bits16[16];
236 typedef SignedByte QDByte;
237 typedef QDByte *QDPtr;
238 typedef QDPtr *QDHandle;
242 singleDevicesBit = 0,
243 dontMatchSeedsBit = 1,
249 singleDevices = 1 << singleDevicesBit,
250 dontMatchSeeds = 1 << dontMatchSeedsBit,
251 allDevices = 1 << allDevicesBit
254 typedef unsigned long DeviceLoopFlags;
262 kPrinterFontStatus = 0,
263 kPrinterScalingStatus = 1
275 Point oScalingFactors;
304 #if !OPAQUE_TOOLBOX_STRUCTS
307 unsigned short rgnSize;
322 typedef struct OpaqueRgnHandle *
RgnHandle;
350 typedef CALLBACK_API(
void, QDTextProcPtr)(
short byteCount,
const void *textBuf,
352 typedef CALLBACK_API(
void, QDLineProcPtr)(
Point newPt);
353 typedef CALLBACK_API(
void, QDRectProcPtr)(GrafVerb verb,
const Rect *
r);
354 typedef CALLBACK_API(
void, QDRRectProcPtr)(GrafVerb verb,
const Rect *
r,
355 short ovalWidth,
short ovalHeight);
356 typedef CALLBACK_API(
void, QDOvalProcPtr)(GrafVerb verb,
const Rect *
r);
357 typedef CALLBACK_API(
void, QDArcProcPtr)(GrafVerb verb,
const Rect *
r,
358 short startAngle,
short arcAngle);
359 typedef CALLBACK_API(
void, QDPolyProcPtr)(GrafVerb verb,
PolyHandle poly);
360 typedef CALLBACK_API(
void, QDRgnProcPtr)(GrafVerb verb,
RgnHandle rgn);
361 typedef CALLBACK_API(
void, QDBitsProcPtr)(
const BitMap *srcBits,
363 const Rect *dstRect,
short mode,
365 typedef CALLBACK_API(
void, QDCommentProcPtr)(
short kind,
short dataSize,
367 typedef CALLBACK_API(
short, QDTxMeasProcPtr)(
short byteCount,
368 const void *textAddr,
Point *numer,
370 typedef CALLBACK_API(
void, QDGetPicProcPtr)(
void *dataPtr,
short byteCount);
371 typedef CALLBACK_API(
void, QDPutPicProcPtr)(
const void *dataPtr,
373 typedef CALLBACK_API(
void, QDOpcodeProcPtr)(
const Rect *fromRect,
376 typedef CALLBACK_API_C(OSStatus, QDStdGlyphsProcPtr)(
void *dataStream,
378 typedef CALLBACK_API(
void, QDJShieldCursorProcPtr)(
short left,
short top,
379 short right,
short bottom);
395 typedef STACK_UPP_TYPE(QDJShieldCursorProcPtr) QDJShieldCursorUPP;
401 QDRRectUPP rRectProc;
407 QDCommentUPP commentProc;
408 QDTxMeasUPP txMeasProc;
409 QDGetPicUPP getPicProc;
410 QDPutPicUPP putPicProc;
424 #if !OPAQUE_UPP_TYPES
427 uppQDTextProcInfo = 0x00003F80
430 inline QDTextUPP
NewQDTextUPP(QDTextProcPtr userRoutine)
433 (ProcPtr)(userRoutine), uppQDTextProcInfo, GetCurrentArchitecture());
436 #define NewQDTextUPP(userRoutine) \
437 (QDTextUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDTextProcInfo, \
438 GetCurrentArchitecture())
452 #if !OPAQUE_UPP_TYPES
455 uppQDLineProcInfo = 0x000000C0
458 inline QDLineUPP
NewQDLineUPP(QDLineProcPtr userRoutine)
461 (ProcPtr)(userRoutine), uppQDLineProcInfo, GetCurrentArchitecture());
464 #define NewQDLineUPP(userRoutine) \
465 (QDLineUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDLineProcInfo, \
466 GetCurrentArchitecture())
480 #if !OPAQUE_UPP_TYPES
483 uppQDRectProcInfo = 0x00000340
486 inline QDRectUPP
NewQDRectUPP(QDRectProcPtr userRoutine)
489 (ProcPtr)(userRoutine), uppQDRectProcInfo, GetCurrentArchitecture());
492 #define NewQDRectUPP(userRoutine) \
493 (QDRectUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRectProcInfo, \
494 GetCurrentArchitecture())
508 #if !OPAQUE_UPP_TYPES
511 uppQDRRectProcInfo = 0x00002B40
517 (ProcPtr)(userRoutine), uppQDRRectProcInfo, GetCurrentArchitecture());
520 #define NewQDRRectUPP(userRoutine) \
521 (QDRRectUPP) NewRoutineDescriptor( \
522 (ProcPtr)(userRoutine), uppQDRRectProcInfo, GetCurrentArchitecture())
536 #if !OPAQUE_UPP_TYPES
539 uppQDOvalProcInfo = 0x00000340
542 inline QDOvalUPP
NewQDOvalUPP(QDOvalProcPtr userRoutine)
545 (ProcPtr)(userRoutine), uppQDOvalProcInfo, GetCurrentArchitecture());
548 #define NewQDOvalUPP(userRoutine) \
549 (QDOvalUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDOvalProcInfo, \
550 GetCurrentArchitecture())
564 #if !OPAQUE_UPP_TYPES
567 uppQDArcProcInfo = 0x00002B40
570 inline QDArcUPP
NewQDArcUPP(QDArcProcPtr userRoutine)
573 (ProcPtr)(userRoutine), uppQDArcProcInfo, GetCurrentArchitecture());
576 #define NewQDArcUPP(userRoutine) \
577 (QDArcUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDArcProcInfo, \
578 GetCurrentArchitecture())
592 #if !OPAQUE_UPP_TYPES
595 uppQDPolyProcInfo = 0x00000340
598 inline QDPolyUPP
NewQDPolyUPP(QDPolyProcPtr userRoutine)
601 (ProcPtr)(userRoutine), uppQDPolyProcInfo, GetCurrentArchitecture());
604 #define NewQDPolyUPP(userRoutine) \
605 (QDPolyUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPolyProcInfo, \
606 GetCurrentArchitecture())
620 #if !OPAQUE_UPP_TYPES
623 uppQDRgnProcInfo = 0x00000340
626 inline QDRgnUPP
NewQDRgnUPP(QDRgnProcPtr userRoutine)
629 (ProcPtr)(userRoutine), uppQDRgnProcInfo, GetCurrentArchitecture());
632 #define NewQDRgnUPP(userRoutine) \
633 (QDRgnUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDRgnProcInfo, \
634 GetCurrentArchitecture())
648 #if !OPAQUE_UPP_TYPES
651 uppQDBitsProcInfo = 0x0000EFC0
655 inline QDBitsUPP
NewQDBitsUPP(QDBitsProcPtr userRoutine)
658 (ProcPtr)(userRoutine), uppQDBitsProcInfo, GetCurrentArchitecture());
661 #define NewQDBitsUPP(userRoutine) \
662 (QDBitsUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDBitsProcInfo, \
663 GetCurrentArchitecture())
677 #if !OPAQUE_UPP_TYPES
680 uppQDCommentProcInfo = 0x00000E80
686 (ProcPtr)(userRoutine), uppQDCommentProcInfo, GetCurrentArchitecture());
689 #define NewQDCommentUPP(userRoutine) \
690 (QDCommentUPP) NewRoutineDescriptor( \
691 (ProcPtr)(userRoutine), uppQDCommentProcInfo, GetCurrentArchitecture())
705 #if !OPAQUE_UPP_TYPES
708 uppQDTxMeasProcInfo = 0x0000FFA0
714 (ProcPtr)(userRoutine), uppQDTxMeasProcInfo, GetCurrentArchitecture());
717 #define NewQDTxMeasUPP(userRoutine) \
718 (QDTxMeasUPP) NewRoutineDescriptor( \
719 (ProcPtr)(userRoutine), uppQDTxMeasProcInfo, GetCurrentArchitecture())
733 #if !OPAQUE_UPP_TYPES
736 uppQDGetPicProcInfo = 0x000002C0
742 (ProcPtr)(userRoutine), uppQDGetPicProcInfo, GetCurrentArchitecture());
745 #define NewQDGetPicUPP(userRoutine) \
746 (QDGetPicUPP) NewRoutineDescriptor( \
747 (ProcPtr)(userRoutine), uppQDGetPicProcInfo, GetCurrentArchitecture())
761 #if !OPAQUE_UPP_TYPES
764 uppQDPutPicProcInfo = 0x000002C0
770 (ProcPtr)(userRoutine), uppQDPutPicProcInfo, GetCurrentArchitecture());
773 #define NewQDPutPicUPP(userRoutine) \
774 (QDPutPicUPP) NewRoutineDescriptor( \
775 (ProcPtr)(userRoutine), uppQDPutPicProcInfo, GetCurrentArchitecture())
789 #if !OPAQUE_UPP_TYPES
792 uppQDOpcodeProcInfo = 0x00002BC0
798 (ProcPtr)(userRoutine), uppQDOpcodeProcInfo, GetCurrentArchitecture());
801 #define NewQDOpcodeUPP(userRoutine) \
802 (QDOpcodeUPP) NewRoutineDescriptor( \
803 (ProcPtr)(userRoutine), uppQDOpcodeProcInfo, GetCurrentArchitecture())
817 #if !OPAQUE_UPP_TYPES
820 uppQDStdGlyphsProcInfo = 0x000003F1
826 (ProcPtr)(userRoutine), uppQDStdGlyphsProcInfo, GetCurrentArchitecture());
829 #define NewQDStdGlyphsUPP(userRoutine) \
831 NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDStdGlyphsProcInfo, \
832 GetCurrentArchitecture())
846 #if !OPAQUE_UPP_TYPES
849 uppQDJShieldCursorProcInfo = 0x00002A80
852 inline QDJShieldCursorUPP
856 uppQDJShieldCursorProcInfo,
857 GetCurrentArchitecture());
860 #define NewQDJShieldCursorUPP(userRoutine) \
861 (QDJShieldCursorUPP) \
862 NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDJShieldCursorProcInfo, \
863 GetCurrentArchitecture())
877 #if !OPAQUE_UPP_TYPES
884 #define DisposeQDTextUPP(userUPP) DisposeRoutineDescriptor(userUPP)
898 #if !OPAQUE_UPP_TYPES
905 #define DisposeQDLineUPP(userUPP) DisposeRoutineDescriptor(userUPP)
919 #if !OPAQUE_UPP_TYPES
926 #define DisposeQDRectUPP(userUPP) DisposeRoutineDescriptor(userUPP)
940 #if !OPAQUE_UPP_TYPES
947 #define DisposeQDRRectUPP(userUPP) DisposeRoutineDescriptor(userUPP)
961 #if !OPAQUE_UPP_TYPES
968 #define DisposeQDOvalUPP(userUPP) DisposeRoutineDescriptor(userUPP)
982 #if !OPAQUE_UPP_TYPES
989 #define DisposeQDArcUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1003 #if !OPAQUE_UPP_TYPES
1010 #define DisposeQDPolyUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1024 #if !OPAQUE_UPP_TYPES
1031 #define DisposeQDRgnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1045 #if !OPAQUE_UPP_TYPES
1052 #define DisposeQDBitsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1066 #if !OPAQUE_UPP_TYPES
1073 #define DisposeQDCommentUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1087 #if !OPAQUE_UPP_TYPES
1094 #define DisposeQDTxMeasUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1108 #if !OPAQUE_UPP_TYPES
1115 #define DisposeQDGetPicUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1129 #if !OPAQUE_UPP_TYPES
1136 #define DisposeQDPutPicUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1150 #if !OPAQUE_UPP_TYPES
1157 #define DisposeQDOpcodeUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1171 #if !OPAQUE_UPP_TYPES
1178 #define DisposeQDStdGlyphsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1192 #if !OPAQUE_UPP_TYPES
1199 #define DisposeQDJShieldCursorUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1214 #if !OPAQUE_UPP_TYPES
1217 Point denom, QDTextUPP userUPP)
1219 CALL_FOUR_PARAMETER_UPP(userUPP, uppQDTextProcInfo, byteCount, textBuf, numer,
1223 #define InvokeQDTextUPP(byteCount, textBuf, numer, denom, userUPP) \
1224 CALL_FOUR_PARAMETER_UPP((userUPP), uppQDTextProcInfo, (byteCount), \
1225 (textBuf), (numer), (denom))
1239 #if !OPAQUE_UPP_TYPES
1243 CALL_ONE_PARAMETER_UPP(userUPP, uppQDLineProcInfo, newPt);
1246 #define InvokeQDLineUPP(newPt, userUPP) \
1247 CALL_ONE_PARAMETER_UPP((userUPP), uppQDLineProcInfo, (newPt))
1261 #if !OPAQUE_UPP_TYPES
1265 CALL_TWO_PARAMETER_UPP(userUPP, uppQDRectProcInfo, verb, r);
1268 #define InvokeQDRectUPP(verb, r, userUPP) \
1269 CALL_TWO_PARAMETER_UPP((userUPP), uppQDRectProcInfo, (verb), (r))
1283 short ovalHeight, QDRRectUPP userUPP);
1284 #if !OPAQUE_UPP_TYPES
1287 short ovalHeight, QDRRectUPP userUPP)
1289 CALL_FOUR_PARAMETER_UPP(userUPP, uppQDRRectProcInfo, verb, r, ovalWidth,
1293 #define InvokeQDRRectUPP(verb, r, ovalWidth, ovalHeight, userUPP) \
1294 CALL_FOUR_PARAMETER_UPP((userUPP), uppQDRRectProcInfo, (verb), (r), \
1295 (ovalWidth), (ovalHeight))
1309 #if !OPAQUE_UPP_TYPES
1313 CALL_TWO_PARAMETER_UPP(userUPP, uppQDOvalProcInfo, verb, r);
1316 #define InvokeQDOvalUPP(verb, r, userUPP) \
1317 CALL_TWO_PARAMETER_UPP((userUPP), uppQDOvalProcInfo, (verb), (r))
1332 #if !OPAQUE_UPP_TYPES
1335 short arcAngle, QDArcUPP userUPP)
1337 CALL_FOUR_PARAMETER_UPP(userUPP, uppQDArcProcInfo, verb, r, startAngle,
1341 #define InvokeQDArcUPP(verb, r, startAngle, arcAngle, userUPP) \
1342 CALL_FOUR_PARAMETER_UPP((userUPP), uppQDArcProcInfo, (verb), (r), \
1343 (startAngle), (arcAngle))
1357 #if !OPAQUE_UPP_TYPES
1361 CALL_TWO_PARAMETER_UPP(userUPP, uppQDPolyProcInfo, verb,
poly);
1364 #define InvokeQDPolyUPP(verb, poly, userUPP) \
1365 CALL_TWO_PARAMETER_UPP((userUPP), uppQDPolyProcInfo, (verb), (poly))
1379 #if !OPAQUE_UPP_TYPES
1383 CALL_TWO_PARAMETER_UPP(userUPP, uppQDRgnProcInfo, verb,
rgn);
1386 #define InvokeQDRgnUPP(verb, rgn, userUPP) \
1387 CALL_TWO_PARAMETER_UPP((userUPP), uppQDRgnProcInfo, (verb), (rgn))
1401 short mode,
RgnHandle maskRgn, QDBitsUPP userUPP);
1402 #if !OPAQUE_UPP_TYPES
1408 CALL_FIVE_PARAMETER_UPP(userUPP, uppQDBitsProcInfo, srcBits,
srcRect, dstRect,
1412 #define InvokeQDBitsUPP(srcBits, srcRect, dstRect, mode, maskRgn, userUPP) \
1413 CALL_FIVE_PARAMETER_UPP((userUPP), uppQDBitsProcInfo, (srcBits), (srcRect), \
1414 (dstRect), (mode), (maskRgn))
1428 QDCommentUPP userUPP);
1429 #if !OPAQUE_UPP_TYPES
1432 QDCommentUPP userUPP)
1434 CALL_THREE_PARAMETER_UPP(userUPP, uppQDCommentProcInfo, kind, dataSize,
1438 #define InvokeQDCommentUPP(kind, dataSize, dataHandle, userUPP) \
1439 CALL_THREE_PARAMETER_UPP((userUPP), uppQDCommentProcInfo, (kind), \
1440 (dataSize), (dataHandle))
1455 #if !OPAQUE_UPP_TYPES
1459 QDTxMeasUPP userUPP)
1461 return (
short)CALL_FIVE_PARAMETER_UPP(userUPP, uppQDTxMeasProcInfo, byteCount,
1462 textAddr, numer, denom, info);
1465 #define InvokeQDTxMeasUPP(byteCount, textAddr, numer, denom, info, userUPP) \
1466 (short)CALL_FIVE_PARAMETER_UPP((userUPP), uppQDTxMeasProcInfo, (byteCount), \
1467 (textAddr), (numer), (denom), (info))
1481 #if !OPAQUE_UPP_TYPES
1484 QDGetPicUPP userUPP)
1486 CALL_TWO_PARAMETER_UPP(userUPP, uppQDGetPicProcInfo, dataPtr, byteCount);
1489 #define InvokeQDGetPicUPP(dataPtr, byteCount, userUPP) \
1490 CALL_TWO_PARAMETER_UPP((userUPP), uppQDGetPicProcInfo, (dataPtr), (byteCount))
1504 #if !OPAQUE_UPP_TYPES
1507 QDPutPicUPP userUPP)
1509 CALL_TWO_PARAMETER_UPP(userUPP, uppQDPutPicProcInfo, dataPtr, byteCount);
1512 #define InvokeQDPutPicUPP(dataPtr, byteCount, userUPP) \
1513 CALL_TWO_PARAMETER_UPP((userUPP), uppQDPutPicProcInfo, (dataPtr), (byteCount))
1527 SInt16 version, QDOpcodeUPP userUPP);
1528 #if !OPAQUE_UPP_TYPES
1531 UInt16 opcode, SInt16 version,
1532 QDOpcodeUPP userUPP)
1534 CALL_FOUR_PARAMETER_UPP(userUPP, uppQDOpcodeProcInfo, fromRect,
toRect,
1538 #define InvokeQDOpcodeUPP(fromRect, toRect, opcode, version, userUPP) \
1539 CALL_FOUR_PARAMETER_UPP((userUPP), uppQDOpcodeProcInfo, (fromRect), \
1540 (toRect), (opcode), (version))
1554 #if !OPAQUE_UPP_TYPES
1557 QDStdGlyphsUPP userUPP)
1559 return (OSStatus)CALL_TWO_PARAMETER_UPP(userUPP, uppQDStdGlyphsProcInfo,
1563 #define InvokeQDStdGlyphsUPP(dataStream, size, userUPP) \
1564 (OSStatus) CALL_TWO_PARAMETER_UPP((userUPP), uppQDStdGlyphsProcInfo, \
1565 (dataStream), (size))
1579 QDJShieldCursorUPP userUPP);
1580 #if !OPAQUE_UPP_TYPES
1583 short bottom, QDJShieldCursorUPP userUPP)
1585 CALL_FOUR_PARAMETER_UPP(userUPP, uppQDJShieldCursorProcInfo, left, top, right,
1589 #define InvokeQDJShieldCursorUPP(left, top, right, bottom, userUPP) \
1590 CALL_FOUR_PARAMETER_UPP((userUPP), uppQDJShieldCursorProcInfo, (left), \
1591 (top), (right), (bottom))
1595 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
1597 #define NewQDTextProc(userRoutine) NewQDTextUPP(userRoutine)
1598 #define NewQDLineProc(userRoutine) NewQDLineUPP(userRoutine)
1599 #define NewQDRectProc(userRoutine) NewQDRectUPP(userRoutine)
1600 #define NewQDRRectProc(userRoutine) NewQDRRectUPP(userRoutine)
1601 #define NewQDOvalProc(userRoutine) NewQDOvalUPP(userRoutine)
1602 #define NewQDArcProc(userRoutine) NewQDArcUPP(userRoutine)
1603 #define NewQDPolyProc(userRoutine) NewQDPolyUPP(userRoutine)
1604 #define NewQDRgnProc(userRoutine) NewQDRgnUPP(userRoutine)
1605 #define NewQDBitsProc(userRoutine) NewQDBitsUPP(userRoutine)
1606 #define NewQDCommentProc(userRoutine) NewQDCommentUPP(userRoutine)
1607 #define NewQDTxMeasProc(userRoutine) NewQDTxMeasUPP(userRoutine)
1608 #define NewQDGetPicProc(userRoutine) NewQDGetPicUPP(userRoutine)
1609 #define NewQDPutPicProc(userRoutine) NewQDPutPicUPP(userRoutine)
1610 #define NewQDOpcodeProc(userRoutine) NewQDOpcodeUPP(userRoutine)
1611 #define NewQDStdGlyphsProc(userRoutine) NewQDStdGlyphsUPP(userRoutine)
1612 #define NewQDJShieldCursorProc(userRoutine) NewQDJShieldCursorUPP(userRoutine)
1613 #define CallQDTextProc(userRoutine, byteCount, textBuf, numer, denom) \
1614 InvokeQDTextUPP(byteCount, textBuf, numer, denom, userRoutine)
1615 #define CallQDLineProc(userRoutine, newPt) InvokeQDLineUPP(newPt, userRoutine)
1616 #define CallQDRectProc(userRoutine, verb, r) \
1617 InvokeQDRectUPP(verb, r, userRoutine)
1618 #define CallQDRRectProc(userRoutine, verb, r, ovalWidth, ovalHeight) \
1619 InvokeQDRRectUPP(verb, r, ovalWidth, ovalHeight, userRoutine)
1620 #define CallQDOvalProc(userRoutine, verb, r) \
1621 InvokeQDOvalUPP(verb, r, userRoutine)
1622 #define CallQDArcProc(userRoutine, verb, r, startAngle, arcAngle) \
1623 InvokeQDArcUPP(verb, r, startAngle, arcAngle, userRoutine)
1624 #define CallQDPolyProc(userRoutine, verb, poly) \
1625 InvokeQDPolyUPP(verb, poly, userRoutine)
1626 #define CallQDRgnProc(userRoutine, verb, rgn) \
1627 InvokeQDRgnUPP(verb, rgn, userRoutine)
1628 #define CallQDBitsProc(userRoutine, srcBits, srcRect, dstRect, mode, maskRgn) \
1629 InvokeQDBitsUPP(srcBits, srcRect, dstRect, mode, maskRgn, userRoutine)
1630 #define CallQDCommentProc(userRoutine, kind, dataSize, dataHandle) \
1631 InvokeQDCommentUPP(kind, dataSize, dataHandle, userRoutine)
1632 #define CallQDTxMeasProc(userRoutine, byteCount, textAddr, numer, denom, info) \
1633 InvokeQDTxMeasUPP(byteCount, textAddr, numer, denom, info, userRoutine)
1634 #define CallQDGetPicProc(userRoutine, dataPtr, byteCount) \
1635 InvokeQDGetPicUPP(dataPtr, byteCount, userRoutine)
1636 #define CallQDPutPicProc(userRoutine, dataPtr, byteCount) \
1637 InvokeQDPutPicUPP(dataPtr, byteCount, userRoutine)
1638 #define CallQDOpcodeProc(userRoutine, fromRect, toRect, opcode, version) \
1639 InvokeQDOpcodeUPP(fromRect, toRect, opcode, version, userRoutine)
1640 #define CallQDStdGlyphsProc(userRoutine, dataStream, size) \
1641 InvokeQDStdGlyphsUPP(dataStream, size, userRoutine)
1642 #define CallQDJShieldCursorProc(userRoutine, left, top, right, bottom) \
1643 InvokeQDJShieldCursorUPP(left, top, right, bottom, userRoutine)
1646 #if !OPAQUE_TOOLBOX_STRUCTS
1688 typedef struct OpaqueWindowPtr *
WindowPtr;
1689 typedef struct OpaqueDialogPtr *
DialogPtr;
1690 typedef struct OpaqueGrafPtr *
GrafPtr;
1696 typedef UInt16 DragConstraint;
1700 kVerticalConstraint = 1,
1701 kHorizontalConstraint = 2
1704 typedef CALLBACK_API(
void, DragGrayRgnProcPtr)(void);
1712 unsigned short green;
1713 unsigned short blue;
1723 typedef STACK_UPP_TYPE(ColorComplementProcPtr) ColorComplementUPP;
1734 #if !OPAQUE_UPP_TYPES
1737 uppDragGrayRgnProcInfo = 0x00000000
1743 (ProcPtr)(userRoutine), uppDragGrayRgnProcInfo, GetCurrentArchitecture());
1746 #define NewDragGrayRgnUPP(userRoutine) \
1748 NewRoutineDescriptor((ProcPtr)(userRoutine), uppDragGrayRgnProcInfo, \
1749 GetCurrentArchitecture())
1763 #if !OPAQUE_UPP_TYPES
1766 uppColorSearchProcInfo = 0x000003D0
1772 (ProcPtr)(userRoutine), uppColorSearchProcInfo, GetCurrentArchitecture());
1775 #define NewColorSearchUPP(userRoutine) \
1777 NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorSearchProcInfo, \
1778 GetCurrentArchitecture())
1792 #if !OPAQUE_UPP_TYPES
1795 uppColorComplementProcInfo = 0x000000D0
1798 inline ColorComplementUPP
1802 uppColorComplementProcInfo,
1803 GetCurrentArchitecture());
1806 #define NewColorComplementUPP(userRoutine) \
1807 (ColorComplementUPP) \
1808 NewRoutineDescriptor((ProcPtr)(userRoutine), uppColorComplementProcInfo, \
1809 GetCurrentArchitecture())
1823 #if !OPAQUE_UPP_TYPES
1830 #define DisposeDragGrayRgnUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1844 #if !OPAQUE_UPP_TYPES
1851 #define DisposeColorSearchUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1865 #if !OPAQUE_UPP_TYPES
1872 #define DisposeColorComplementUPP(userUPP) DisposeRoutineDescriptor(userUPP)
1886 #if !OPAQUE_UPP_TYPES
1893 #define InvokeDragGrayRgnUPP(userUPP) \
1894 CALL_ZERO_PARAMETER_UPP((userUPP), uppDragGrayRgnProcInfo)
1908 #if !OPAQUE_UPP_TYPES
1911 ColorSearchUPP userUPP)
1913 return (
Boolean)CALL_TWO_PARAMETER_UPP(userUPP, uppColorSearchProcInfo, rgb,
1917 #define InvokeColorSearchUPP(rgb, position, userUPP) \
1918 (Boolean) CALL_TWO_PARAMETER_UPP((userUPP), uppColorSearchProcInfo, (rgb), \
1933 #if !OPAQUE_UPP_TYPES
1936 ColorComplementUPP userUPP)
1938 return (
Boolean)CALL_ONE_PARAMETER_UPP(userUPP, uppColorComplementProcInfo,
1942 #define InvokeColorComplementUPP(rgb, userUPP) \
1943 (Boolean) CALL_ONE_PARAMETER_UPP((userUPP), uppColorComplementProcInfo, (rgb))
1947 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
1949 #define NewDragGrayRgnProc(userRoutine) NewDragGrayRgnUPP(userRoutine)
1950 #define NewColorSearchProc(userRoutine) NewColorSearchUPP(userRoutine)
1951 #define NewColorComplementProc(userRoutine) NewColorComplementUPP(userRoutine)
1952 #define CallDragGrayRgnProc(userRoutine) InvokeDragGrayRgnUPP(userRoutine)
1953 #define CallColorSearchProc(userRoutine, rgb, position) \
1954 InvokeColorSearchUPP(rgb, position, userRoutine)
1955 #define CallColorComplementProc(userRoutine, rgb) \
1956 InvokeColorComplementUPP(rgb, userRoutine)
1989 unsigned short green;
1990 unsigned short blue;
2002 #ifndef OLDPIXMAPSTRUCT
2003 #if TARGET_OS_MAC && TARGET_API_MAC_OS8
2004 #define OLDPIXMAPSTRUCT 1
2006 #define OLDPIXMAPSTRUCT 0
2012 #define GETPIXMAPPIXELFORMAT(pm) ((pm)->pixelSize)
2014 #define GETPIXMAPPIXELFORMAT(pm) \
2015 (((pm)->pixelFormat != 0) ? (pm)->pixelFormat : (pm)->pixelSize)
2018 #if TARGET_OS_MAC && TARGET_API_MAC_OS8
2019 #define NON_MAC_PIXEL_FORMATS 0
2021 #define NON_MAC_PIXEL_FORMATS 1
2027 k1MonochromePixelFormat = 0x00000001,
2028 k2IndexedPixelFormat = 0x00000002,
2029 k4IndexedPixelFormat = 0x00000004,
2030 k8IndexedPixelFormat = 0x00000008,
2031 k16BE555PixelFormat = 0x00000010,
2032 k24RGBPixelFormat = 0x00000018,
2033 k32ARGBPixelFormat = 0x00000020,
2034 k1IndexedGrayPixelFormat = 0x00000021,
2035 k2IndexedGrayPixelFormat = 0x00000022,
2036 k4IndexedGrayPixelFormat = 0x00000024,
2037 k8IndexedGrayPixelFormat = 0x00000028
2043 k16LE555PixelFormat = FOUR_CHAR_CODE(
'L555'),
2044 k16LE5551PixelFormat = FOUR_CHAR_CODE(
'5551'),
2045 k16BE565PixelFormat = FOUR_CHAR_CODE(
'B565'),
2046 k16LE565PixelFormat = FOUR_CHAR_CODE(
'L565'),
2047 k24BGRPixelFormat = FOUR_CHAR_CODE(
'24BG'),
2048 k32BGRAPixelFormat = FOUR_CHAR_CODE(
'BGRA'),
2049 k32ABGRPixelFormat = FOUR_CHAR_CODE(
'ABGR'),
2050 k32RGBAPixelFormat = FOUR_CHAR_CODE(
'RGBA'),
2052 FOUR_CHAR_CODE(
'yuvs'),
2054 FOUR_CHAR_CODE(
'yuvu'),
2055 kYVU9PixelFormat = FOUR_CHAR_CODE(
'YVU9'),
2056 kYUV411PixelFormat = FOUR_CHAR_CODE(
'Y411'),
2057 kYVYU422PixelFormat = FOUR_CHAR_CODE(
'YVYU'),
2058 kUYVY422PixelFormat = FOUR_CHAR_CODE(
'UYVY'),
2059 kYUV211PixelFormat = FOUR_CHAR_CODE(
'Y211'),
2060 k2vuyPixelFormat = FOUR_CHAR_CODE(
'2vuy')
2129 short gFormulaData[1];
2146 ColorSearchUPP srchProc;
2154 ColorComplementUPP compProc;
2165 #ifndef OLDGDEVICESTRUCT
2166 #if TARGET_OS_MAC && TARGET_API_MAC_OS8
2167 #define OLDGDEVICESTRUCT 1
2169 #define OLDGDEVICESTRUCT 0
2196 #if OLDGDEVICESTRUCT
2217 #if !OPAQUE_TOOLBOX_STRUCTS
2224 typedef CALLBACK_API_C(OSStatus,
2227 void *printerStatus);
2228 typedef STACK_UPP_TYPE(QDPrinterStatusProcPtr) QDPrinterStatusUPP;
2235 QDRRectUPP rRectProc;
2241 QDCommentUPP commentProc;
2242 QDTxMeasUPP txMeasProc;
2243 QDGetPicUPP getPicProc;
2244 QDPutPicUPP putPicProc;
2245 QDOpcodeUPP opcodeProc;
2253 UniversalProcPtr newProc4;
2254 UniversalProcPtr newProc5;
2255 UniversalProcPtr newProc6;
2259 #if !OPAQUE_TOOLBOX_STRUCTS
2298 #if OPAQUE_TOOLBOX_STRUCTS
2322 kCursorImageMajorVersion = 0x0001,
2323 kCursorImageMinorVersion = 0x0000
2328 UInt16 majorVersion;
2329 UInt16 minorVersion;
2335 typedef CALLBACK_API(
void, DeviceLoopDrawingProcPtr)(
short depth,
2339 typedef STACK_UPP_TYPE(DeviceLoopDrawingProcPtr) DeviceLoopDrawingUPP;
2340 #if CALL_NOT_IN_CARBON
2351 #if !OPAQUE_UPP_TYPES
2354 uppQDPrinterStatusProcInfo = 0x00000FF1
2357 inline QDPrinterStatusUPP
2361 uppQDPrinterStatusProcInfo,
2362 GetCurrentArchitecture());
2365 #define NewQDPrinterStatusUPP(userRoutine) \
2366 (QDPrinterStatusUPP) \
2367 NewRoutineDescriptor((ProcPtr)(userRoutine), uppQDPrinterStatusProcInfo, \
2368 GetCurrentArchitecture())
2382 DeviceLoopDrawingUPP
2384 #if !OPAQUE_UPP_TYPES
2387 uppDeviceLoopDrawingProcInfo = 0x00003E80
2390 inline DeviceLoopDrawingUPP
2394 (ProcPtr)(userRoutine), uppDeviceLoopDrawingProcInfo,
2395 GetCurrentArchitecture());
2398 #define NewDeviceLoopDrawingUPP(userRoutine) \
2399 (DeviceLoopDrawingUPP) NewRoutineDescriptor((ProcPtr)(userRoutine), \
2400 uppDeviceLoopDrawingProcInfo, \
2401 GetCurrentArchitecture())
2405 #if CALL_NOT_IN_CARBON
2416 #if !OPAQUE_UPP_TYPES
2423 #define DisposeQDPrinterStatusUPP(userUPP) DisposeRoutineDescriptor(userUPP)
2439 #if !OPAQUE_UPP_TYPES
2446 #define DisposeDeviceLoopDrawingUPP(userUPP) DisposeRoutineDescriptor(userUPP)
2450 #if CALL_NOT_IN_CARBON
2461 void *printerStatus, QDPrinterStatusUPP userUPP);
2462 #if !OPAQUE_UPP_TYPES
2466 void *printerStatus,
2467 QDPrinterStatusUPP userUPP)
2469 return (OSStatus)CALL_THREE_PARAMETER_UPP(userUPP, uppQDPrinterStatusProcInfo,
2473 #define InvokeQDPrinterStatusUPP(opcode, currentPort, printerStatus, userUPP) \
2475 CALL_THREE_PARAMETER_UPP((userUPP), uppQDPrinterStatusProcInfo, \
2476 (opcode), (currentPort), (printerStatus))
2492 GDHandle targetDevice,
long userData,
2493 DeviceLoopDrawingUPP userUPP);
2494 #if !OPAQUE_UPP_TYPES
2497 GDHandle targetDevice,
long userData,
2498 DeviceLoopDrawingUPP userUPP)
2500 CALL_FOUR_PARAMETER_UPP(userUPP, uppDeviceLoopDrawingProcInfo, depth,
2501 deviceFlags, targetDevice, userData);
2504 #define InvokeDeviceLoopDrawingUPP(depth, deviceFlags, targetDevice, userData, \
2506 CALL_FOUR_PARAMETER_UPP((userUPP), uppDeviceLoopDrawingProcInfo, (depth), \
2507 (deviceFlags), (targetDevice), (userData))
2511 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
2513 #define NewQDPrinterStatusProc(userRoutine) NewQDPrinterStatusUPP(userRoutine)
2514 #define NewDeviceLoopDrawingProc(userRoutine) \
2515 NewDeviceLoopDrawingUPP(userRoutine)
2516 #define CallQDPrinterStatusProc(userRoutine, opcode, currentPort, \
2518 InvokeQDPrinterStatusUPP(opcode, currentPort, printerStatus, userRoutine)
2519 #define CallDeviceLoopDrawingProc(userRoutine, depth, deviceFlags, \
2520 targetDevice, userData) \
2521 InvokeDeviceLoopDrawingUPP(depth, deviceFlags, targetDevice, userData, \
2525 #if !OPAQUE_TOOLBOX_STRUCTS || !TARGET_API_MAC_CARBON
2546 #if CALL_NOT_IN_CARBON
2623 kQDParseRegionFromTop = (1 << 0),
2624 kQDParseRegionFromBottom = (1 << 1),
2625 kQDParseRegionFromLeft = (1 << 2),
2626 kQDParseRegionFromRight = (1 << 3),
2627 kQDParseRegionFromTopLeft = kQDParseRegionFromTop | kQDParseRegionFromLeft,
2628 kQDParseRegionFromBottomRight =
2629 kQDParseRegionFromBottom | kQDParseRegionFromRight
2632 typedef SInt32 QDRegionParseDirection;
2635 kQDRegionToRectsMsgInit = 1,
2636 kQDRegionToRectsMsgParse = 2,
2637 kQDRegionToRectsMsgTerminate = 3
2640 typedef CALLBACK_API_C(OSStatus,
2642 const Rect *rect,
void *refCon);
2654 #if !OPAQUE_UPP_TYPES
2657 uppRegionToRectsProcInfo = 0x00003FB1
2663 uppRegionToRectsProcInfo,
2664 GetCurrentArchitecture());
2667 #define NewRegionToRectsUPP(userRoutine) \
2668 (RegionToRectsUPP) \
2669 NewRoutineDescriptor((ProcPtr)(userRoutine), uppRegionToRectsProcInfo, \
2670 GetCurrentArchitecture())
2684 #if !OPAQUE_UPP_TYPES
2691 #define DisposeRegionToRectsUPP(userUPP) DisposeRoutineDescriptor(userUPP)
2705 void *refCon, RegionToRectsUPP userUPP);
2706 #if !OPAQUE_UPP_TYPES
2709 const Rect *rect,
void *refCon,
2710 RegionToRectsUPP userUPP)
2712 return (OSStatus)CALL_FOUR_PARAMETER_UPP(userUPP, uppRegionToRectsProcInfo,
2713 message,
rgn, rect, refCon);
2716 #define InvokeRegionToRectsUPP(message, rgn, rect, refCon, userUPP) \
2717 (OSStatus) CALL_FOUR_PARAMETER_UPP((userUPP), uppRegionToRectsProcInfo, \
2718 (message), (rgn), (rect), (refCon))
2722 #if CALL_NOT_IN_CARBON || OLDROUTINENAMES
2724 #define NewRegionToRectsProc(userRoutine) NewRegionToRectsUPP(userRoutine)
2725 #define CallRegionToRectsProc(userRoutine, message, rgn, rect, refCon) \
2726 InvokeRegionToRectsUPP(message, rgn, rect, refCon, userRoutine)
2739 RegionToRectsUPP proc,
void *userData);
2742 #if CALL_NOT_IN_CARBON
2818 #if CALL_NOT_IN_CARBON
2839 GetHWNDPort(
void *theHWND);
2841 #define GetPortHWND(port) (HWND) GetPortNativeWindow(port)
2842 #define GetHWNDPort(theHWND) GetNativeWindowPort(theHWND)
2907 GetPICTFromDIB(
void *h);
2922 #define MacSetPort SetPort
2997 The third line above correctly adjusts
for the required word alignment.
2999 #include < Quickdraw.h >
3000 #include < Memory.h >
3008 saveBits = thePort->portBits;
3010 bytesPerRow = (((rWide - 1) / 16) + 1) * 2;
3011 tempBits.baseAddr = (QDPtr)
NewPtr(bytesPerRow * rHigh);
3012 tempBits.rowBytes = bytesPerRow;
3013 SetRect(&tempBits.bounds, 0, 0, rWide, rHigh);
3015 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
3017 * \non_carbon_cfm in InterfaceLib 7.1 and
3019 * \carbon_lib in CarbonLib 1.0 and
3021 * \mac_os_x in version 10.0 and
3025 SetPortBits(
const BitMap *bm);
3051 PortSize(
short width,
short height);
3083 MovePortTo(
short leftGlobal,
short topGlobal);
3094 SetOrigin(
short h,
short v);
3127 ClipRect(
const Rect *r);
3170 #define MacSetCursor SetCursor
3173 MacSetCursor(
const Cursor *crsr);
3208 #define MacShowCursor ShowCursor
3211 MacShowCursor(
void);
3223 ObscureCursor(
void);
3331 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
3333 * \non_carbon_cfm in InterfaceLib 7.1 and
3335 * \carbon_lib in CarbonLib 1.0 and
3337 * \mac_os_x in version 10.0 and
3515 #define MacLineTo LineTo
3587 #define MacSetRect SetRect
3601 #define MacOffsetRect OffsetRect
3615 #define MacInsetRect InsetRect
3675 #define MacUnionRect UnionRect
3689 #define MacEqualRect EqualRect
3730 #define MacFrameRect FrameRect
3766 #define MacInvertRect InvertRect
3780 #define MacFillRect FillRect
4037 #define MacCopyRgn CopyRgn
4062 #define MacSetRectRgn SetRectRgn
4087 #define MacOffsetRgn OffsetRgn
4123 #define MacUnionRgn UnionRgn
4148 #define MacXorRgn XorRgn
4196 #define MacEqualRgn EqualRgn
4240 #define MacFrameRgn FrameRgn
4254 #define MacPaintRgn PaintRgn
4279 #define MacInvertRgn InvertRgn
4293 #define MacFillRgn FillRgn
4319 const Rect *dstRect,
short mode,
4366 SeedFill(
const void *srcPtr,
void *dstPtr,
short srcRow,
short dstRow,
4367 short height,
short words,
short seedH,
short seedV);
4378 CalcMask(
const void *srcPtr,
void *dstPtr,
short srcRow,
short dstRow,
4379 short height,
short words);
4628 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
4630 * \non_carbon_cfm in InterfaceLib 7.1 and
4632 * \carbon_lib in CarbonLib 1.0 and
4634 * \mac_os_x in version 10.0 and
4638 LocalToGlobal(
Point *pt);
4669 This
function is also used as an intermediate step in converting between
4670 coordinates of two different grafPorts(e.g., windows)
4673 convert the position of rectangle theRect from the
coordinates of windowA
4675 LocalToGlobal(&topLeft(theRect));
4676 LocalToGlobal(&botRight(theRect));
4678 GlobalToLocal(&topLeft(theRect));
4679 GlobalToLocal(&botRight(theRect));
4680 To convert between the
coordinates of regions and polygons, calculate the</ pre>
4681 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
4683 * \non_carbon_cfm in InterfaceLib 7.1 and
4685 * \carbon_lib in CarbonLib 1.0 and
4687 * \mac_os_x in version 10.0 and
4691 GlobalToLocal(
Point *pt);
4713 The Quickdraw global variable randSeed can also be used as a seed to start a
4715 random sequence.Example
4717 #include < Quickdraw.h >
4719 RangedRdm(
unsigned short min,
unsigned short max)
4726 t = (qdRdm * range) / 65536;
4730 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
4732 * \non_carbon_cfm in InterfaceLib 7.1 and
4734 * \carbon_lib in CarbonLib 1.0 and
4736 * \mac_os_x in version 10.0 and
4785 #define MacGetPixel GetPixel
4863 w2 = r2.right - r2.left;
4864 thePoint.h = (thePoint.h *
w1) / w2;
4866 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
4868 * \non_carbon_cfm in InterfaceLib 7.1 and
4870 * \carbon_lib in CarbonLib 1.0 and
4872 * \mac_os_x in version 10.0 and
4995 SetStdProcs(&myQDProcs);
4997 thePort->grafProcs = &myQDProcs;
4999 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
5001 * \non_carbon_cfm in InterfaceLib 7.1 and
5003 * \carbon_lib in CarbonLib 1.0 and
5005 * \mac_os_x in version 10.0 and
5029 void StdRRect(GrafVerb verb,
const Rect *r,
short ovalWidth,
short ovalHeight);
5049 void StdArc(GrafVerb verb,
const Rect *r,
short startAngle,
short arcAngle);
5176 ... they are equal...
5179 ... they are equal...} < / pre >
5180 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
5182 * \non_carbon_cfm in InterfaceLib 7.1 and
5183 later * \carbon_lib in CarbonLib 1.0 and later * \mac_os_x in version 10.0 and later * /
Boolean EqualPt(
Point pt1,
Point pt2);
5194 #define MacPtInRect PtInRect
5311 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
5313 * \non_carbon_cfm in InterfaceLib 7.1 and
5315 * \carbon_lib in CarbonLib 1.0 and
5317 * \mac_os_x in version 10.0 and
5333 #if CALL_NOT_IN_CARBON
5763 const Rect *dstRect,
short seedH,
short seedV,
5764 ColorSearchUPP matchProc,
long matchData);
5811 ColorSearchUPP matchProc,
long matchData);
6571 const Rect *dstRect,
short mode,
6583 long userData, DeviceLoopFlags flags);
6611 #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
6612 #pragma parameter __A0 GetMaskTable
6636 #define MacGetCursor GetCursor
6686 LocalToGlobal) before the call,
6687 and pass(0, 0) as offsetPt.</ pre>
6688 * \copyright THINK Reference © 1991 -
6689 1992 Symantec Corporation
6691 * \non_carbon_cfm in InterfaceLib 7.1 and
6693 * \carbon_lib in CarbonLib 1.0 and
6695 * \mac_os_x in version 10.0 and
6698 void ShieldCursor(const
Rect *shieldRect,
Point offsetPt);
6742 #if CALL_NOT_IN_CARBON
6859 #define DisposPixMap(pm) DisposePixMap(pm)
6860 #define DisposPixPat(pp) DisposePixPat(pp)
6861 #define DisposCTable(cTable) DisposeCTable(cTable)
6862 #define DisposCCursor(cCrsr) DisposeCCursor(cCrsr)
6863 #define DisposGDevice(gdh) DisposeGDevice(gdh)
6908 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
6910 * \non_carbon_cfm in InterfaceLib 7.1 and
6912 * \carbon_lib in CarbonLib 1.0 and
6914 * \mac_os_x in version 10.0 and
6918 PackBits(Ptr *srcPtr, Ptr *dstPtr,
short srcBytes);
6946 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
6948 * \non_carbon_cfm in InterfaceLib 7.1 and
6950 * \carbon_lib in CarbonLib 1.0 and
6952 * \mac_os_x in version 10.0 and
6956 SlopeFromAngle(
short angle);
6980 short theAngle, dh,
dv;
6984 theAngle = AngleFromSlope(
theSlope);
6986 * \copyright THINK Reference © 1991 - 1992 Symantec Corporation
6988 * \non_carbon_cfm in InterfaceLib 7.1 and
6990 * \carbon_lib in CarbonLib 1.0 and
6992 * \mac_os_x in version 10.0 and
6996 AngleFromSlope(
Fixed slope);
7009 kXFer1PixelAtATime = 0x00000001,
7010 kXFerConvertPixelToRGB32 =
7053 kCursorComponentsVersion = 0x00010001
7058 kCursorComponentType = FOUR_CHAR_CODE(
'curs')
7064 cursorDoesAnimate = 1L << 0,
7065 cursorDoesHardware = 1L << 1,
7066 cursorDoesUnreadableScreenBits = 1L << 2
7072 kRenderCursorInHardware = 1L << 0,
7073 kRenderCursorInSoftware = 1L << 1
7081 long animateDuration;
7090 kCursorComponentInit = 0x0001,
7091 kCursorComponentGetInfo = 0x0002,
7092 kCursorComponentSetOutputMode = 0x0003,
7093 kCursorComponentSetData = 0x0004,
7094 kCursorComponentReconfigure = 0x0005,
7095 kCursorComponentDraw = 0x0006,
7096 kCursorComponentErase = 0x0007,
7097 kCursorComponentMove = 0x0008,
7098 kCursorComponentAnimate = 0x0009,
7099 kCursorComponentLastReserved = 0x0050
7165 #if ACCESSOR_CALLS_ARE_FUNCTIONS
7563 SwapPortPicSaveHandle(
CGrafPtr port, Handle inPicSaveHdl);
7624 void SetPortTextFace(
CGrafPtr port, StyleParameter face);
7714 void SetPortFracHPenLocation(
CGrafPtr port,
short pnLocHFrac);
7748 long GetQDGlobalsRandomSeed(
void);
7759 GetQDGlobalsScreenBits(
BitMap *screenBits);
7770 GetQDGlobalsArrow(
Cursor *arrow);
7781 GetQDGlobalsDarkGray(
Pattern *dkGray);
7792 GetQDGlobalsLightGray(
Pattern *ltGray);
7803 GetQDGlobalsGray(
Pattern *gray);
7814 GetQDGlobalsBlack(
Pattern *black);
7825 GetQDGlobalsWhite(
Pattern *white);
7836 GetQDGlobalsThePort(
void);
7847 void SetQDGlobalsRandomSeed(
long randomSeed);
7857 void SetQDGlobalsArrow(
const Cursor *arrow);
7896 CreateNewPort(
void);
7916 void SetQDError(OSErr err);
8485 #if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
8486 #define LMGetHiliteRGB(hiliteRGBValue) (*(hiliteRGBValue) = *(RGBColor *)0x0DA0)
8487 #define LMSetHiliteRGB(hiliteRGBValue) \
8488 ((*(RGBColor *)0x0DA0) = *(hiliteRGBValue))
8533 #if PRAGMA_STRUCT_ALIGN
8534 #pragma options align = reset
8535 #elif PRAGMA_STRUCT_PACKPUSH
8537 #elif PRAGMA_STRUCT_PACK
8541 #ifdef PRAGMA_IMPORT_OFF
8544 #pragma import reset
8552 in CarbonLib 1.0 and later * \mac_os_x in version 10.0 and later * / UInt8
LMGetHiliteMode(
void);
8688 #if TARGET_CPU_68K && !TARGET_RT_MAC_CFM
8689 #define LMGetHiliteRGB(hiliteRGBValue) (*(hiliteRGBValue) = *(RGBColor *)0x0DA0)
8690 #define LMSetHiliteRGB(hiliteRGBValue) \
8691 ((*(RGBColor *)0x0DA0) = *(hiliteRGBValue))
8736 #if PRAGMA_STRUCT_ALIGN
8737 #pragma options align = reset
8738 #elif PRAGMA_STRUCT_PACKPUSH
8740 #elif PRAGMA_STRUCT_PACK
8744 #ifdef PRAGMA_IMPORT_OFF
8747 #pragma import reset
@ cTable
Definition: AERegistry.h:116
Component Manager Interfaces.
ControlPartCode FindControl(Point testPoint, WindowRef theWindow, ControlRef *theControl)
Fixed FixMul(Fixed a, Fixed b)
Fixed FixRatio(short numer, short denom)
FrameRect & r
Lock a handle's data area (keep it from moving)
Definition: MacMemory.h:927
Ptr NewPtr(Size byteCount)
Basic Macintosh data types.
long Fixed
Definition: MacTypes.h:153
unsigned char Boolean
Definition: MacTypes.h:318
Mixed Mode Manager Interfaces.
#define CALL_ZERO_PARAMETER_UPP(upp, procInfo)
Definition: MixedMode.h:790
void DisposeRoutineDescriptor(UniversalProcPtr theUPP)
#define STACK_UPP_TYPE(name)
Definition: MixedMode.h:734
UniversalProcPtr NewRoutineDescriptor(ProcPtr theProc, ProcInfoType theProcInfo, ISAType theISA)
Quickdraw Text Interfaces.
PicHandle OpenPicture(const Rect *picFrame)
void LMGetHiliteRGB(RGBColor *hiliteRGBValue)
void DisposeQDOpcodeUPP(QDOpcodeUPP userUPP)
void EraseRgn(RgnHandle rgn)
void SetGDevice(GDHandle gd)
Set the current device to the specified device.
void StuffHex(void *thingPtr, ConstStr255Param s)
Convert a string of hex digits to binary data.
void RestoreEntries(CTabHandle srcTable, CTabHandle dstTable, ReqListRec *selection)
Sets entries into dstTable without rebuilding inverse table.
void addpt(const Point *src, Point *dst)
Boolean IsValidPort(CGrafPtr port)
void StdBits(const BitMap *srcBits, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle maskRgn)
void * MacRegionToNativeRegion(RgnHandle macRegion)
void LMSetScrVRes(SInt16 value)
long DeltaPoint(Point ptA, Point ptB)
Calculate distance between two points.
void InvokeDeviceLoopDrawingUPP(short depth, short deviceFlags, GDHandle targetDevice, long userData, DeviceLoopDrawingUPP userUPP)
Ptr GetMaskTable(void)
Get table of masks from ROM.
OSStatus QDAddRegionToDirtyRegion(CGrafPtr inPort, RgnHandle inRegion)
void FrameOval(const Rect *r)
void MacOffsetRect(Rect *r, short dh, short dv)
GDHandle LMGetDeviceList(void)
void RGBForeColor(const RGBColor *color)
void StdArc(GrafVerb verb, const Rect *r, short startAngle, short arcAngle)
void InvokeQDOvalUPP(GrafVerb verb, const Rect *r, QDOvalUPP userUPP)
OSStatus ClipCGContextToRegion(CGContextRef gc, const Rect *portRect, RgnHandle region)
SInt32 PrinterStatusOpcode
Definition: Quickdraw.h:259
void InvokeQDLineUPP(Point newPt, QDLineUPP userUPP)
Boolean MacGetPixel(short h, short v)
void InitCPort(CGrafPtr port)
void DisposeQDBitsUPP(QDBitsUPP userUPP)
void DisposeCCursor(CCrsrHandle cCrsr)
void * GetPortNativeWindow(GrafPtr macPort)
Find which GrafPort is currently active.
Boolean EmptyRgn(RgnHandle rgn)
Determine if a Region is empty.
ctlCode
Obtain local coordinates of global point.
Definition: Quickdraw.h:4665
void InvokeQDRgnUPP(GrafVerb verb, RgnHandle rgn, QDRgnUPP userUPP)
RgnHandle NativeRegionToMacRegion(void *nativeRegion)
void MacLineTo(short h, short v)
CTabHandle GetCTable(short ctID)
GrafPtr GetNativeWindowPort(void *nativeWindow)
void InvertOval(const Rect *r)
void StdPoly(GrafVerb verb, PolyHandle poly)
void StdOpcode(const Rect *fromRect, const Rect *toRect, UInt16 opcode, SInt16 version)
void CloseRgn(RgnHandle dstRgn)
void QDFlushPortBuffer(CGrafPtr port, RgnHandle region)
void SeedFill(const void *srcPtr, void *dstPtr, short srcRow, short dstRow, short height, short words, short seedH, short seedV)
Calculate a mask for use in CopyMask.
void InvokeDragGrayRgnUPP(DragGrayRgnUPP userUPP)
void DisposeQDTextUPP(QDTextUPP userUPP)
w1
Map point relative to two rectangles.
Definition: Quickdraw.h:4862
void InsetRgn(RgnHandle rgn, short dh, short dv)
void MacXorRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
void shieldcursor(const Rect *shieldRect, Point *offsetPt)
short QDError(void)
Return error result from last QuickDraw call.
void DisposeDragGrayRgnUPP(DragGrayRgnUPP userUPP)
void LMSetHiliteRGB(const RGBColor *hiliteRGBValue)
void InvokeQDBitsUPP(const BitMap *srcBits, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle maskRgn, QDBitsUPP userUPP)
QDPolyUPP NewQDPolyUPP(QDPolyProcPtr userRoutine)
void ErasePoly(PolyHandle poly)
void FillCRect(const Rect *r, PixPatHandle pp)
Boolean ptinrect(const Point *pt, const Rect *r)
void PenPixPat(PixPatHandle pp)
void FillRoundRect(const Rect *r, short ovalWidth, short ovalHeight, const Pattern *pat)
void MacUnionRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
void pttoangle(const Rect *r, const Point *pt, short *angle)
void QDDisplayWaitCursor(Boolean forceWaitCursor)
void ColorBit(short whichBit)
Select color plane for subsequent drawing.
void PenMode(short mode)
Set the graphics pen pattern transfer mode.
void EraseArc(const Rect *r, short startAngle, short arcAngle)
void CopyBits(const BitMap *srcBits, const BitMap *dstBits, const Rect *srcRect, const Rect *dstRect, short mode, RgnHandle maskRgn)
void LMSetWidthPtr(Ptr value)
void InvokeQDPolyUPP(GrafVerb verb, PolyHandle poly, QDPolyUPP userUPP)
void Line(short dh, short dv)
void MacOffsetRgn(RgnHandle rgn, short dh, short dv)
SInt16 LMGetScrHRes(void)
OSStatus SyncCGContextOriginWithPort(CGContextRef inContext, CGrafPtr port)
OSErr BitMapToRegion(RgnHandle region, const BitMap *bMap)
ColorSearchUPP NewColorSearchUPP(ColorSearchProcPtr userRoutine)
QDCommentUPP NewQDCommentUPP(QDCommentProcPtr userRoutine)
void MacSetPort(GrafPtr port)
void PaintPoly(PolyHandle poly)
GrafPtr WindowPtr
Definition: Quickdraw.h:1685
void stuffhex(void *thingPtr, const char *s)
Boolean InvokeColorSearchUPP(RGBColor *rgb, long *position, ColorSearchUPP userUPP)
void LMSetLastSPExtra(SInt32 value)
Handle LMGetLastFOND(void)
void SeedCFill(const BitMap *srcBits, const BitMap *dstBits, const Rect *srcRect, const Rect *dstRect, short seedH, short seedV, ColorSearchUPP matchProc, long matchData)
Calculate a mask for use in CopyMask or CopyBits.
void LMSetLastFOND(Handle value)
void StdRgn(GrafVerb verb, RgnHandle rgn)
void SectRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
void FillOval(const Rect *r, const Pattern *pat)
void LMSetDeviceList(GDHandle value)
QDRectUPP NewQDRectUPP(QDRectProcPtr userRoutine)
Boolean EmptyRect(const Rect *r)
Determine if a rectangle is empty.
void InvokeQDGetPicUPP(void *dataPtr, short byteCount, QDGetPicUPP userUPP)
void StdGetPic(void *dataPtr, short byteCount)
The default Quickdraw picture-retrieving routine.
void RGBBackColor(const RGBColor *color)
OSStatus QDBeginCGContext(CGrafPtr inPort, CGContextRef *outContext)
void GrafDevice(short device)
Set the device field for a GrafPort.
GDHandle GetNextDevice(GDHandle curDevice)
QDStdGlyphsUPP NewQDStdGlyphsUPP(QDStdGlyphsProcPtr userRoutine)
void LMSetCursorNew(Boolean value)
void InvokeQDCommentUPP(short kind, short dataSize, Handle dataHandle, QDCommentUPP userUPP)
GDHandle LMGetMainDevice(void)
UInt8 LMGetFractEnable(void)
GDHandle LMGetTheGDevice(void)
void LMSetWidthTabHandle(Handle value)
void StdOval(GrafVerb verb, const Rect *r)
void PaintOval(const Rect *r)
void MacFrameRgn(RgnHandle rgn)
void FillCOval(const Rect *r, PixPatHandle pp)
QDTxMeasUPP NewQDTxMeasUPP(QDTxMeasProcPtr userRoutine)
Boolean MacPtInRect(Point pt, const Rect *r)
void InitPort(GrafPtr port)
OSErr SetPortCustomXFerProc(CGrafPtr port, CustomXFerProcPtr proc, UInt32 flags, UInt32 refCon)
void StdPutPic(const void *dataPtr, short byteCount)
dv
Calculate slope given an angle.
Definition: Quickdraw.h:6941
GDHandle NewGDevice(short refNum, long mode)
OSStatus CreateCGContextForPort(CGrafPtr inPort, CGContextRef *outContext)
short InvokeQDTxMeasUPP(short byteCount, const void *textAddr, Point *numer, Point *denom, FontInfo *info, QDTxMeasUPP userUPP)
QDOpcodeUPP NewQDOpcodeUPP(QDOpcodeProcPtr userRoutine)
OSStatus QDRestoreRegionBits(RgnHandle region, QDRegionBitsRef regionBits)
pascal short myCommentProc(void)
Set graphProcs field to point to custom routines.
void DisposeQDArcUPP(QDArcUPP userUPP)
void MacPaintRgn(RgnHandle rgn)
void PaintRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
void MacInvertRgn(RgnHandle rgn)
void InitGDevice(short qdRefNum, long mode, GDHandle gdh)
OSErr CursorComponentSetData(ComponentInstance ci, long data)
void AddComp(ColorComplementUPP compProc)
PixPatHandle GetPixPat(short patID)
void DisposeQDCommentUPP(QDCommentUPP userUPP)
void MacSetRect(Rect *r, short left, short top, short right, short bottom)
void MapPoly(PolyHandle poly, const Rect *srcRect, const Rect *dstRect)
Scale and reposition a polygon.
GDHandle GetDeviceList(void)
Provides a handle to the first gDevice in the DeviceList.
QDBitsUPP NewQDBitsUPP(QDBitsProcPtr userRoutine)
void RgnToHandle(RgnHandle region, Handle flattenedRgnDataHdl)
OSErr OpenCursorComponent(Component c, ComponentInstance *ci)
void MakeITable(CTabHandle cTabH, ITabHandle iTabH, short res)
void pt2rect(const Point *pt1, const Point *pt2, Rect *destRect)
QDRRectUPP NewQDRRectUPP(QDRRectProcPtr userRoutine)
void EraseOval(const Rect *r)
void OpenPort(GrafPtr port)
void EraseRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
OSStatus InvokeQDPrinterStatusUPP(PrinterStatusOpcode opcode, CGrafPtr currentPort, void *printerStatus, QDPrinterStatusUPP userUPP)
void Index2Color(long index, RGBColor *aColor)
Find specific RGB.
long deltapoint(Point *ptA, Point *ptB)
void DisposeQDRRectUPP(QDRRectUPP userUPP)
void InvokeQDTextUPP(short byteCount, const void *textBuf, Point numer, Point denom, QDTextUPP userUPP)
void OffsetPoly(PolyHandle poly, short dh, short dv)
Move a polygon.
void KillPicture(PicHandle myPicture)
void Move(short dh, short dv)
the pen relative to its current location
Boolean MacEqualRect(const Rect *rect1, const Rect *rect2)
OSErr UpdatePort(GrafPtr port)
void BackPixPat(PixPatHandle pp)
void LMSetFractEnable(UInt8 value)
MacRegion * RgnPtr
Definition: Quickdraw.h:319
void BackColor(long color)
void InvokeQDRRectUPP(GrafVerb verb, const Rect *r, short ovalWidth, short ovalHeight, QDRRectUPP userUPP)
void SetPt(Point *pt, short h, short v)
Pack horizontal and vertical coordinates into Point.
void UnpackBits(Ptr *srcPtr, Ptr *dstPtr, short dstBytes)
Uncompress data stored via PackBits.
QDOvalUPP NewQDOvalUPP(QDOvalProcPtr userRoutine)
void DisposeColorComplementUPP(ColorComplementUPP userUPP)
void MacFillRect(const Rect *r, const Pattern *pat)
PatHandle GetPattern(short patternID)
long Color2Index(const RGBColor *myColor)
void StdLine(Point newPt)
QDRgnUPP NewQDRgnUPP(QDRgnProcPtr userRoutine)
void PenSize(short width, short height)
Set dimensions of pen for current GrafPort.
GDHandle GetMainDevice(void)
Provides a handle to the startup gDevice.
void DisposeQDLineUPP(QDLineUPP userUPP)
void InvertPoly(PolyHandle poly)
Boolean InvokeColorComplementUPP(RGBColor *rgb, ColorComplementUPP userUPP)
void subpt(const Point *src, Point *dst)
void MacFrameRect(const Rect *r)
OSStatus QDAddRectToDirtyRegion(CGrafPtr inPort, const Rect *inBounds)
void DisposeQDRectUPP(QDRectUPP userUPP)
void LMSetTheGDevice(GDHandle value)
void InvertColor(RGBColor *myColor)
Find a color's complement.
void FillPoly(PolyHandle poly, const Pattern *pat)
void ScrollRect(const Rect *r, short dh, short dv, RgnHandle updateRgn)
OSStatus InvokeQDStdGlyphsUPP(void *dataStream, ByteCount size, QDStdGlyphsUPP userUPP)
void ProtectEntry(short index, Boolean protect)
Protect or un-protect color table entry.
An alternative method is to convert shieldRect to global and pass(0, 0) as offsetPt.</pre > *@par Copyright void ScreenRes(short *scrnHRes, short *scrnVRes)
Obtain screen resolution in pixels-per-inch.
void Pt2Rect(Point pt1, Point pt2, Rect *dstRect)
Find smallest rectangle enclosing two points.
void SetPenState(const PenState *pnState)
Set the pen location, size, pattern and mode.
void DisposeQDTxMeasUPP(QDTxMeasUPP userUPP)
void DiffRgn(RgnHandle srcRgnA, RgnHandle srcRgnB, RgnHandle dstRgn)
Boolean RealColor(const RGBColor *color)
void LMSetWidthListHand(Handle value)
Boolean equalpt(const Point *pt1, const Point *pt2)
QDJShieldCursorUPP NewQDJShieldCursorUPP(QDJShieldCursorProcPtr userRoutine)
void StdComment(short kind, short dataSize, Handle dataHandle)
PixMapHandle NewPixMap(void)
Boolean ptinrgn(const Point *pt, RgnHandle rgn)
OSStatus InvokeRegionToRectsUPP(UInt16 message, RgnHandle rgn, const Rect *rect, void *refCon, RegionToRectsUPP userUPP)
OSStatus QDEndCGContext(CGrafPtr inPort, CGContextRef *inoutContext)
MacPolygon * PolyPtr
Definition: Quickdraw.h:348
void DeviceLoop(RgnHandle drawingRgn, DeviceLoopDrawingUPP drawingProc, long userData, DeviceLoopFlags flags)
PicHandle OpenCPicture(const OpenCPicParams *newHeader)
void InvertArc(const Rect *r, short startAngle, short arcAngle)
OSErr CursorComponentChanged(ComponentInstance ci)
void DisposeCTable(CTabHandle cTable)
void DelSearch(ColorSearchUPP searchProc)
void DisposeQDOvalUPP(QDOvalUPP userUPP)
void MacInsetRect(Rect *r, short dh, short dv)
void SetEmptyRgn(RgnHandle rgn)
void DisposeQDPolyUPP(QDPolyUPP userUPP)
void FillCRoundRect(const Rect *r, short ovalWidth, short ovalHeight, PixPatHandle pp)
void SetPortPix(PixMapHandle pm)
Replaces a portPixMap of the active CGrafPort with a handle.
void MacSetRectRgn(RgnHandle rgn, short left, short top, short right, short bottom)
Boolean QDSwapPort(CGrafPtr inNewPort, CGrafPtr *outOldPort)
void InvokeQDJShieldCursorUPP(short left, short top, short right, short bottom, QDJShieldCursorUPP userUPP)
void CopyDeepMask(const BitMap *srcBits, const BitMap *maskBits, const BitMap *dstBits, const Rect *srcRect, const Rect *maskRect, const Rect *dstRect, short mode, RgnHandle maskRgn)
OSErr GetPortCustomXFerProc(CGrafPtr port, CustomXFerProcPtr *proc, UInt32 *flags, UInt32 *refCon)
OSStatus QDGetDirtyRegion(CGrafPtr port, RgnHandle rgn)
DragGrayRgnUPP NewDragGrayRgnUPP(DragGrayRgnProcPtr userRoutine)
void SetCPixel(short h, short v, const RGBColor *cPix)
void PtToAngle(const Rect *r, Point pt, short *angle)
Obtain angle between point and rectangle center.
ColorComplementUPP NewColorComplementUPP(ColorComplementProcPtr userRoutine)
void SetDeviceAttribute(GDHandle gdh, short attribute, Boolean value)
SetDeviceAttribute Set the device's display characteristics.
QDPutPicUPP NewQDPutPicUPP(QDPutPicProcPtr userRoutine)
void MoveTo(short h, short v)
Set pen location without drawing.
struct OpaqueQDRegionBitsRef * QDRegionBitsRef
Definition: Quickdraw.h:8090
QDArcUPP NewQDArcUPP(QDArcProcPtr userRoutine)
OSErr LockPortBits(GrafPtr port)
void DisposeColorSearchUPP(ColorSearchUPP userUPP)
void LMSetQDColors(Handle value)
void CloseCPort(CGrafPtr port)
void QDGetPatternOrigin(Point *origin)
void SetClientID(short id)
Identify this client to search and complement procedures.
void StdRRect(GrafVerb verb, const Rect *r, short ovalWidth, short ovalHeight)
void FillArc(const Rect *r, short startAngle, short arcAngle, const Pattern *pat)
void DisposeRgn(RgnHandle rgn)
void InitGraf(void *globalPtr)
void DisposeQDJShieldCursorUPP(QDJShieldCursorUPP userUPP)
Boolean QDIsPortBuffered(CGrafPtr port)
Boolean RectInRgn(const Rect *r, RgnHandle rgn)
Check if a rectangle intersects a region.
void MacUnionRect(const Rect *src1, const Rect *src2, Rect *dstRect)
void DisposeQDRgnUPP(QDRgnUPP userUPP)
void DelComp(ColorComplementUPP compProc)
QDPrinterStatusUPP NewQDPrinterStatusUPP(QDPrinterStatusProcPtr userRoutine)
OSErr SetCursorComponent(ComponentInstance ci)
OSStatus QDRegionToRects(RgnHandle rgn, QDRegionParseDirection dir, RegionToRectsUPP proc, void *userData)
Fixed theSlope
Calculate angle given slope.
Definition: Quickdraw.h:6978
they are equal or the more efficient
Check if two points are identical.
Definition: Quickdraw.h:5183
void SetEntries(short start, short count, CSpecArray aTable)
Set a group of color table entries for the current gDevice.
void SaveEntries(CTabHandle srcTable, CTabHandle resultTable, ReqListRec *selection)
Saves selected entries to a result table.
void PaintArc(const Rect *r, short startAngle, short arcAngle)
void InvokeQDPutPicUPP(const void *dataPtr, short byteCount, QDPutPicUPP userUPP)
void FillCPoly(PolyHandle poly, PixPatHandle pp)
The third line above correctly adjusts for the required word alignment Example OffScreenDraw(short rWide, short rHigh, Rect rDest)
Assigns a new bit map to the active GrafPort.
Definition: Quickdraw.h:3001
void HandleToRgn(Handle oldRegion, RgnHandle region)
void GetForeColor(RGBColor *color)
Obtain foreground color set in current port.
QDLineUPP NewQDLineUPP(QDLineProcPtr userRoutine)
void DisposeGDevice(GDHandle gdh)
OSStatus QDDisposeRegionBits(QDRegionBitsRef regionBits)
PicHandle GetPicture(short pictureID)
void FillCRgn(RgnHandle rgn, PixPatHandle pp)
void DrawPicture(PicHandle myPicture, const Rect *dstRect)
void LMSetScrHRes(SInt16 value)
long GetCTSeed(void)
Get unique seed value for color table.
void DisposePixPat(PixPatHandle pp)
GDHandle GetMaxDevice(const Rect *globalRect)
Gives a handle to device with the deepest pixMap.
void PenPat(const Pattern *pat)
void AddPt(Point src, Point *dst)
Add coordinates of two points.
void GetIndPattern(Pattern *thePat, short patternListID, short index)
Boolean TestDeviceAttribute(GDHandle gdh, short attribute)
TestDeviceAttribute Check whether or not an attribute is set.
Handle LMGetWidthTabHandle(void)
void MakeRGBPat(PixPatHandle pp, const RGBColor *myColor)
Provides best possible RGB match on current device.
void ReserveEntry(short index, Boolean reserve)
Reserve or dereserve color table entry.
void DisposeQDGetPicUPP(QDGetPicUPP userUPP)
void FillCArc(const Rect *r, short startAngle, short arcAngle, PixPatHandle pp)
Handle LMGetWidthListHand(void)
void InvokeQDOpcodeUPP(const Rect *fromRect, const Rect *toRect, UInt16 opcode, SInt16 version, QDOpcodeUPP userUPP)
void OpenCPort(CGrafPtr port)
void FrameArc(const Rect *r, short startAngle, short arcAngle)
void LMSetMainDevice(GDHandle value)
void MapRect(Rect *r, const Rect *srcRect, const Rect *dstRect)
Scale and reposition a rectangle.
Handle LMGetQDColors(void)
void HiliteColor(const RGBColor *color)
Choose new highlighting color.
void EraseRect(const Rect *r)
CCrsrHandle GetCCursor(short crsrID)
void ScalePt(Point *pt, const Rect *srcRect, const Rect *dstRect)
Resize coordinate pair to ratio of two rectangles.
Boolean LMGetCursorNew(void)
DeviceLoopDrawingUPP NewDeviceLoopDrawingUPP(DeviceLoopDrawingProcPtr userRoutine)
void KillPoly(PolyHandle poly)
void CopyPixMap(PixMapHandle srcPM, PixMapHandle dstPM)
Duplicate pixMap's structure to an existing pixmap.
void InvertRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
void GetPort(GrafPtr *port)
void DisposeQDPutPicUPP(QDPutPicUPP userUPP)
void OpColor(const RGBColor *color)
Set RGB values used by addPin, subPin and blend modes.
LocalToGlobal & tmpPt
Obtain global (screen) value of local point.
Definition: Quickdraw.h:4624
void GetSubTable(CTabHandle myColors, short iTabRes, CTabHandle targetTbl)
OSErr CloseCursorComponent(ComponentInstance ci)
SInt16 LMGetScrVRes(void)
void RectRgn(RgnHandle rgn, const Rect *r)
PixPatHandle NewPixPat(void)
void MacFillRgn(RgnHandle rgn, const Pattern *pat)
Boolean MacEqualRgn(RgnHandle rgnA, RgnHandle rgnB)
void DisposeQDPrinterStatusUPP(QDPrinterStatusUPP userUPP)
void DisposePixMap(PixMapHandle pm)
Boolean SectRect(const Rect *src1, const Rect *src2, Rect *dstRect)
Get the intersection of two rectangles; check for overlap.
Boolean QDIsPortBufferDirty(CGrafPtr port)
void PaintRect(const Rect *r)
UInt8 LMGetHiliteMode(void)
An alternative method is to convert shieldRect to global coordinates(via LocalToGlobal) before the call
Hide cursor while moving (or while in) a rectangle.
OSStatus QDSetDirtyRegion(CGrafPtr port, RgnHandle rgn)
void MacCopyRgn(RgnHandle srcRgn, RgnHandle dstRgn)
void CalcCMask(const BitMap *srcBits, const BitMap *dstBits, const Rect *srcRect, const Rect *dstRect, const RGBColor *seedRGB, ColorSearchUPP matchProc, long matchData)
Calculate a mask for use in CopyMask.
void AddSearch(ColorSearchUPP searchProc)
void CalcMask(const void *srcPtr, void *dstPtr, short srcRow, short dstRow, short height, short words)
void LMSetHiliteMode(UInt8 value)
QDGetPicUPP NewQDGetPicUPP(QDGetPicProcPtr userRoutine)
void StdRect(GrafVerb verb, const Rect *r)
void SetStdCProcs(CQDProcs *procs)
Set graphProcs field to point to custom routines.
void FrameRoundRect(const Rect *r, short ovalWidth, short ovalHeight)
OSErr UnlockPortBits(GrafPtr port)
void CopyPixPat(PixPatHandle srcPP, PixPatHandle dstPP)
Duplicate pixPat's structure to an existing region.
QDTextUPP NewQDTextUPP(QDTextProcPtr userRoutine)
GDHandle GetGDevice(void)
Get handle to current GDevice.
void SubPt(Point src, Point *dst)
Subtract coordinates of one point from another.
void ForeColor(long color)
void MacInvertRect(const Rect *r)
QDRegionBitsRef QDSaveRegionBits(RgnHandle region)
void DisposeRegionToRectsUPP(RegionToRectsUPP userUPP)
void DisposeDeviceLoopDrawingUPP(DeviceLoopDrawingUPP userUPP)
const Pattern * ConstPatternParam
Definition: Quickdraw.h:233
void ClosePort(GrafPtr port)
void stdline(const Point *newPt)
void PicComment(short kind, short dataSize, Handle dataHandle)
void FramePoly(PolyHandle poly)
SInt32 LMGetLastSPExtra(void)
void DisposeQDStdGlyphsUPP(QDStdGlyphsUPP userUPP)
RegionToRectsUPP NewRegionToRectsUPP(RegionToRectsProcPtr userRoutine)
void InvokeQDRectUPP(GrafVerb verb, const Rect *r, QDRectUPP userUPP)
void SetCCursor(CCrsrHandle cCrsr)
void GetBackColor(RGBColor *color)
Obtain foreground color set in current port.
void GetCPixel(short h, short v, RGBColor *cPix)
Find the RGB of a specified pixel.
void MapRgn(RgnHandle rgn, const Rect *srcRect, const Rect *dstRect)
void InvokeQDArcUPP(GrafVerb verb, const Rect *r, short startAngle, short arcAngle, QDArcUPP userUPP)
theRand
Obtain pseudo-random signed integer.
Definition: Quickdraw.h:4712
void CopyMask(const BitMap *srcBits, const BitMap *maskBits, const BitMap *dstBits, const Rect *srcRect, const Rect *maskRect, const Rect *dstRect)
CGrafPtr CreateNewPortForCGDisplayID(UInt32 inCGDisplayID)
CursHandle MacGetCursor(short cursorID)
PolyHandle OpenPoly(void)
void QDSetPatternOrigin(Point origin)
TQAMethodSelector
Definition: RAVE.h:1009
Definition: Quickdraw.h:279
Definition: Quickdraw.h:2104
Definition: Quickdraw.h:2261
Definition: Quickdraw.h:2152
Definition: Quickdraw.h:2231
Definition: Quickdraw.h:1960
Definition: Quickdraw.h:1968
Definition: Components.h:220
Definition: Components.h:214
Definition: Quickdraw.h:2327
Definition: Quickdraw.h:7078
Definition: Quickdraw.h:288
Definition: Quickdraw.h:7015
Definition: MacTypes.h:220
Definition: QuickdrawText.h:139
Definition: Quickdraw.h:2178
Definition: Quickdraw.h:2121
Definition: Quickdraw.h:1648
Definition: Quickdraw.h:2204
Definition: Quickdraw.h:2135
Definition: Quickdraw.h:334
Definition: Quickdraw.h:306
Definition: Quickdraw.h:1987
Definition: Quickdraw.h:2311
Definition: Quickdraw.h:223
Definition: Quickdraw.h:297
Definition: Quickdraw.h:326
Definition: Quickdraw.h:2064
Definition: Quickdraw.h:2091
Definition: MacTypes.h:520
Definition: PPCToolbox.h:168
Definition: Quickdraw.h:267
Definition: Quickdraw.h:274
Definition: Quickdraw.h:2527
Definition: Quickdraw.h:397
Definition: Quickdraw.h:1710
Definition: MacTypes.h:527
Definition: Quickdraw.h:2305
Definition: Quickdraw.h:2144
Definition: Quickdraw.h:1978