Retired Document
Important: This sample code may not represent best practices for current development. The project may use deprecated symbols and illustrate technologies and techniques that are no longer recommended.
TESampleGlue.a
; |
; Apple Macintosh Developer Technical Support |
; |
; MultiFinder-Aware TextEdit Sample Application |
; |
; TESample |
; |
; TESampleGlue.a - Assembler Source |
; |
; Copyright © 1989 Apple Computer, Inc. |
; All rights reserved. |
; |
; Versions: |
; 1.00 08/88 |
; 1.01 11/88 |
; 1.02 04/89 |
; 1.03 06/89 |
; 1.04 06/92 |
; |
; Components: |
; TESample.p June 1, 1989 |
; TESample.c June 1, 1989 |
; TESampleInit.c June 4, 1992 |
; TESampleGlue.a June 1, 1989 |
; TESample.r June 1, 1989 |
; TESample.h June 1, 1989 |
; PTESample.make June 1, 1989 |
; CTESample.make June 1, 1989 |
; TCTESample.¹ June 4, 1992 |
; TCTESample.¹.rsrc June 4, 1992 |
; TCTESampleGlue.c June 4, 1992 |
; |
; TESample is an example application that demonstrates how |
; to initialize the commonly used toolbox managers, operate |
; successfully under MultiFinder, handle desk accessories and |
; create, grow, and zoom windows. The fundamental TextEdit |
; toolbox calls and TextEdit autoscroll are demonstrated. It |
; also shows how to create and maintain scrollbar controls. |
; |
; It does not by any means demonstrate all the techniques you |
; need for a large application. In particular, Sample does not |
; cover exception handling, multiple windows/documents, |
; sophisticated memory management, printing, or undo. All of |
; these are vital parts of a normal full-sized application. |
; |
; This application is an example of the form of a Macintosh |
; application; it is NOT a template. It is NOT intended to be |
; used as a foundation for the next world-class, best-selling, |
; 600K application. A stick figure drawing of the human body may |
; be a good example of the form for a painting, but that does not |
; mean it should be used as the basis for the next Mona Lisa. |
; |
; We recommend that you review this program or Sample before |
; beginning a new application. Sample is a simple app. which doesnÕt |
; use TextEdit or the Control Manager. |
; |
; |
; AsmClickLoop |
; |
; This routine gets called by the TextEdit Manager from TEClick. |
; It calls the old, default click loop routine that scrolls the |
; text, and then calls our own Pascal routine that handles |
; tracking the scroll bars to follow along. It doesn't bother |
; with saving registers A0 and D0, because they are trashed |
; anyway by TextEdit. |
; |
AsmClickLoop PROC EXPORT |
IMPORT GETOLDCLICKLOOP |
IMPORT PASCALCLICKLOOP |
MOVEM.L D1-D2/A1,-(SP) ; D0 and A0 need not be saved |
CLR.L -(SP) ; make space for procedure pointer |
JSR GETOLDCLICKLOOP ; get the old clickLoop |
MOVEA.L (SP)+,A0 ; into A0 |
MOVEM.L (SP)+,D1-D2/A1 ; restore the world as it was |
JSR (A0) ; and execute old clickLoop |
MOVEM.L D1-D2/A1,-(SP) ; D0 and A0 need not be saved |
JSR PASCALCLICKLOOP ; do our clickLoop |
MOVEM.L (SP)+,D1-D2/A1 ; restore the world as it was |
MOVEQ #1,D0 ; clear the zero flag so TextEdit keeps going |
RTS |
END |
Copyright © 2003 Apple Computer, Inc. All Rights Reserved. Terms of Use | Privacy Policy | Updated: 2003-01-14