This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Rootless mode revisited...


In a cursory look at the Darwin project, it seemed that they were shadowing
every top-level (child of root) window with a pixmap / hbitmap / dibsection.
The action would be something like draw into the dibsections memory with X
windows drawing routines and then use DirectDraw's fastblt to push it to the
hwnd (Microsloth window) on the screen.

Having worked on a commercial PC X server using gdi exclusively,  my
experience would suggest extending this sort of approach with just a short
list of obvious DirectDraw accelerations: rectangle solid color fill and
pix-to-window copies of pixmaps with constant contents (how about all those
mwm pixmaps with the window decorations in them!)  The copy pix-to-win
operations could be accelerated by moving pixmaps into video memory caches
when it is available.

An approach using dibsections would make this feasible, just be careful of
bit/byte ordering differences between X and WIndows!

Also worth noting, this approach lends itself to emulating 8-bit color on a
true color screen.  Check out WRQ's pseudocolor emulation mode, reasonably
fast and very color accurate with the additional benefit of unlimited
simultaneously installed colormaps or in layman's terms, no colormap
flashing!.



----- Original Message -----
From: "Thomas Chadwick" <j_tetazoo@hotmail.com>
To: <cygwin-xfree@cygwin.com>
Sent: Wednesday, October 09, 2002 7:13 AM
Subject: Rootless mode revisited...


> I just had a thought on how to implement rootless mode and I'm hoping
> someone more familiar with Windows programming and/or the XWin server
might
> let me know if it's a dead-end before I spend too much time researching it
> further.
>
> The idea I had is this:  Can we exploit the features of the Windows API
that
> allow for non-rectangular windows to achieve a "pseudo-rootless" mode?  I
> have looked into it enough to find that non-rectangular Windows windows
are
> really collections of multiple rectangles, ellipses, etc.  Seems to me
XWin
> could exploit this by simply {adding|removing} a rectangle {to|from} the
> collection that makes up its shape whenever an Xclient is
> {created|destroyed}.
>
> I call it "pseudo-rootless" mode because you would still need to run an
> XWindows window manager to decorate the Xclients, as opposed to having the
> Windows window manager do the decoration.
>
> What I don't know is how well Windows will handle, for instance, moving an
> Xclient window around once it's been created, since that would involve
> dynamically manipulating the shape of a Windows window.
>
> What I also don't know is whether or not the way XWin uses DirectDraw and
> frame-buffering somehow precludes the use of the Windows window-shaping
> APIs.
>
>
> _________________________________________________________________
> Send and receive Hotmail on your mobile device: http://mobile.msn.com
>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]