commit 6230926
Michael Forney
·
2014-02-06 03:53:21 +0000 UTC
parent 85fb54a
Make exporters public API
M
buffer.c
+11,
-9
1@@ -40,15 +40,9 @@ void buffer_initialize(struct wld_buffer * buffer,
2 pixman_region32_init_rect(&buffer->damage, 0, 0, width, height);
3 }
4
5-void buffer_add_exporter(struct wld_buffer * buffer,
6- struct wld_exporter * exporter)
7-{
8- exporter->next = buffer->exporters;
9- buffer->exporters = exporter;
10-}
11-
12-void exporter_initialize(struct wld_exporter * exporter,
13- const struct wld_exporter_impl * impl)
14+EXPORT
15+void wld_exporter_initialize(struct wld_exporter * exporter,
16+ const struct wld_exporter_impl * impl)
17 {
18 *((const struct wld_exporter_impl **) &exporter->impl) = impl;
19 exporter->next = NULL;
20@@ -92,6 +86,14 @@ bool wld_export(struct wld_buffer * buffer,
21 return false;
22 }
23
24+EXPORT
25+void wld_buffer_add_exporter(struct wld_buffer * buffer,
26+ struct wld_exporter * exporter)
27+{
28+ exporter->next = buffer->exporters;
29+ buffer->exporters = exporter;
30+}
31+
32 EXPORT
33 void wld_destroy_buffer(struct wld_buffer * buffer)
34 {
M
dumb.c
+2,
-2
1@@ -93,8 +93,8 @@ static struct wld_buffer * new_buffer(struct dumb_context * context,
2 width, height, format, pitch);
3 buffer->context = context;
4 buffer->handle = handle;
5- exporter_initialize(&buffer->exporter, &wld_exporter_impl);
6- buffer_add_exporter(&buffer->base, &buffer->exporter);
7+ wld_exporter_initialize(&buffer->exporter, &wld_exporter_impl);
8+ wld_buffer_add_exporter(&buffer->base, &buffer->exporter);
9
10 return &buffer->base;
11 }
M
intel.c
+2,
-2
1@@ -124,8 +124,8 @@ static struct wld_buffer * new_buffer(uint32_t width, uint32_t height,
2 buffer_initialize(&buffer->base, &wld_buffer_impl,
3 width, height, format, pitch);
4 buffer->bo = bo;
5- exporter_initialize(&buffer->exporter, &wld_exporter_impl);
6- buffer_add_exporter(&buffer->base, &buffer->exporter);
7+ wld_exporter_initialize(&buffer->exporter, &wld_exporter_impl);
8+ wld_buffer_add_exporter(&buffer->base, &buffer->exporter);
9
10 return &buffer->base;
11 }
+2,
-2
1@@ -310,8 +310,8 @@ static struct nouveau_buffer * new_buffer(struct nouveau_context * context,
2 buffer_initialize(&buffer->base, &wld_buffer_impl,
3 width, height, format, pitch);
4 buffer->context = context;
5- exporter_initialize(&buffer->exporter, &wld_exporter_impl);
6- buffer_add_exporter(&buffer->base, &buffer->exporter);
7+ wld_exporter_initialize(&buffer->exporter, &wld_exporter_impl);
8+ wld_buffer_add_exporter(&buffer->base, &buffer->exporter);
9
10 return buffer;
11 }
M
pixman.c
+2,
-2
1@@ -205,9 +205,9 @@ static pixman_image_t * pixman_image(struct wld_buffer * buffer)
2 if (!(exporter = malloc(sizeof *exporter)))
3 goto error2;
4
5- exporter_initialize(&exporter->base, &wld_exporter_impl);
6+ wld_exporter_initialize(&exporter->base, &wld_exporter_impl);
7 exporter->image = image;
8- buffer_add_exporter(buffer, &exporter->base);
9+ wld_buffer_add_exporter(buffer, &exporter->base);
10 pixman_image_set_destroy_function(image, &destroy_image, buffer);
11
12 return pixman_image_ref(image);
+1,
-1
1@@ -221,7 +221,7 @@ struct wld_buffer * context_create_buffer(struct wld_context * base,
2 if (!(exporter = wayland_create_exporter(wl)))
3 goto error2;
4
5- buffer_add_exporter(buffer, exporter);
6+ wld_buffer_add_exporter(buffer, exporter);
7
8 return buffer;
9
+1,
-1
1@@ -201,7 +201,7 @@ struct wld_buffer * context_create_buffer(struct wld_context * base,
2 buffer_initialize(&buffer->base, &wld_buffer_impl,
3 width, height, format, pitch);
4 buffer->fd = fd;
5- buffer_add_exporter(&buffer->base, exporter);
6+ wld_buffer_add_exporter(&buffer->base, exporter);
7
8 return &buffer->base;
9
+1,
-1
1@@ -212,7 +212,7 @@ struct wld_exporter * wayland_create_exporter(struct wl_buffer * buffer)
2 if (!(exporter = malloc(sizeof *exporter)))
3 return NULL;
4
5- exporter_initialize(&exporter->base, &wld_exporter_impl);
6+ wld_exporter_initialize(&exporter->base, &wld_exporter_impl);
7 exporter->buffer = buffer;
8
9 return &exporter->base;
+0,
-19
1@@ -143,19 +143,6 @@ struct wld_surface_impl
2 void (* destroy)(struct wld_surface * surface);
3 };
4
5-struct wld_exporter
6-{
7- const struct wld_exporter_impl * const impl;
8- struct wld_exporter * next;
9-};
10-
11-struct wld_exporter_impl
12-{
13- bool (* export)(struct wld_exporter * exporter, struct wld_buffer * buffer,
14- uint32_t type, union wld_object * object);
15- void (* destroy)(struct wld_exporter * exporter);
16-};
17-
18 struct wld_buffer_socket
19 {
20 const struct wld_buffer_socket_impl * impl;
21@@ -246,12 +233,6 @@ void buffer_initialize(struct wld_buffer * buffer,
22 uint32_t width, uint32_t height,
23 uint32_t format, uint32_t pitch);
24
25-void buffer_add_exporter(struct wld_buffer * buffer,
26- struct wld_exporter * exporter);
27-
28-void exporter_initialize(struct wld_exporter * exporter,
29- const struct wld_exporter_impl * impl);
30-
31 void surface_initialize(struct wld_surface * surface,
32 const struct wld_surface_impl * impl);
33
M
wld.h
+19,
-0
1@@ -155,6 +155,22 @@ static inline void wld_font_text_extents(struct wld_font * font,
2
3 /**** Buffers ****/
4
5+struct wld_exporter
6+{
7+ const struct wld_exporter_impl * const impl;
8+ struct wld_exporter * next;
9+};
10+
11+struct wld_exporter_impl
12+{
13+ bool (* export)(struct wld_exporter * exporter, struct wld_buffer * buffer,
14+ uint32_t type, union wld_object * object);
15+ void (* destroy)(struct wld_exporter * exporter);
16+};
17+
18+void wld_exporter_initialize(struct wld_exporter * exporter,
19+ const struct wld_exporter_impl * impl);
20+
21 struct wld_buffer
22 {
23 const struct wld_buffer_impl * const impl;
24@@ -181,6 +197,9 @@ bool wld_unmap(struct wld_buffer * buffer);
25 bool wld_export(struct wld_buffer * buffer,
26 uint32_t type, union wld_object * object);
27
28+void wld_buffer_add_exporter(struct wld_buffer * buffer,
29+ struct wld_exporter * exporter);
30+
31 /**
32 * Destroy a buffer.
33 */