On Thu, 19 Sep 2002, Jehan wrote:
4. Give me valid point (like the hardware thing) and I'll just up. API
compatibility isn't a valid one since it can be easily fix (more easily
that writing a new GDI driver).
Just explain the design you have in mind. Is it
Application User32.dll User32-orig.dll XWin
------------>LineTo(x,y)----+---->LineTo(x,y)
|
+-------------------->shadowDrawLine
If so, then you must call the xserver drawing function directly
Application User32.dll User32-orig.dll XLib
------------>LineTo(x,y)----+---->LineTo(x,y)
|
+-------------------->XDrawLine
In this case you have the X11 Protocol overhead again.
And of course the problem with the replaced User32.dll
My proposal was
Application User32.dll GDI DisplayGDI XLib
---------->LineTo(x,y)---->gdiLineTo(x,y)--->gdiLineTo(x,y)
|
+-------------------------->XDrawLine
This requires the same work as replacing user32 since all exported functions
from the library must be replace with stubs calling the original functions
and the code for converting the calls to X11 or the Xserver functions
must be written.