Re: Drawing antialiased shapes with alpha transparency



>I have used the Gnomemm-Canvas before (~max 1 year ago), but even in
>simple test cases it had display error back then. Also, from what I have
>read on a gnome mailing last month (unfortunately I was not able to find
>the mail again) the gnome canvas is now basically unmaintained.

true. but there are several projects using it in various forms,
including my own (http://ardour.org/). its a very, very powerful
widget with or without official support. 

i would encourage you to reconsider the canvas.

>I have found Gdk::RGB mentioned all over the API docs, but I didn't find
>it documented anywhere. I only found
>http://www.gtkmm.org/docs/gtkmm-2.4/docs/reference/html/classGdk_1_1RgbCmap.html
>in the Gdk namespace. Is this what you mean with the RGB buffer? How
>would I draw that to a drawable?

1) no, i meant a literal RGB buffer, with N bits per pixel, and N/3
   bits per color value. 

2) i don't use Drawables. they are slow for this kind of thing. you
   want to render to some non-X-buffer, then just draw that into
   some kind of Drawable in a single pass, with the z-order stacking
   and AA already taken care of.

>> GTK has no AA support natively except for fonts.
>
>Ugh. Are there any libraries you recommend for using with Gtk? Anything
>that may draw to an RGB buffer, maybe? (I can recall hearing something
>about an Gtk SDL widget, but that sounds like a large dependency to me,
>so I would like to avoid it (and I am not even sure whether the SDL
>supports AA.)).

this is where the AA canvas comes in. for 2D drawing, libart_lgpl is
very powerful, and pretty damn fast. it has full AA support for the
polygons and other things it can draw. its already used by the
existing canvas items.

i merged a set of macros for RGB(A) drawing into my project, its
GPL'ed by some other people, you're welcome to take a look if you
want. it just has primitives for drawing lines, rects etc. very
primitive but very fast.

--p



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