commit aa0b3f3
Michael Forney
·
2014-02-01 07:07:36 +0000 UTC
parent 842c568
compositor: Rename struct screen -> struct target
1 files changed,
+58,
-57
+58,
-57
1@@ -51,13 +51,13 @@
2 #include <wld/drm.h>
3 #include <xkbcommon/xkbcommon-keysyms.h>
4
5-struct screen
6+struct target
7 {
8 struct wld_surface * surface;
9 struct wld_buffer * next_buffer, * current_buffer;
10 struct swc_view * view;
11 struct wl_listener view_listener;
12- struct wl_listener event_listener;
13+ struct wl_listener screen_listener;
14 };
15
16 struct view
17@@ -146,22 +146,22 @@ static void handle_screen_event(struct wl_listener * listener, void * data)
18
19 if (event->type == SWC_SCREEN_DESTROYED)
20 {
21- struct screen * screen
22- = CONTAINER_OF(listener, typeof(*screen), event_listener);
23+ struct target * target
24+ = CONTAINER_OF(listener, typeof(*target), screen_listener);
25
26- wld_destroy_surface(screen->surface);
27- free(screen);
28+ wld_destroy_surface(target->surface);
29+ free(target);
30 }
31 }
32
33-static struct screen * screen_get(struct swc_screen * base)
34+static struct target * target_get(struct swc_screen_internal * screen)
35 {
36 struct wl_listener * listener
37- = wl_signal_get(&base->event_signal, &handle_screen_event);
38- struct screen * screen;
39+ = wl_signal_get(&screen->base.event_signal, &handle_screen_event);
40+ struct target * target;
41
42- return listener ? CONTAINER_OF(listener, typeof(*screen), event_listener)
43- : NULL;
44+ return listener ? CONTAINER_OF(listener, typeof(*target), screen_listener)
45+ : NULL;
46 }
47
48 static void handle_screen_view_event(struct wl_listener * listener, void * data)
49@@ -173,26 +173,26 @@ static void handle_screen_view_event(struct wl_listener * listener, void * data)
50 {
51 case SWC_VIEW_EVENT_FRAME:
52 {
53- struct swc_screen_internal * base = CONTAINER_OF
54- (event_data->view, typeof(*base), planes.framebuffer.view);
55- struct screen * screen;
56+ struct swc_screen_internal * screen = CONTAINER_OF
57+ (event_data->view, typeof(*screen), planes.framebuffer.view);
58+ struct target * target;
59 struct view * view;
60
61- if (!(screen = screen_get(&base->base)))
62+ if (!(target = target_get(screen)))
63 return;
64
65- compositor.pending_flips &= ~swc_screen_mask(base);
66+ compositor.pending_flips &= ~swc_screen_mask(screen);
67
68 wl_list_for_each(view, &compositor.views, link)
69 {
70- if (view->base.screens & swc_screen_mask(base))
71+ if (view->base.screens & swc_screen_mask(screen))
72 swc_view_frame(&view->base, event_data->frame.time);
73 }
74
75- if (screen->current_buffer)
76- wld_surface_release(screen->surface, screen->current_buffer);
77+ if (target->current_buffer)
78+ wld_surface_release(target->surface, target->current_buffer);
79
80- screen->current_buffer = screen->next_buffer;
81+ target->current_buffer = target->next_buffer;
82
83 /* If we had scheduled updates that couldn't run because we were
84 * waiting on a page flip, run them now. */
85@@ -203,14 +203,14 @@ static void handle_screen_view_event(struct wl_listener * listener, void * data)
86 }
87 }
88
89-static bool screen_swap_buffers(struct screen * screen)
90+static bool target_swap_buffers(struct target * target)
91 {
92 struct swc_buffer * buffer;
93
94- screen->next_buffer = wld_surface_take(screen->surface);
95- buffer = buffer_get(screen->next_buffer);
96+ target->next_buffer = wld_surface_take(target->surface);
97+ buffer = buffer_get(target->next_buffer);
98
99- if (!swc_view_attach(screen->view, buffer))
100+ if (!swc_view_attach(target->view, buffer))
101 {
102 ERROR("Failed to attach next frame to screen\n");
103 return false;
104@@ -219,34 +219,34 @@ static bool screen_swap_buffers(struct screen * screen)
105 return true;
106 }
107
108-static struct screen * screen_new(struct swc_screen_internal * base)
109+static struct target * target_new(struct swc_screen_internal * screen)
110 {
111- struct screen * screen;
112+ struct target * target;
113
114- if (!(screen = malloc(sizeof *screen)))
115+ if (!(target = malloc(sizeof *target)))
116 goto error0;
117
118- screen->surface = wld_create_surface(swc.drm->context,
119- base->base.geometry.width,
120- base->base.geometry.height,
121+ target->surface = wld_create_surface(swc.drm->context,
122+ screen->base.geometry.width,
123+ screen->base.geometry.height,
124 WLD_FORMAT_XRGB8888,
125 WLD_DRM_FLAG_SCANOUT);
126
127- if (!screen->surface)
128+ if (!target->surface)
129 goto error1;
130
131- screen->view = &base->planes.framebuffer.view;
132- screen->view_listener.notify = &handle_screen_view_event;
133- wl_signal_add(&screen->view->event_signal, &screen->view_listener);
134- screen->event_listener.notify = &handle_screen_event;
135- wl_signal_add(&base->base.event_signal, &screen->event_listener);
136- screen->current_buffer = NULL;
137- screen_swap_buffers(screen);
138+ target->view = &screen->planes.framebuffer.view;
139+ target->view_listener.notify = &handle_screen_view_event;
140+ wl_signal_add(&target->view->event_signal, &target->view_listener);
141+ target->screen_listener.notify = &handle_screen_event;
142+ wl_signal_add(&screen->base.event_signal, &target->screen_listener);
143+ target->current_buffer = NULL;
144+ target_swap_buffers(target);
145
146- return screen;
147+ return target;
148
149 error1:
150- free(screen);
151+ free(target);
152 error0:
153 return NULL;
154 }
155@@ -719,16 +719,16 @@ static void calculate_damage()
156 pixman_region32_fini(&surface_opaque);
157 }
158
159-static void update_screen(struct swc_screen_internal * base)
160+static void update_screen(struct swc_screen_internal * screen)
161 {
162- struct screen * screen;
163- const struct swc_rectangle * geometry = &base->base.geometry;
164+ struct target * target;
165+ const struct swc_rectangle * geometry = &screen->base.geometry;
166 pixman_region32_t damage;
167
168- if (!(compositor.scheduled_updates & swc_screen_mask(base)))
169+ if (!(compositor.scheduled_updates & swc_screen_mask(screen)))
170 return;
171
172- if (!(screen = screen_get(&base->base)))
173+ if (!(target = target_get(screen)))
174 return;
175
176 pixman_region32_init(&damage);
177@@ -736,30 +736,31 @@ static void update_screen(struct swc_screen_internal * base)
178 geometry->x, geometry->y,
179 geometry->width, geometry->height);
180 pixman_region32_translate(&damage, -geometry->x, -geometry->y);
181- pixman_region32_union(&screen->next_buffer->damage,
182- &screen->next_buffer->damage, &damage);
183+ pixman_region32_union(&target->next_buffer->damage,
184+ &target->next_buffer->damage, &damage);
185 pixman_region32_fini(&damage);
186
187 /* Don't repaint the screen if it is waiting for a page flip. */
188- if (compositor.pending_flips & swc_screen_mask(base))
189+ if (compositor.pending_flips & swc_screen_mask(screen))
190 return;
191
192- struct render_target target;
193+ struct render_target render_target;
194 pixman_region32_t * total_damage, base_damage;
195
196- total_damage = wld_surface_damage(screen->surface,
197- &screen->next_buffer->damage);
198+ total_damage = wld_surface_damage(target->surface,
199+ &target->next_buffer->damage);
200 pixman_region32_translate(total_damage, geometry->x, geometry->y);
201 pixman_region32_init(&base_damage);
202 pixman_region32_subtract(&base_damage, total_damage, &compositor.opaque);
203
204- target.surface = screen->surface;
205- target.mask = swc_screen_mask(base);
206- target.geometry = geometry;
207+ render_target.surface = target->surface;
208+ render_target.mask = swc_screen_mask(screen);
209+ render_target.geometry = geometry;
210
211- renderer_repaint(&target, total_damage, &base_damage, &compositor.views);
212+ renderer_repaint(&render_target, total_damage, &base_damage,
213+ &compositor.views);
214 pixman_region32_fini(&base_damage);
215- screen_swap_buffers(screen);
216+ target_swap_buffers(target);
217 }
218
219 static void perform_update(void * data)
220@@ -918,7 +919,7 @@ bool swc_compositor_initialize()
221 wl_signal_add(&swc.launch->event_signal, &launch_listener);
222
223 wl_list_for_each(screen, &swc.screens, link)
224- screen_new(screen);
225+ target_new(screen);
226
227 swc_add_key_binding(SWC_MOD_CTRL | SWC_MOD_ALT, XKB_KEY_BackSpace,
228 &handle_terminate, NULL);