Re: How did Gnome/KDE do it?



On Tue, 30 Nov 2004 15:48:50 -0800 (PST), G B
<gbpublicemailaddress yahoo com> wrote:
Tristan,
Thanks for that.
Do you mean that X composite extensions aren't
available for QT, or for QT and also for gtk?  So in
gtk, if you move the label, does it know to only
redraw (clear) the area where the label was
previously, and then redraw it in the new position, or
do you, as I suppose, have to take care of what
regions you want redrawn?  Is the same true of QT?  

If you play with a GtkLabel, the gtklabel.c code will ensure
that the widget was drawn correctly, If you write a custom
widget or use, say; a GtkDrawingArea in conjunction with
a PangoLayout, you'd have a finer grain of control to make
text "scroll" but you'd have to take care of invalidating regions
to be redrawn and drawing to the screen in expose events.
(I have no idea about QT)

If
neither toolkits do this, then maybe this function can
be better done in OpenGL, since you can access the
framebuffer directly and erase only the old position
of only the text, which I read that you can't do
(can't access frame buffer directly) in, at least, QT.
 However, I've been advised not to use OpenGL in this
way on the EFNET channel.  Perhaps I misread the
advise given there.  What are your thoughts on all
this?

Using OpenGL will probably be faster / more optimized / nicer
depending how you do it (i.e. Render your text once and then just
do fast copies or compositing), but it implies a bunch of portability
issues (also I guess, depending on the approach).
I think that mixing rendering techniques in an application also opens
up a can of worms, but thats nothing that cant be taken care of; or
might already be taken care of by the technologies that are used;
gtk/gtkglext for example.

Thats not really an answer but, its all I've got ;-)

Cheers,
                                                 -Tristan



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