Re: XFree86's GDI functions
Mark Vojkovich <[email protected]>
| Newsgroups | gmane.comp.xfree86.expert |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 26 Nov 2002, Hua zhang wrote: > Yes. There is a project that needs to study the arithmetic of Window's GDI, but there is no way to get its source code you know. We hope to study the GDI functions of Linux first, that is XFree86. It is a huge code package and I have no too much time to study it. So I want to know anybody who has stuided or implemented XFree86's GDI functions and friendly enough can give me some useful information on it. > > Thanks The term GDI is used pretty loosely and what exactly GDI is could be open to interpretation. To me, GDI is the device independent part of Windows that's handles rendering, window placement, etc... It calls into drivers through a fixed API and drivers don't have access to this code. XFree86 drivers are designed with a different philosophy. All the major data structures are exposed and the driver itself actually provides most of what GDI does. Not that all that code is in the drivers, it's not. But the XFree86 drivers chose which routines to use and usually picks them from common helper functions (shared code that is electively, not forcibly, used by most of the drivers). But the driver had the option of providing its own code for most of this if it wanted to. There is a small part of code in the X-server that the driver doesn't have access to. This is the device independent code and actually doesn't do much. For the rendering requests you mentioned, they start at xc/programs/Xserver/dix/dispatch.c. This is where rendering request from the clients come in. They call into the driver fairly shortly after that. Mark.