bill-auger - 2020-11-05

the GTK3 preview did not render properly, because it attempted to mimic the GTK2 code too closely - the function which draws to the gdk-pixbuf (the return value of the drawing functions), and its GDK2 counterpart which it replaced, did not have feature-parity - i tried to eliminate the cairo dependency; but i could not find a replacement GDK function which is equivalent to the GTK2-compatible one - some of the features of gdk-pixbuf2 appear to be incompatible with GTK3

the GTK2-compatible function recycled the target gdk-pixbuf, composing the final graphic, layer upon layer, with each call - however, each call to the replacement function for GTK3, clobbered the previous gdk-pixbuf; such that the final graphic represented only the work done in the last call; and so the returned graphic was much smaller than expected

i have re-worked and completed that feature, which would close this ticket - this implementation does the compositing with cairo, rather than gdk-pixbuf, using cairo drawing surfaces, then finally copying at once onto the GDK pixbuf used by the GTK2 implementation (per the function contract), just before returning it

my changes are currently under VCS - lxappearance-obconf is not on github and the sourceforge VCS is outdated/abandoned - what is the preferred channel for patches and code review? - should i send them to the mailing list, or attach them to this ticket, or in the sourceforge patches interface?

for now, the changes can bee viewed on the parabola cgit instance
https://git.parabola.nu/~bill-auger/lxappearance-obconf.git/log/?h=gtk3-preview

 

Last edit: bill-auger 2020-11-05