commit b8123bed9227b07110030dc31360737ed986f261
parent 452e49221645ad9af79cb64d5f659c0ff796ec8a
Author: Michael Forney <mforney@mforney.org>
Date: Fri, 31 Jan 2014 23:30:03 -0800
screen: Reserve swc_ prefix for public API
Diffstat:
12 files changed, 62 insertions(+), 65 deletions(-)
diff --git a/libswc/compositor.c b/libswc/compositor.c
@@ -156,7 +156,7 @@ static void handle_screen_event(struct wl_listener * listener, void * data)
}
}
-static struct target * target_get(struct swc_screen_internal * screen)
+static struct target * target_get(struct screen * screen)
{
struct wl_listener * listener
= wl_signal_get(&screen->base.event_signal, &handle_screen_event);
@@ -175,7 +175,7 @@ static void handle_screen_view_event(struct wl_listener * listener, void * data)
{
case SWC_VIEW_EVENT_FRAME:
{
- struct swc_screen_internal * screen = CONTAINER_OF
+ struct screen * screen = CONTAINER_OF
(event_data->view, typeof(*screen), planes.framebuffer.view);
struct target * target;
struct view * view;
@@ -183,11 +183,11 @@ static void handle_screen_view_event(struct wl_listener * listener, void * data)
if (!(target = target_get(screen)))
return;
- compositor.pending_flips &= ~swc_screen_mask(screen);
+ compositor.pending_flips &= ~screen_mask(screen);
wl_list_for_each(view, &compositor.views, link)
{
- if (view->base.screens & swc_screen_mask(screen))
+ if (view->base.screens & screen_mask(screen))
swc_view_frame(&view->base, event_data->frame.time);
}
@@ -221,7 +221,7 @@ static bool target_swap_buffers(struct target * target)
return true;
}
-static struct target * target_new(struct swc_screen_internal * screen)
+static struct target * target_new(struct screen * screen)
{
struct target * target;
@@ -241,7 +241,7 @@ static struct target * target_new(struct swc_screen_internal * screen)
target->view_listener.notify = &handle_screen_view_event;
wl_signal_add(&target->view->event_signal, &target->view_listener);
target->current_buffer = NULL;
- target->mask = swc_screen_mask(screen);
+ target->mask = screen_mask(screen);
target_swap_buffers(target);
target->screen_listener.notify = &handle_screen_event;
@@ -441,11 +441,11 @@ static void schedule_updates(uint32_t screens)
if (screens == -1)
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
screens = 0;
wl_list_for_each(screen, &swc.screens, link)
- screens |= swc_screen_mask(screen);
+ screens |= screen_mask(screen);
}
compositor.scheduled_updates |= screens;
@@ -718,13 +718,13 @@ static void calculate_damage()
pixman_region32_fini(&surface_opaque);
}
-static void update_screen(struct swc_screen_internal * screen)
+static void update_screen(struct screen * screen)
{
struct target * target;
const struct swc_rectangle * geometry = &screen->base.geometry;
pixman_region32_t damage;
- if (!(compositor.scheduled_updates & swc_screen_mask(screen)))
+ if (!(compositor.scheduled_updates & screen_mask(screen)))
return;
if (!(target = target_get(screen)))
@@ -740,7 +740,7 @@ static void update_screen(struct swc_screen_internal * screen)
pixman_region32_fini(&damage);
/* Don't repaint the screen if it is waiting for a page flip. */
- if (compositor.pending_flips & swc_screen_mask(screen))
+ if (compositor.pending_flips & screen_mask(screen))
return;
pixman_region32_t * total_damage, base_damage;
@@ -757,7 +757,7 @@ static void update_screen(struct swc_screen_internal * screen)
static void perform_update(void * data)
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
uint32_t updates = compositor.scheduled_updates
& ~compositor.pending_flips;
@@ -823,7 +823,7 @@ static void handle_switch_vt(uint32_t time, uint32_t value, void * data)
static void handle_launch_event(struct wl_listener * listener, void * data)
{
struct swc_event * event = data;
- struct swc_screen_internal * screen;
+ struct screen * screen;
switch (event->type)
{
@@ -892,7 +892,7 @@ static void bind_compositor(struct wl_client * client, void * data,
bool swc_compositor_initialize()
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
uint32_t keysym;
compositor.global = wl_global_create
diff --git a/libswc/drm.c b/libswc/drm.c
@@ -416,8 +416,7 @@ bool swc_drm_create_screens(struct wl_list * screens)
if (!(output = swc_output_new(connector)))
continue;
- output->screen = swc_screen_new(resources->crtcs[crtc_index],
- output);
+ output->screen = screen_new(resources->crtcs[crtc_index], output);
output->screen->id = id;
taken_crtcs |= 1 << crtc_index;
diff --git a/libswc/output.c b/libswc/output.c
@@ -15,7 +15,7 @@ static void bind_output(struct wl_client * client, void * data,
uint32_t version, uint32_t id)
{
struct swc_output * output = data;
- struct swc_screen_internal * screen = output->screen;
+ struct screen * screen = output->screen;
struct swc_mode * mode;
struct wl_resource * resource;
uint32_t flags;
diff --git a/libswc/output.h b/libswc/output.h
@@ -10,7 +10,7 @@ struct wl_display;
struct swc_output
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
/* The physical dimensions (in mm) of this output */
uint32_t physical_width, physical_height;
diff --git a/libswc/panel.c b/libswc/panel.c
@@ -73,9 +73,8 @@ static void dock(struct wl_client * client, struct wl_resource * resource,
struct swc_panel * panel = wl_resource_get_user_data(resource);
struct swc_output * output = output_resource
? wl_resource_get_user_data(output_resource) : NULL;
- struct swc_screen_internal * screen = output
- ? output->screen : CONTAINER_OF(swc.screens.next,
- struct swc_screen_internal, link);
+ struct screen * screen = output
+ ? output->screen : CONTAINER_OF(swc.screens.next, struct screen, link);
bool screen_changed = screen != panel->screen;
uint32_t length;
@@ -98,7 +97,7 @@ static void dock(struct wl_client * client, struct wl_resource * resource,
if (panel->screen && screen_changed)
{
wl_list_remove(&panel->modifier.link);
- swc_screen_update_usable_geometry(panel->screen);
+ screen_update_usable_geometry(panel->screen);
}
panel->screen = screen;
@@ -136,7 +135,7 @@ static void set_strut(struct wl_client * client, struct wl_resource * resource,
panel->strut_size = size;
if (panel->docked)
- swc_screen_update_usable_geometry(panel->screen);
+ screen_update_usable_geometry(panel->screen);
}
static const struct swc_panel_interface panel_implementation = {
@@ -145,7 +144,7 @@ static const struct swc_panel_interface panel_implementation = {
.set_strut = &set_strut
};
-static void modify(struct swc_screen_modifier * modifier,
+static void modify(struct screen_modifier * modifier,
const struct swc_rectangle * geometry,
pixman_region32_t * usable)
{
@@ -193,7 +192,7 @@ static void destroy_panel(struct wl_resource * resource)
{
wl_list_remove(&panel->view_listener.link);
wl_list_remove(&panel->modifier.link);
- swc_screen_update_usable_geometry(panel->screen);
+ screen_update_usable_geometry(panel->screen);
swc_compositor_remove_surface(panel->surface);
}
diff --git a/libswc/panel.h b/libswc/panel.h
@@ -36,8 +36,8 @@ struct swc_panel
struct swc_surface * surface;
struct wl_listener surface_destroy_listener;
struct wl_listener view_listener;
- struct swc_screen_internal * screen;
- struct swc_screen_modifier modifier;
+ struct screen * screen;
+ struct screen_modifier modifier;
uint32_t edge;
uint32_t offset, strut_size;
bool docked;
diff --git a/libswc/pointer.c b/libswc/pointer.c
@@ -130,14 +130,14 @@ static void handle_view_event(struct wl_listener * listener, void * data)
{
case SWC_VIEW_EVENT_MOVED:
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
wl_list_for_each(screen, &swc.screens, link)
{
swc_view_move(&screen->planes.cursor.view,
view->geometry.x, view->geometry.y);
- if (view->screens & swc_screen_mask(screen))
+ if (view->screens & screen_mask(screen))
{
struct swc_pointer * pointer
= CONTAINER_OF(view, typeof(*pointer), cursor.view);
@@ -155,18 +155,18 @@ static void handle_view_event(struct wl_listener * listener, void * data)
}
case SWC_VIEW_EVENT_SCREENS_CHANGED:
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
uint32_t entered = event_data->screens_changed.entered,
left = event_data->screens_changed.left;
wl_list_for_each(screen, &swc.screens, link)
{
- if (entered & swc_screen_mask(screen))
+ if (entered & screen_mask(screen))
{
swc_view_attach(&screen->planes.cursor.view,
&pointer->cursor.buffer);
}
- else if (left & swc_screen_mask(screen))
+ else if (left & screen_mask(screen))
swc_view_attach(&screen->planes.cursor.view, NULL);
}
break;
@@ -208,7 +208,7 @@ void swc_pointer_set_cursor(struct swc_pointer * pointer, uint32_t id)
bool swc_pointer_initialize(struct swc_pointer * pointer)
{
struct wld_buffer * buffer;
- struct swc_screen_internal * screen;
+ struct screen * screen;
/* Center cursor in the geometry of the first screen. */
screen = CONTAINER_OF(swc.screens.next, typeof(*screen), link);
diff --git a/libswc/screen.c b/libswc/screen.c
@@ -32,9 +32,9 @@
#include <stdlib.h>
#include <sys/param.h>
-#define INTERNAL(screen) ((struct swc_screen_internal *) (screen))
+#define INTERNAL(s) ((struct screen *) (s))
-bool swc_screens_initialize()
+bool screens_initialize()
{
wl_list_init(&swc.screens);
@@ -47,18 +47,17 @@ bool swc_screens_initialize()
return true;
}
-void swc_screens_finalize()
+void screens_finalize()
{
- struct swc_screen_internal * screen, * tmp;
+ struct screen * screen, * tmp;
wl_list_for_each_safe(screen, tmp, &swc.screens, link)
- swc_screen_destroy(screen);
+ screen_destroy(screen);
}
-struct swc_screen_internal * swc_screen_new(uint32_t crtc,
- struct swc_output * output)
+struct screen * screen_new(uint32_t crtc, struct swc_output * output)
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
int32_t x = 0;
/* Simple heuristic for initial screen positioning. */
@@ -70,7 +69,7 @@ struct swc_screen_internal * swc_screen_new(uint32_t crtc,
wl_signal_init(&screen->base.event_signal);
wl_list_init(&screen->outputs);
- wl_list_insert(&INTERNAL(screen)->outputs, &output->link);
+ wl_list_insert(&screen->outputs, &output->link);
wl_list_init(&screen->modifiers);
if (!swc_framebuffer_plane_initialize(&screen->planes.framebuffer, crtc,
@@ -106,7 +105,7 @@ struct swc_screen_internal * swc_screen_new(uint32_t crtc,
return NULL;
}
-void swc_screen_destroy(struct swc_screen_internal * screen)
+void screen_destroy(struct screen * screen)
{
struct swc_output * output, * next;
@@ -117,11 +116,11 @@ void swc_screen_destroy(struct swc_screen_internal * screen)
free(screen);
}
-void swc_screen_update_usable_geometry(struct swc_screen_internal * screen)
+void screen_update_usable_geometry(struct screen * screen)
{
pixman_region32_t total_usable, usable;
pixman_box32_t * extents;
- struct swc_screen_modifier * modifier;
+ struct screen_modifier * modifier;
DEBUG("Updating usable geometry\n");
diff --git a/libswc/screen.h b/libswc/screen.h
@@ -33,15 +33,15 @@
struct swc_output;
struct pixman_region32;
-struct swc_screen_modifier
+struct screen_modifier
{
- void (* modify)(struct swc_screen_modifier * modifier,
+ void (* modify)(struct screen_modifier * modifier,
const struct swc_rectangle * geometry,
struct pixman_region32 * usable);
struct wl_list link;
};
-struct swc_screen_internal
+struct screen
{
struct swc_screen base;
@@ -58,18 +58,18 @@ struct swc_screen_internal
struct wl_list link;
};
-bool swc_screens_initialize();
-void swc_screens_finalize();
+bool screens_initialize();
+void screens_finalize();
-struct swc_screen_internal * swc_screen_new(uint32_t crtc,
- struct swc_output * output);
-void swc_screen_destroy(struct swc_screen_internal * screen);
-static inline uint32_t swc_screen_mask(struct swc_screen_internal * screen)
+struct screen * screen_new(uint32_t crtc, struct swc_output * output);
+void screen_destroy(struct screen * screen);
+
+static inline uint32_t screen_mask(struct screen * screen)
{
return 1 << screen->id;
}
-void swc_screen_update_usable_geometry(struct swc_screen_internal * screen);
+void screen_update_usable_geometry(struct screen * screen);
#endif
diff --git a/libswc/surface.c b/libswc/surface.c
@@ -316,7 +316,7 @@ static void handle_view_event(struct wl_listener * listener, void * data)
}
case SWC_VIEW_EVENT_SCREENS_CHANGED:
{
- struct swc_screen_internal * screen;
+ struct screen * screen;
struct swc_output * output;
struct wl_client * client;
struct wl_resource * resource;
@@ -327,7 +327,7 @@ static void handle_view_event(struct wl_listener * listener, void * data)
wl_list_for_each(screen, &swc.screens, link)
{
- if (!((entered | left) & swc_screen_mask(screen)))
+ if (!((entered | left) & screen_mask(screen)))
continue;
wl_list_for_each(output, &screen->outputs, link)
@@ -337,9 +337,9 @@ static void handle_view_event(struct wl_listener * listener, void * data)
if (resource)
{
- if (entered & swc_screen_mask(screen))
+ if (entered & screen_mask(screen))
wl_surface_send_enter(surface->resource, resource);
- else if (left & swc_screen_mask(screen))
+ else if (left & screen_mask(screen))
wl_surface_send_leave(surface->resource, resource);
}
}
diff --git a/libswc/swc.c b/libswc/swc.c
@@ -60,7 +60,7 @@ struct swc swc = {
static void setup_compositor()
{
pixman_region32_t pointer_region;
- struct swc_screen_internal * screen;
+ struct screen * screen;
struct swc_rectangle * geometry;
wl_list_insert(&swc.seat->keyboard->handlers,
@@ -118,7 +118,7 @@ bool swc_initialize(struct wl_display * display,
goto error3;
}
- if (!swc_screens_initialize())
+ if (!screens_initialize())
{
ERROR("Could not initialize screens\n");
goto error4;
@@ -179,7 +179,7 @@ bool swc_initialize(struct wl_display * display,
error6:
swc_compositor_finalize();
error5:
- swc_screens_finalize();
+ screens_finalize();
error4:
swc_bindings_finalize();
error3:
@@ -203,7 +203,7 @@ void swc_finalize()
swc_seat_finalize();
swc_data_device_manager_finalize();
swc_compositor_finalize();
- swc_screens_finalize();
+ screens_finalize();
swc_bindings_finalize();
swc_shm_finalize();
swc_drm_finalize();
diff --git a/libswc/view.c b/libswc/view.c
@@ -34,14 +34,14 @@ static void update_screens(struct swc_view * view)
{
struct swc_view_event_data data = { .view = view };
uint32_t old = view->screens, new = 0;
- struct swc_screen_internal * screen;
+ struct screen * screen;
if (view->visible)
{
wl_list_for_each(screen, &swc.screens, link)
{
if (swc_rectangle_overlap(&screen->base.geometry, &view->geometry))
- new |= swc_screen_mask(screen);
+ new |= screen_mask(screen);
}
}