Hi Ander, On Tue, Aug 7, 2012 at 2:57 AM, Ander Conselvan de Oliveira < conselv...@gmail.com> wrote:
> What exactly does this fix? Your commit message doesn't make it that > obvious. > I assumed the problem was obvious. The definition of the word opaque makes it clear. In frame_button_redraw_handler() the code returns (i.e. does not draw the buttons) if widget->opaque is set. It should be the other way around. > > Weston commit 010f98b0 added the opaque field to struct widget to "track > and report [...] opaque regions", i.e., the region of a surface whose alpha > channel is 1. I don't think this commit is relevant here. What is relevant is the meaning of opaque. (since cgit.fd.o is down at the moment I will post some snippets) For widget_set_transparent() you have widget_set_transparent(struct widget *widget, int transparent) { widget->opaque = !transparent; } > It seems to me the frame button code is abusing this field to hide the > buttons in fullscreen mode. This may be the case but see window.c~:1300 frame_resize_handler() if (child->opaque) { widget->window->opaque_region = wl_compositor_create_region(display->compositor); wl_region_add(widget->window->opaque_region, opaque_margin, opaque_margin, widget->allocation.width - 2 * opaque_margin, widget->allocation.height - 2 * opaque_margin); } it adds the region if opaque is set. > IMO, either way you define a visibility value based on the opacity value > results in improper usage. > I did not write this code, I'm just building on top of it while trying to improve it. If you have a better idea, I would be interested to know what you think. Regards, Scott
_______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel