Add new shared/image-loader.h to separate include dependencies
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 28 Jan 2013 21:01:22 +0000 (16:01 -0500)
committerKristian Høgsberg <krh@bitplanet.net>
Thu, 14 Feb 2013 20:58:40 +0000 (15:58 -0500)
Before, cairo-util.h would combine pixman and cairo includes.  X11 and
Wayland compositors uses this to load an image as a pixman_image_t but are
forced to include cairo headers.  Clients use load_cairo_surface to
load images as cairo_surface_t's, but are forced to include pixman.h.

We move the load_image pixman prototype to its own header, so compositors
can get at the pixman prototype without including cairo.h and clients
can include the cairo based function without including pixman.h.

Conflicts:
src/compositor-wayland.c

shared/Makefile.am
shared/cairo-util.c
shared/cairo-util.h
shared/image-loader.c
shared/image-loader.h [new file with mode: 0644]
src/compositor-wayland.c
src/compositor-x11.c

index b38cb95..1b06c89 100644 (file)
@@ -26,5 +26,6 @@ libshared_cairo_la_LIBADD =                   \
 libshared_cairo_la_SOURCES =                   \
        $(libshared_la_SOURCES)                 \
        image-loader.c                          \
+       image-loader.h                          \
        cairo-util.c                            \
        cairo-util.h
index 360099e..8b41f41 100644 (file)
@@ -31,7 +31,8 @@
 #include <cairo.h>
 #include "cairo-util.h"
 
-#include "../shared/config-parser.h"
+#include "image-loader.h"
+#include "config-parser.h"
 
 #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
 
index 3b93d40..aff4669 100644 (file)
@@ -24,7 +24,6 @@
 #define _CAIRO_UTIL_H
 
 #include <cairo.h>
-#include <pixman.h>
 
 void
 surface_flush_device(cairo_surface_t *surface);
@@ -90,7 +89,4 @@ enum theme_location {
 enum theme_location
 theme_get_location(struct theme *t, int x, int y, int width, int height, int flags);
 
-pixman_image_t *
-load_image(const char *filename);
-
 #endif
index 64ba2ae..c9f15d4 100644 (file)
@@ -29,7 +29,7 @@
 #include <png.h>
 #include <pixman.h>
 
-#include "cairo-util.h"
+#include "image-loader.h"
 
 #define ARRAY_LENGTH(a) (sizeof (a) / sizeof (a)[0])
 
diff --git a/shared/image-loader.h b/shared/image-loader.h
new file mode 100644 (file)
index 0000000..445e651
--- /dev/null
@@ -0,0 +1,31 @@
+/*
+ * Copyright © 2013 Intel Corporation
+ *
+ * Permission to use, copy, modify, distribute, and sell this software and its
+ * documentation for any purpose is hereby granted without fee, provided that
+ * the above copyright notice appear in all copies and that both that copyright
+ * notice and this permission notice appear in supporting documentation, and
+ * that the name of the copyright holders not be used in advertising or
+ * publicity pertaining to distribution of the software without specific,
+ * written prior permission.  The copyright holders make no representations
+ * about the suitability of this software for any purpose.  It is provided "as
+ * is" without express or implied warranty.
+ *
+ * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+ * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+ * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+ * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+ * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
+ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
+ * OF THIS SOFTWARE.
+ */
+
+#ifndef _IMAGE_LOADER_H
+#define _IMAGE_LOADER_H
+
+#include <pixman.h>
+
+pixman_image_t *
+load_image(const char *filename);
+
+#endif
index c675e83..7fe7d5d 100644 (file)
@@ -42,7 +42,7 @@
 #include <EGL/eglext.h>
 
 #include "compositor.h"
-#include "../shared/cairo-util.h"
+#include "../shared/image-loader.h"
 
 struct wayland_compositor {
        struct weston_compositor         base;
index a546263..d1b6ec7 100644 (file)
@@ -50,7 +50,7 @@
 
 #include "compositor.h"
 #include "../shared/config-parser.h"
-#include "../shared/cairo-util.h"
+#include "../shared/image-loader.h"
 
 #define DEFAULT_AXIS_STEP_DISTANCE wl_fixed_from_int(10)