On 09/28/2010 03:31 PM, Paul Davis wrote:
On Tue, Sep 28, 2010 at 7:00 AM, Olivier Guilyardi
<list(a)samalyse.com> wrote:
I'm not a gtk engine wizard, but the problem
is still here IIUC.
Most custom widgets for GTK suffer from this problem. Its not a new
thing. The GTK docs and even the GTK "team" have never really
advocated that all widgets should draw themselves with gdk_draw_*(),
at least not to an extent that has resulted in this being the case.
The problem is that there really is a conflict here:
On the one hand:
1) the desire for a generic, powerful graphics language/API to
draw widgets with (e.g. Cairo)
and on the other
2) the desire to push all widget drawing through a themeable
layer which necessarily reduces the complexity of the graphics API
(e.g. gdk_draw_*())
I don't think that these can be reconciled.
I was not advocating that all widgets should draw themselves with GtkStyle. Take
a chart, or some advanced scientific widget for example. But since the knob can
be considered as a primitive, a simple and polyvalent widget, I was wondering
how far it could go about being themable, and become a true generic widget.
I see a lot about Cairo in the GTK+3 docs, but I'm not sure what's happening
with GtkStyle. For instance, the author of the Nodoka engine claims GTK+3,
compatibility, and looking at the source I see that he's overloading the same
draw* functions as ClearLooks.
Anyway, to come back a bit to reality, I think that the whole engine thing is
designed for rectangular shapes. It seems like circular ones are out of the scope.
That said, what is this prolooks library you're using in Ardour3? Isn't it some
sort of low-level rendering engine?
--
Olivier