anti-aliasing gdk




It would, obviously, be nice if GDK drawing was all anti-aliased.  
This basically requires adding on an optional GDK compilation argument 
to use something else for drawing, such as libart.  We already have
the seperation to do this in GTK+ 1.3 branch due to seperation for
porting to other platforms such as win32 and beos.

The reason for not doing this at the X level with an X extention
is that even if we support something like that in the future, it
would be nice to have anti-aliased stuff on older X servers or 
proprietary platforms which simply don't have that extention.

Is there a general concensus as to the approach which should
be taken to make anti-aliased fonts and lines, etc., in GDK
a reality?  Is libart the way to go?  How do we make this perform
well and not got all the memory of the system?

I honestly haven't looked at libart any yet.  However, in a 
general sense, I think this is what is needed:

 1. Replace all X drawing calls with client-side drawing to a 
    RGBA buffer, which is transferred onto a pixmap which is 
    sent to the server.

 2. Use one big Window to get alpha transparency between 
    different GdkWindows, and simulate X's Window. (is this 
    worth it?)

#1 would be easy.

#2 could require basically and emulation of Xlib in a layer between
libart and GDK.  That could seriously clean up the BeOS port, and
perhaps the Win32 port, but would be a lot of work.  It could 
potentially make porting GDK to yet-another-platform easier.  (Can
you emulate one toplevel window, well, you ported GDK...)

Comments?

-Shawn

--
Shawn T. Amundson                       amundson@eventloop.com	
Research and Development                http://www.eventloop.com/
EventLoop, Inc.                         http://www.snorfle.net/

"The assumption that the universe looks the same in every
 direction is clearly not true in reality." - Stephen Hawking



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]