On 9/29/08, Sergey Novosyolov <[EMAIL PROTECTED]> wrote: >> The first thing, i like to see is a Design in the correct way: >> Inside gdi32 while using Eng* and friends. >> (Needed by Printer drivers, and any Display driver including mirror / >> remote display drivers) >> > why can't we release DIB-Engine as own driver? GDI32 functions are main and > GDI32 calls driver functions in dependence of which type of DC we have > (printer DC, Xwindow HDC or DIB DC)
Any Driver can call the Graphic Rendering Engine (GRE) to do parts (or all) of the rendering (and native driver do that): 1: DDB (Driver managed: using any driver specific format) (The Driver should do Everything. When the driver call the GRE, the DDB is converted to a DIB, GDI renders into the DIB and then the DIB is converted back to a DDB) => like our winex11.drv and wineps.drv 2: DDB (GDI managed: using DIB format) (The driver render, what the driver want to render with hw-support and can call the GRE for all the other rendering without converting) => Needed for native printer drivers / mirror drivers or OpenGL accelerated rendering (stefan did some experiments) 3: DIB (GDI renders everything) => The current Code is using a X11-DDB (Driver Managed) with converting issues. With a winedib.drv (the experimental tree is a wrapper around a wine driver), native printer drivers / mirror drivers will never work without another (additional) wrapper. -- By by ... Detlef