diff options
author | Derek Foreman <derekf@osg.samsung.com> | 2018-02-12 14:43:55 -0600 |
---|---|---|
committer | Derek Foreman <derekf@osg.samsung.com> | 2018-04-20 13:00:27 -0500 |
commit | ab7419908cbea191dcde17d36858500785c225de (patch) | |
tree | 7f46f9a6307ed43c2019e675f5d22528d07032e0 /src/lib/ecore_wl2/ecore_wl2_window.c | |
parent | fc973b96403b47353f1814765c028b5eb08d618a (diff) |
ecore_wl2: Reconfigure window on alpha set
This allows software renderers to reconfigure their buffers to actually
change whether alpha is present.
Diffstat (limited to '')
-rw-r--r-- | src/lib/ecore_wl2/ecore_wl2_window.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/ecore_wl2/ecore_wl2_window.c b/src/lib/ecore_wl2/ecore_wl2_window.c index 655d587bf5..44cd871431 100644 --- a/src/lib/ecore_wl2/ecore_wl2_window.c +++ b/src/lib/ecore_wl2/ecore_wl2_window.c | |||
@@ -797,11 +797,16 @@ ecore_wl2_window_alpha_get(Ecore_Wl2_Window *window) | |||
797 | EAPI void | 797 | EAPI void |
798 | ecore_wl2_window_alpha_set(Ecore_Wl2_Window *window, Eina_Bool alpha) | 798 | ecore_wl2_window_alpha_set(Ecore_Wl2_Window *window, Eina_Bool alpha) |
799 | { | 799 | { |
800 | Ecore_Wl2_Surface *surf; | ||
801 | |||
800 | EINA_SAFETY_ON_NULL_RETURN(window); | 802 | EINA_SAFETY_ON_NULL_RETURN(window); |
801 | 803 | ||
802 | if (window->alpha == alpha) return; | 804 | if (window->alpha == alpha) return; |
803 | 805 | ||
804 | window->alpha = alpha; | 806 | window->alpha = alpha; |
807 | surf = window->wl2_surface; | ||
808 | if (surf) | ||
809 | ecore_wl2_surface_reconfigure(surf, surf->w, surf->h, 0, alpha); | ||
805 | 810 | ||
806 | if (!window->alpha) | 811 | if (!window->alpha) |
807 | ecore_wl2_window_opaque_region_set(window, window->opaque.x, | 812 | ecore_wl2_window_opaque_region_set(window, window->opaque.x, |