emacs-devel
[Top][All Lists]
Advanced

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

Re: GTK scroll bar question


From: Jan D.
Subject: Re: GTK scroll bar question
Date: Thu, 31 Jul 2014 17:27:39 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

Dmitry Antipov skrev 2014-07-31 17:13:
On 07/31/2014 03:53 PM, Jan Djärv wrote:

We want to get rid of those as they are a performance hit.

Less widgets is not necessary means more performance.

Who said anything about widgets? Less windows is waht we are talking about here. Gtk+ headed in that directoin for a reason.


The first Gtk+ version I made did not use handle_one_xevent, but it was
decided that the code in handle_one_xevent should be reused.  So it is
a no-brainer to replace it, it is just a lot of work.

The reason is that we have a lot of code in other places to handle timers
and other things (the whole xg_select.c file for example) that only comes
from not running the Gtk+ event loop.

It just confirms that Emacs is not a first-class Gtk+ citizen and will
always
have OS- and so window system-specific code.

It just confirms that Emacs is wierd, not that it has to be like this.


It is true that Cairo don't use pixmaps

What do you mean about "don't use"?

In the API for drawing images.


* xlib: Uses the Xlib interface to the X Window System. This backend can
target
   Windows or Pixmaps. The Render extension is used if available, but is
not required.

(http://cairographics.org/backends).

But we don't target the Cairo backend, we target the Cairo API.


In particular, this will require
new redisplay interface to replace x_redisplay_interface

No it will not.

Get your favorite function from x_redisplay_interface and try to redesign
it by using only Gtk+ and Cairo interfaces.  Do not assume that Gtk+ is
backed by X, so no way to access underlying Display, Window, GC, etc.
I'm pretty sure you eventually finish with gtkterm.c :-).


For Cairo almost all functions use only Cairo. The exception is that they use information in GC:s. That is because Emacs core passes around GC:s. Even w32 and ns emulate GC:s to cope.


With all possible respect, we can't direct each other to do or not to do
something.  And we shouldn't, isn't it?


So when you can checkin to the Emacs tree, you feel you are in your
right to
break code and generally change it so that the people that try to
maintain
it can't recognize anymore?

Please re-read above. I mean "do", which is not always the same as
"checkin".

On this list "do" is the same as checkin.  Why else bring it up?

        Jan D.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]