Hi all, I'm developing oxygen-gtk, and would like to make our inner shadows feature more reliable. To understand what it is about, see this screenshot without the feature [1] and with one [2]. What currently is a problem is that we use composited gdk windows to implement this feature, because we have to render a bit above the contents of the widget. This makes the theme sometimes not get expose events, e.g. when a gdk_draw_drawable() is called or something strange happens, and as a result, the widget doesn't update at all. I guess this is not quite a nice way for a theme to work - change app's widgets' windows to composited and doing all the hacks to try to render this. I've tried using special overlay windows above the border of the widgets, but it appeared that they aren't translucent, i.e. I can't render some translucent image over them to see the window under them. (This is how these shadows are implemented in oxygen-qt, where this trick does work.) I've also tried rendering the inner part of shadow in the process of rendering the widget itself, but this appeared to conflict with scrolling (parts of shadow got scrolled with the widget itself), and didn't work for almost all widgets except lists, trees and several else.
So, my question is: how could a GTK theme render such a shadow without having to use composited gdk windows? Is there some better way? Regards, Ruslan [1]: http://simplest-image-hosting.net/png-0-1351 [2]: http://simplest-image-hosting.net/png-0-2208 _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list