Path: utzoo!attcan!uunet!lll-winken!ames!apple!bloom-beacon!EXPO.LCS.MIT.EDU!rws From: rws@EXPO.LCS.MIT.EDU Newsgroups: comp.windows.x Subject: Re: X Windows fill rule Message-ID: <8906022035.AA02929@expire.lcs.mit.edu> Date: 2 Jun 89 20:35:10 GMT References: <8906022002.AA21798@amd-26.hac.com> Sender: daemon@bloom-beacon.MIT.EDU Organization: The Internet Lines: 37 Why does X Windows use this fill rule? I'm too tired to repeat the arguments. Maybe you can find someone with old xpert archives. A primary argument is that, whatever the definition is, primitives laid end-to-end should never cause a pixel to be touched more than once, and should cause no gaps. I don't know if your definition satsifies that or not. When you specify a rectangle to be filled isn't it reasonable to expect that the entire rectangle will be filled? Yes, and X does. The problem is simply that we have different notions of what it means to specify a rectangle. X specifies a width and height for a rectangle. The area drawn consists of that many pixels across and that many pixels high. Yours sounds like width+1 and height+1. Whether that's what you would "expect" probably depends on which school you went to. :-) 2) Is it critical that I somehow force our hardware to use a more primitive fill algorithm? I don't know what metric you're using to define "primitive". Does anyone see a problem with just using the fill algorithm we have implemented in hardware? Well, it doesn't conform to the protocol definition. Why does X specify a fill rule anyway? So that applications can depend on consistent graphics across platforms. There are different circle and line algorithms yet X does not specify which one of these to use. Yes, it does, look again. There is a definition for arcs, and for wide lines.