Brian S. Julin writes:

>  Marcus wrote:
>  >>The problem here is simple - the coordinate system in LibGGI ranges
>  >>from (0,0) to (oo,oo). Negative starting coordinates happens to work
>  >>when you use software clipping, but with hardware clipping and drawing
>  >>the results are undefined.
>  >>The reason this behaviour should not be changed is that for lines it
>  >>isn't as simple as truncating negative values to zero. I do not
>  >>intend to put a full software line-drawer into the matrox sublib
>  >>for the sole purpose of supporting broken applications.
>  
>  Not to be a pain, but purely on principal, I think that either all targets 
>  should properly deal with negative coordinates, or the types on the 
>  functions should be changed to unsigned int.

I agree.  This would be a largish change to the LibGGI API, and would
break backwards compatibility.  I know some of my programs would
break, and would be time-consuming to fix, and that no doubt applies
to a lot of other people too.

>  Otherwise, it strikes me that it is the Matrox hardware that is broken, and 
>  if we're going to be minimalistic for it's sake, we should restrict the 
>  coordinate system to (0,0) to (virt.x,virt.y) rather than to (oo,oo), so 
>  that if another card driver comes along for a card that's broken for 
>  off-screen points as well, we can make it's DrawLine as efficient as it 
>  can be just like the Matrox's.

Yes, exactly.  It would be rather silly to only clip against two sides
of the screen.

Cheers,
__
\/   Andrew Apted   <[EMAIL PROTECTED]>
 

Reply via email to