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: Internal-wm/rootless observations


On Wed, 1 Dec 2004, Kensuke Matsuzaki wrote:

> Could you give me diff? I want to try that.

Actually not. Most changes where done in gdb with "set var ...." ;)

let's do it from memory: 

in winMWExtWMStartDrawing:

	  hdcNew = CreateCompatibleDC (pRLWinPriv->hdcScreen);
	  /* Describe shadow bitmap to be created */
	  pRLWinPriv->pbmihShadow->biWidth = pRLWinPriv->pFrame->width;//pRLWinPriv->dwWidth;
	  pRLWinPriv->pbmihShadow->biHeight = -pRLWinPriv->pFrame->height;//pRLWinPriv->dwHeight;
+	  pRLWinPriv->pbmihShadow->biBitCount = 32;
	  
	  /* Create a DI shadow bitmap with a bit pointer */

in winAdjust

- /* Query GDI for current display depth */
- dwBPP = GetDeviceCaps (hdc, BITSPIXEL);
+ /* Set the colordepth to 32 to please rootless code */
+ dwBPP = 32;

  /* GDI cannot change the screen depth */


This is in no way safe and should be wrapped with a check for -internalwm but
safe for testing

> I think we have no reason to use winshadgdi.c in mwextwm mode and some
> code in winshadgdi.c don't match mwextwm. I have to write winshadrootless?

I don't think so. We have way too much code anyway i think. 5 different engines, to code 
for handling windowed, pseudorootless and rootless code. If we find a safe way to blit 
from 32bit planes to 16bit planes then this will be quite useful in shadow GDI mode 
too. Sebastian Haby told me the 8bit pseudocolor patch he made has similar code 
(blitting from a 8bit plane to 32/24/16 bit). I'll have to check the mail archives 
at home for this code

bye
	ago
-- 
 Alexander.Gottwald@s1999.tu-chemnitz.de 
 http://www.gotti.org           ICQ: 126018723


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