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]

On a side note - display resolution changes now handled


I discovered the scrollbar bug because I have been working on handling the
WM_DISPLAYCHANGE messages in the DirectDraw engines when running in windowed
modes (as opposed to fullscreen).  The Shadow GDI engine has no problem with
display resolution changes but the DirectDraw engines report that the
primary surface cannot be restored because the display mode is wrong.  All
you have to do in these cases is release the original primary surface and
recreate it with the same size and depth as before (note: I only said that
resolution changes are handled).  After that everything works fine.  I just
have to add some logic to enable scrollbars if the window is shrunk because
of the resolution change.

On the other hand, display depth changes are much more disruptive, I think.
I don't think that DirectDraw can handle transfering bits from an offscreen
surface of different format than the primary surface; doing so would seem to
defeat the whole purpose of DirectDraw.  My current thinking is that we will
simply display a popup message indicating that Cygwin/XFree86 will be
unavailable until the display depth is returned to the original depth.

Harold


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