Simplified initial APIs and some cleanups
authorTaekyun Kim <tkq.kim@samsung.com>
Wed, 11 Mar 2015 04:57:03 +0000 (13:57 +0900)
committerTaekyun Kim <tkq.kim@samsung.com>
Fri, 19 Jun 2015 09:06:39 +0000 (18:06 +0900)
Let's start with minimal APIs. Just create a compositor and run.
APIs for output, client, input and surfaces will be added later.

Moved typedefs into internal header which should not be exposed to the user
at the moment.

Change-Id: I8f08ca00a2305d79b2278bf3a5a9ffaa61cc596d

src/client.c
src/compositor.c
src/output.c
src/pepper.h
src/pepper_internal.h
src/server/server.c

index 7c36364..5d33a4c 100644 (file)
@@ -1,8 +1 @@
 #include "pepper_internal.h"
-
-pepper_surface_t *
-pepper_client_get_surface(pepper_client_t *client, int index)
-{
-    /* TODO:*/
-    return NULL;
-}
index 5978c4a..a3b83c6 100644 (file)
@@ -145,57 +145,9 @@ pepper_compositor_destroy(pepper_compositor_t *compositor)
     pepper_free(compositor);
 }
 
-pepper_output_t *
-pepper_compositor_add_output(pepper_compositor_t  *compositor,
-                             pepper_output_info_t *info)
-{
-    pepper_output_t *output = NULL;
-
-    output = (pepper_output_t *)pepper_calloc(1, sizeof (pepper_output_t));
-
-    if (!output)
-        return NULL;
-
-    /* TODO: Backend-side output initialization. */
-
-    output->x = info->x;
-    output->y = info->y;
-    output->w = info->w;
-    output->h = info->h;
-
-    /* TODO: Add to compositor's output list. */
-
-    return output;
-}
-
-pepper_client_t *
-pepper_compositor_get_client(pepper_compositor_t *compositor, int index)
-{
-    /* TODO: */
-    return NULL;
-}
-
-int
-pepper_compositor_get_output_count(pepper_compositor_t *compositor)
-{
-    /* TODO: */
-    return 0;
-}
-
-pepper_output_t *
-pepper_compositor_get_output(pepper_compositor_t *compositor, int index)
-{
-    /* TODO: */
-    return NULL;
-}
-
 void
-pepper_compositor_frame(pepper_compositor_t *compositor)
+pepper_compositor_run(pepper_compositor_t *compositor)
 {
-    if (compositor)
-    {
-        wl_display_flush_clients(compositor->display);
-        wl_event_loop_dispatch(wl_display_get_event_loop(compositor->display), -1);
-    }
+    wl_display_run(compositor->display);
 }
 
index 82bc15a..5d33a4c 100644 (file)
@@ -1,37 +1 @@
 #include "pepper_internal.h"
-
-pepper_bool_t
-pepper_output_move(pepper_output_t *output, int x, int y, int w, int h)
-{
-    /* TODO: */
-    return PEPPER_FALSE;
-}
-
-void
-pepper_output_get_geometry(pepper_output_t *output, int *x, int *y, int *w, int *h)
-{
-    if (x)
-        *x = output->x;
-
-    if (y)
-        *y = output->y;
-
-    if (w)
-        *w = output->w;
-
-    if (h)
-        *h = output->h;
-}
-
-pepper_compositor_t *
-pepper_output_get_compositor(pepper_output_t *output)
-{
-    return output->compositor;
-}
-
-pepper_bool_t
-pepper_output_destroy(pepper_output_t *output)
-{
-    /* TODO: */
-    return PEPPER_FALSE;
-}
index 3aa8728..eba7ff8 100644 (file)
@@ -7,24 +7,7 @@
 #define PEPPER_TRUE     1
 
 typedef uint32_t                    pepper_bool_t;
-
 typedef struct pepper_compositor    pepper_compositor_t;
