Page 1 of 1

quickdraw glitch when drawing text in srcCopy mode

Posted: August 28th, 1984, 4:49 am
by Info-Mac
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10 UW 5/3/83; site uw-beaver
Path: utzoo!watmath!clyde!burl!mgnetp!ihnp4!houxm!houxz!vax135!cornell!uw-beaver!info-mac
From: info-mac@uw-beaver (info-mac)
Newsgroups: fa.info-mac
Subject: quickdraw glitch when drawing text in srcCopy mode
Message-ID:
Date: Mon, 16-Jul-84 21:36:47 EDT
Article-I.D.: uw-beave.1228
Posted: Mon Jul 16 21:36:47 1984
Date-Received: Wed, 18-Jul-84 01:53:57 EDT
Sender: daemon@uw-beave
Organization: U of Washington Computer Science
Lines: 47

From: Bill Croft
Date: Sat, 14 Jul 84 17:52:08 edt
From: [email protected] (Dan Winkler)

The DrawChar and DrawString procedures draw
several extra spaces after the char or string they're supposed to
draw when the TextMode is something
other than srcOr, like srcCopy, and the background is something other
than white, like gray. Here is a short program that demonstrates the
problem:

#include "mac/quickdraw.h"

struct QDVar QDVar ;

main()
{
int delay ;

QD = & QDVar ; InitGraf( & thePort ) ; InitFonts() ; InitWindows() ;

FillRect(&thePort->portBits.bounds, &(QD->gray)); TextMode ( srcCopy ) ;

MoveTo ( 50, 50 ) ; DrawChar ('A') ;
MoveTo ( 50, 70 ) ; DrawString ("Test") ;

for ( delay = 0 ; delay < 100000 ; delay ++ ) ; ExitToShell() ;
}

From: [email protected] (Dan Winkler)
Subject: the answer

I took this question directly to the man who should know. "Sorry about
that" said Bill Atkinson. I told him it was ok.

SrcCopy is not a fully supported mode for text, he explained, because
of problems that arise with kerning and italics. For example, in the
string "Jeff", the tail of the first f could curve under and clobber
the corner of the e. So if you want to draw text in copy mode, you
should erase the rectangle that bounds it and then draw it using or
mode. But text drawing using or mode is so highly optimized in
QuickDraw, he said, that this is still about as fast as a fully
supported copy mode could ever be. The amount of white space you see
after a character is, by the way, just the amount you need to account
for the worst possible slant of an italic character.

Dan.