Article View: comp.sys.mac
Article #22413rect.top vs: rect.topLeft in C
From: kdmoen
Date: Thu, 03 Dec 1987 01:34
Date: Thu, 03 Dec 1987 01:34
34 lines
1754 bytes
1754 bytes
tedj@hpcilzb.HP.COM (Ted Johnson) writes:
>Can someone tell me what I'm doing wrong here? Using Lightspeed C v.2.11,
>I tried to do the following:
>
> tempPoint = aRect.topLeft;
singer@endor.UUCP (Richard Siegal@THINK Technologies) writes:
> You're getting confused between C and Pascal. In C there's no easy
>way to get at the variants of a record. Therefore, there's a macro (declared in
>"QuickDraw.h") for "topLeft" and "botRight". Instead of "aRect.topLeft", say
>"topLeft(aRect)", and all will be well.
Although I haven't seen this exact trick used in any Mac C environment
so far, it *is* possible to define Rect so that you can use the
syntax described in Inside Macintosh for accessing its fields:
typedef struct {
Point topLeft;
Point botRight;
} Rect;
#define top topLeft.v
#define left topLeft.h
#define bottom botRight.v
#define right botRight.h
Note that LightSpeed C defines top,left,bottom and right as fields
and topLeft,botRight as macros, while the above implementation does
the reverse, *and* gives you a cleaner syntax.
--
Doug Moen
University of Waterloo Computer Graphics Lab
UUCP: {ihnp4,watmath}!watcgl!kdmoen
INTERNET: kdmoen@cgl.waterloo.edu
Technical Details
Message-ID:
<2571@watcgl.waterloo.edu>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!watcgl!kdmoenReferences:
<870053@hpcilzb.HP.COM> <3424@husc6.harvard.edu>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!watcgl!kdmoen From: kdmoen@watcgl.UUCP Newsgroups: comp.sys.mac Subject: rect.top vs: rect.topLeft in C Message-ID: <2571@watcgl.waterloo.edu> Date: Wed, 2-Dec-87 20:34:08 EST Article-I.D.: watcgl.2571 Posted: Wed Dec 2 20:34:08 1987 Date-Received: Sat, 5-Dec-87 17:49:29 EST References: <870053@hpcilzb.HP.COM> <3424@husc6.harvard.edu> Reply-To: kdmoen@watcgl.waterloo.edu (Doug Moen) Organization: U. of Waterloo, Ontario Lines: 34