summaryrefslogtreecommitdiff
path: root/legacy/ecore/src/lib
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c7
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_directfb.c7
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c6
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h2
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c16
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_win32.c2
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_wince.c2
-rw-r--r--legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c2
8 files changed, 25 insertions, 19 deletions
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
index 33ab5b1602..43506bfb78 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_buffer.c
@@ -88,16 +88,17 @@ _ecore_evas_buffer_shutdown(void)
88 return _ecore_evas_init_count; 88 return _ecore_evas_init_count;
89} 89}
90 90
91void 91int
92_ecore_evas_buffer_render(Ecore_Evas *ee) 92_ecore_evas_buffer_render(Ecore_Evas *ee)
93{ 93{
94 Eina_List *updates, *l, *ll; 94 Eina_List *updates, *l, *ll;
95 Ecore_Evas *ee2; 95 Ecore_Evas *ee2;
96 int rend = 0;
96 97
97 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 98 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
98 { 99 {
99 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); 100 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
100 _ecore_evas_buffer_render(ee2); 101 rend |= _ecore_evas_buffer_render(ee2);
101 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); 102 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
102 } 103 }
103 if (ee->engine.buffer.image) 104 if (ee->engine.buffer.image)
@@ -123,6 +124,8 @@ _ecore_evas_buffer_render(Ecore_Evas *ee)
123 evas_render_updates_free(updates); 124 evas_render_updates_free(updates);
124 _ecore_evas_idle_timeout_update(ee); 125 _ecore_evas_idle_timeout_update(ee);
125 } 126 }
127
128 return updates ? 1 : rend;
126} 129}
127 130
128static void 131static void
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_directfb.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_directfb.c
index e301d41974..acc8a536ca 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_directfb.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_directfb.c
@@ -23,17 +23,18 @@ static Ecore_Event_Handler *ecore_evas_event_handlers[13];
23 23
24static Eina_Hash *ecore_evases_hash = NULL; 24static Eina_Hash *ecore_evases_hash = NULL;
25 25
26static void 26static int
27_ecore_evas_directfb_render(Ecore_Evas *ee) 27_ecore_evas_directfb_render(Ecore_Evas *ee)
28{ 28{
29 Eina_List *updates, *ll; 29 Eina_List *updates, *ll;
30 Ecore_Evas *ee2; 30 Ecore_Evas *ee2;
31 int rend = 0;
31 32
32#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER 33#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
33 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 34 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
34 { 35 {
35 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); 36 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
36 _ecore_evas_buffer_render(ee2); 37 rend |= _ecore_evas_buffer_render(ee2);
37 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); 38 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
38 } 39 }
39#endif 40#endif
@@ -45,6 +46,8 @@ _ecore_evas_directfb_render(Ecore_Evas *ee)
45 _ecore_evas_idle_timeout_update(ee); 46 _ecore_evas_idle_timeout_update(ee);
46 } 47 }
47 if (ee->func.fn_post_render) ee->func.fn_post_render(ee); 48 if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
49
50 return updates ? 1 : rend;
48} 51}
49 52
50static char * 53static char *
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c
index 9758560890..f0a222f33d 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_fb.c
@@ -194,11 +194,11 @@ static int
194_ecore_evas_fb_render(Ecore_Evas *ee) 194_ecore_evas_fb_render(Ecore_Evas *ee)
195{ 195{
196 int rend = 0; 196 int rend = 0;
197 197
198 if (ee->visible) 198 if (ee->visible)
199 { 199 {
200 Eina_List *updates; 200 Eina_List *updates;
201 201
202#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER 202#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
203 Eina_List *ll; 203 Eina_List *ll;
204 Ecore_Evas *ee2; 204 Ecore_Evas *ee2;
@@ -208,7 +208,7 @@ _ecore_evas_fb_render(Ecore_Evas *ee)
208 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 208 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
209 { 209 {
210 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); 210 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
211 _ecore_evas_buffer_render(ee2); 211 rend |= _ecore_evas_buffer_render(ee2);
212 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); 212 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
213 } 213 }
214#endif 214#endif
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h b/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h
index c4404a1c5c..cc2caeeb4f 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_private.h
@@ -346,7 +346,7 @@ int _ecore_evas_fb_shutdown(void);
346#endif 346#endif
347#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER 347#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
348int _ecore_evas_buffer_shutdown(void); 348int _ecore_evas_buffer_shutdown(void);
349void _ecore_evas_buffer_render(Ecore_Evas *ee); 349int _ecore_evas_buffer_render(Ecore_Evas *ee);
350#endif 350#endif
351#ifdef BUILD_ECORE_EVAS_DIRECTFB 351#ifdef BUILD_ECORE_EVAS_DIRECTFB
352int _ecore_evas_directfb_shutdown(void); 352int _ecore_evas_directfb_shutdown(void);
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c
index 31b204db2d..ad492ec258 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_sdl.c
@@ -112,36 +112,36 @@ _ecore_evas_render(Ecore_Evas *ee)
112 evas_render_updates_free(updates); 112 evas_render_updates_free(updates);
113 _ecore_evas_idle_timeout_update(ee); 113 _ecore_evas_idle_timeout_update(ee);
114 } 114 }
115 return (int)updates; 115 return updates ? 1 : 0;
116} 116}
117 117
118static int 118static int
119_ecore_evas_sdl_render(Ecore_Evas *ee) 119_ecore_evas_sdl_render(Ecore_Evas *ee)
120{ 120{
121 int rend = 0; 121 int rend = 0;
122 122
123#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER 123#ifdef BUILD_ECORE_EVAS_SOFTWARE_BUFFER
124 Eina_List *ll; 124 Eina_List *ll;
125 Ecore_Evas *ee2; 125 Ecore_Evas *ee2;
126 126
127 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 127 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
128 { 128 {
129 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); 129 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
130 _ecore_evas_buffer_render(ee2); 130 rend |= _ecore_evas_buffer_render(ee2);
131 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); 131 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
132 } 132 }
133#endif 133#endif
134 134
135 if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee); 135 if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
136 136
137 if (ee->prop.avoid_damage) rend = _ecore_evas_render(ee); 137 if (ee->prop.avoid_damage) rend = _ecore_evas_render(ee);
138 else if ((ee->visible) || 138 else if ((ee->visible) ||
139 ((ee->should_be_visible) && (ee->prop.fullscreen)) || 139 ((ee->should_be_visible) && (ee->prop.fullscreen)) ||
140 ((ee->should_be_visible) && (ee->prop.override))) 140 ((ee->should_be_visible) && (ee->prop.override)))
141 rend = _ecore_evas_render(ee); 141 rend |= _ecore_evas_render(ee);
142 else 142 else
143 evas_norender(ee->evas); 143 evas_norender(ee->evas);
144 144
145 if (ee->func.fn_post_render) ee->func.fn_post_render(ee); 145 if (ee->func.fn_post_render) ee->func.fn_post_render(ee);
146 return rend; 146 return rend;
147} 147}
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_win32.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_win32.c
index 0fb92e1899..19f7545266 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_win32.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_win32.c
@@ -59,7 +59,7 @@ _ecore_evas_win32_render(Ecore_Evas *ee)
59 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 59 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
60 { 60 {
61 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); 61 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
62 _ecore_evas_buffer_render(ee2); 62 rend |= _ecore_evas_buffer_render(ee2);
63 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); 63 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
64 } 64 }
65#endif 65#endif
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_wince.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_wince.c
index 7e558f5609..a4aa56a640 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_wince.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_wince.c
@@ -57,7 +57,7 @@ _ecore_evas_wince_render(Ecore_Evas *ee)
57 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 57 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
58 { 58 {
59 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); 59 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
60 _ecore_evas_buffer_render(ee2); 60 rend |= _ecore_evas_buffer_render(ee2);
61 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); 61 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
62 } 62 }
63#endif 63#endif
diff --git a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c
index a5d067f69b..4df8492407 100644
--- a/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c
+++ b/legacy/ecore/src/lib/ecore_evas/ecore_evas_x.c
@@ -148,7 +148,7 @@ _ecore_evas_x_render(Ecore_Evas *ee)
148 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2) 148 EINA_LIST_FOREACH(ee->sub_ecore_evas, ll, ee2)
149 { 149 {
150 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2); 150 if (ee2->func.fn_pre_render) ee2->func.fn_pre_render(ee2);
151 _ecore_evas_buffer_render(ee2); 151 rend |= _ecore_evas_buffer_render(ee2);
152 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2); 152 if (ee2->func.fn_post_render) ee2->func.fn_post_render(ee2);
153 } 153 }
154#endif 154#endif