Re: commit: Fix border drawing


Subject: Re: commit: Fix border drawing
From: James Montgomerie (jamie@montgomerie.net)
Date: Mon May 07 2001 - 08:30:31 CDT


On 2001.05.07 14:20:15 +0100 Thomas Fletcher wrote:
> On 7 May 2001, Joaquin Cuenca Abela wrote:
>
> > On 01 May 2001 12:26:12 -0700, Paul Rohr wrote:
> > > At 02:47 PM 3/27/01 -0800, I wrote:
> > > >At 02:01 PM 3/24/01 -0500, Thomas Fletcher wrote:
> > > >>In this case the including/excluding of the end points issue just
> > > >>made you lucky that it worked out (it would seem that it would
> > > >>have impled that the end points were excluded if this were the
> > > >>case). However the code was wrong and always overdrawing by one
> > > >>pixel, if you see a problem on other platforms then we can
> > > >>re-visit it, but I don't think that you will.
> > > >
> > > >Thanks. I'll take a look the next time I rebuild.
> > >
> > > Thomas,
> > >
> > > After doing a number of rounds with Mike Nordell to isolate and fix
> any
> > > potential line-drawing glitches due to his recent Win32
> optimizations, I'm
> > > still seeing a problem at the lower-right corner of the page shadow
> (see
> > > attached). Just to be sure, I've even #if 0-ed out his optimization
> code
> > > entirely, and I'm still missing those two pixels.
> > >
> > > Two questions:
> > >
> > > 1. Is anyone else seeing this effect on non-Windows platforms?
> >
> > yep, same here (gtk+).
> >
>
> OK folks ... lets set the record straight on line drawing.

When I fixed this up on BeOS recently, the answers were:

> Do we draw to include the startpoints?

Yes.

> Do we draw to include the endpoints?

No.

> What is Abi expecting and what are the various platforms
> doing? I'm curious since to me the drawing code that did
> the borders was overshooting (I don't have the code handy
> so I can't compare).

That's what BeOS is now doing, and (as far as I could tell at the time from
screenshots), it's the same as the other platforms.

[it's annoying, because it's not what BeOS does internally, so requires
translation]

Also, rectangles don't contain the rightmost of bottommoost lines.

[which, again, is the opposite of what BeOS expects].

That's the simple explanation, but I beleive the behaviour actually depends
on whether you use a pixel-edge or pixel-centre coordinate system. I think
AbiWord is pixel-edge (but don't quote me - these things do my head in
sometimes. Thinking of it as 'endpoints included' or not seems to make
more sense to me).

Jamie.



This archive was generated by hypermail 2b25 : Sat May 26 2001 - 03:51:03 CDT