Re: using OpenGL to implement a window manager

Jon Smirl <[email protected]> Fri, 23 Apr 2004 21:05:19 -0700 (PDT)
Newsgroups gmane.comp.video.mesa3d.devel,gmane.comp.freedesktop.xserver
Message-ID <[email protected]>
--- Keith Packard <[email protected]> wrote:
>  4)	Graphics system hands transformation matrix to application
> 
> 	+)	Everything looks sharp
> 
> 	-)	Everything has to be redrawn each time the transform
> 		changes
> 
> 	-)	Global transformation changes will cause global repaint.
> 		I thought we wanted to avoid this.

Everything doesn't have to be redrawn when the transform changes, the server
still has the bitmap for the app. For example if you want to do one of those
flutter the window down to the task bar on minimize effects just transform the
existing bitmap. Those effects are fast enough no one will notice artifacts.
There is no rule that says we have to tell the app the transformation is
changing; you only have to tell the app the transform before you want it to
paint. On the other hand if I want to arrange my windows like doors in a
receding hallway, artifacts are going to be obvious. Of couse really fast
hardware may be able to generate true repaints for each step of the flutter
effect.

Client transform will also help JPEG images. JPEG decoders can use internal
image knowledge to scale better than bitmap interpolaters if the JPEG decoder
knows the final output size. This is true for straight scaling. I don't know of
any existing JPEG implementations that can draw to distored rectangles but I
suspect it wouldn't be too hard to modify the code.

Global transformation changes are always going to cause a global repaint. We're
just picking whether it is generated from the window buffers or from the apps themselves.

=====
Jon Smirl
[email protected]


	
		
__________________________________
Do you Yahoo!?
Yahoo! Photos: High-quality 4x6 digital prints for 25ยข
http://photos.yahoo.com/ph/print_splash


-------------------------------------------------------
This SF.net email is sponsored by: The Robotic Monkeys at ThinkGeek
For a limited time only, get FREE Ground shipping on all orders of $35
or more. Hurry up and shop folks, this offer expires April 30th!
http://www.thinkgeek.com/freeshipping/?cpg=12297