From: Dave Shapiro Subject: Re: Why is y upside down? Date: 05 Aug 1999 00:00:00 GMT Message-ID: <37AA0934.C015A4B1@cfxc.com> Content-Transfer-Encoding: 7bit References: <37A7CC65.A79040FC@bellatlantic.net> X-Accept-Language: en Content-Type: text/plain; charset=us-ascii Organization: a Mime-Version: 1.0 Newsgroups: comp.lang.pascal.delphi.misc You're not stuck with upside-down y axes. GDI's viewport and origin routines can make the y axis go the "correct" way: // Alter's Canvas's viewport and origin so that (0,0) is the lower- // left corner, with positive x going right, and positive y going up. var H: HDC; begin H := Canvas.Handle; SetMapMode(H, MM_ISOTROPIC); SetWindowOrgEx(H, 0, 0, nil); SetViewportOrgEx(H, 0, ClientHeight, nil); SetWindowExtEx(H, 1, 1, nil); SetViewportExtEx(H, 1, -1, nil); Windows.MoveToEx(H, 0, 0, nil); Windows.LineTo(H, 100, 100); end;