-typedef struct pepper_output        pepper_output_t;
-typedef struct pepper_output_info   pepper_output_info_t;
-typedef struct pepper_client        pepper_client_t;
-typedef struct pepper_surface       pepper_surface_t;
-typedef struct pepper_shell_surface pepper_shell_surface_t;
-
-typedef struct pepper_seat          pepper_seat_t;
-typedef struct pepper_pointer       pepper_pointer_t;
-typedef struct pepper_keyboard      pepper_keyboard_t;
-typedef struct pepper_touch         pepper_touch_t;
-
-struct pepper_output_info
-{
-    int x, y, w, h;
-    void *data;
-};
 
 /* Compositor functions. */
 pepper_compositor_t *
@@ -37,41 +20,7 @@ pepper_compositor_create(const char *socket_name,
 void
 pepper_compositor_destroy(pepper_compositor_t *compositor);
 
-pepper_output_t *
-pepper_compositor_add_output(pepper_compositor_t  *compositor,
-                             pepper_output_info_t *info);
-
-int
-pepper_compositor_get_output_count(pepper_compositor_t *compositor);
-
-pepper_output_t *
-pepper_compositor_get_output(pepper_compositor_t *compositor, int index);
-
-pepper_client_t *
-pepper_compositor_get_client(pepper_compositor_t *compositor, int index);
-
 void
-pepper_compositor_frame(pepper_compositor_t *compositor);
-
-/* Output functions. */
-pepper_bool_t
-pepper_output_move(pepper_output_t *output, int x, int y, int w, int h);
-
-void
-pepper_output_get_geometry(pepper_output_t *output, int *x, int *y, int *w, int *h);
-
-pepper_compositor_t *
-pepper_output_get_compositor(pepper_output_t *output);
-
-pepper_bool_t
-pepper_output_destroy(pepper_output_t *output);
-
-/* Client functions. */
-pepper_surface_t *
-pepper_client_get_surface(pepper_client_t *client, int index);
-
-/* Surface functions. */
-void *
-pepper_surface_get_buffer(pepper_surface_t *surface);
+pepper_compositor_run(pepper_compositor_t *compositor);
 
 #endif /* PEPPER_H */
index a3d8a9a..5e4d9de 100644 (file)
@@ -5,6 +5,13 @@
 #include "pepper.h"
 #include <wayland-server.h>
 
+typedef struct pepper_surface       pepper_surface_t;
+typedef struct pepper_shell_surface pepper_shell_surface_t;
+typedef struct pepper_seat          pepper_seat_t;
+typedef struct pepper_pointer       pepper_pointer_t;
+typedef struct pepper_keyboard      pepper_keyboard_t;
+typedef struct pepper_touch         pepper_touch_t;
+
 /* input */
 enum pepper_input_event_type
 {
@@ -84,7 +91,6 @@ struct pepper_seat
     /* TODO: */
 };
 
-
 /* compositor */
 struct pepper_compositor
 {
@@ -97,21 +103,6 @@ struct pepper_compositor
     pepper_seat_t                   *seat;
 };
 
-struct pepper_output
-{
-    pepper_compositor_t *compositor;
-
-    int x;
-    int y;
-    int w;
-    int h;
-};
-
-struct pepper_client
-{
-    pepper_compositor_t *compositor;
-};
-
 struct pepper_surface
 {
     struct wl_resource *resource;
@@ -123,4 +114,5 @@ struct pepper_shell_surface
     struct wl_resource *resource;
     pepper_surface_t   *surface;
 };
+
 #endif /* PEPPER_INTERNAL_H */
index 519a47e..292da20 100644 (file)
@@ -8,10 +8,8 @@ main(int argc, char **argv)
 
     compositor = pepper_compositor_create("wayland-0", NULL, NULL, NULL, NULL);
 
-    while (1)
-    {
-        pepper_compositor_frame(compositor);
-    }
+    /* Enter main loop. */
+    pepper_compositor_run(compositor);
 
     pepper_compositor_destroy(compositor);