Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!ut-sally!pyramid!voder!apple!lsr From: lsr@apple.UUCP (Larry Rosenstein) Newsgroups: net.micro.mac Subject: Re: MacApp Paint Message-ID: <145@apple.UUCP> Date: Tue, 26-Aug-86 12:38:41 EDT Article-I.D.: apple.145 Posted: Tue Aug 26 12:38:41 1986 Date-Received: Wed, 27-Aug-86 10:26:13 EDT References: <183@ci-dandelion.UUCP> Reply-To: lsr@apple.UUCP (Larry Rosenstein) Distribution: net Organization: Advanced Development Group, Apple Computer Lines: 36 In article <183@ci-dandelion.UUCP> congdon@ci-dandelion.UUCP (Robert M. Congdon) writes: > >Now I wonder: was this program was written completely using MacApp >and Object Pascal? Also, during the demo Kurt showed a debugger that >allowed one to trace message sends and set breakpoints on message >sends. Is this a standard part of MacApp or is it part of MPW Pascal? > MacApp Paint was written using MacApp and Object Pascal, with a small amount of assembler (bit manipulation stuff), most of which was copied directly from the sources to MacPaint. All of the user interface to the program was written in Object Pascal. The only non-standard thing I did was with the scrolling (since I have the entire bitmap in memory, there is no reason to use ScrollRect). This was very easy to override in MacApp. The program was was intended to demonstrate that programs written using object-oriented programming and MacApp do not necessarily have to be slow. The debug window and tracing facility that were shown in the talk are a standard part of MacApp. (The debugging facilities in MacApp include about 70K of code.) They are based on a feature of MPW Pascal where the compiler can insert a procedure call at the beginning and end of each procedure. The MacApp debugger implements these procedures and does things such as searching for the procedure name, etc. (There is no technical reason why the debugger couldn't be used in a non-MacApp program, but there is not enough time to document it for the first MPW release.) -- Larry Rosenstein Object Specialist Apple Computer AppleLink: Rosenstein1 UUCP: {sun, voder, nsc, mtxinu, dual}!apple!lsr CSNET: lsr@Apple.CSNET