diff options
-rw-r--r-- | src/Makefile.sources | 1 | ||||
-rw-r--r-- | src/cairo-freelist-private.h | 28 | ||||
-rw-r--r-- | src/cairo-freelist-type-private.h | 54 | ||||
-rw-r--r-- | src/cairo-xlib-display.c | 2 | ||||
-rw-r--r-- | src/cairo-xlib-private.h | 2 |
5 files changed, 58 insertions, 29 deletions
diff --git a/src/Makefile.sources b/src/Makefile.sources index e1b16d02..c645c02c 100644 --- a/src/Makefile.sources +++ b/src/Makefile.sources @@ -66,6 +66,7 @@ cairo_private = \ cairo-fixed-private.h \ cairo-fixed-type-private.h \ cairo-freelist-private.h \ + cairo-freelist-type-private.h \ cairo-freed-pool-private.h \ cairo-fontconfig-private.h \ cairo-gstate-private.h \ diff --git a/src/cairo-freelist-private.h b/src/cairo-freelist-private.h index 47ed2329..703181b5 100644 --- a/src/cairo-freelist-private.h +++ b/src/cairo-freelist-private.h @@ -24,6 +24,7 @@ #include "cairo-types-private.h" #include "cairo-compiler-private.h" +#include "cairo-freelist-type-private.h" /* for stand-alone compilation*/ #ifndef VG @@ -34,33 +35,6 @@ #define NULL (void *) 0 #endif -typedef struct _cairo_freelist_node cairo_freelist_node_t; -struct _cairo_freelist_node { - cairo_freelist_node_t *next; -}; - -typedef struct _cairo_freelist { - cairo_freelist_node_t *first_free_node; - unsigned nodesize; -} cairo_freelist_t; - -typedef struct _cairo_freelist_pool cairo_freelist_pool_t; -struct _cairo_freelist_pool { - cairo_freelist_pool_t *next; - unsigned size, rem; - uint8_t *data; -}; - -typedef struct _cairo_freepool { - cairo_freelist_node_t *first_free_node; - cairo_freelist_pool_t *pools; - cairo_freelist_pool_t *freepools; - unsigned nodesize; - cairo_freelist_pool_t embedded_pool; - uint8_t embedded_data[1000]; -} cairo_freepool_t; - - /* Initialise a freelist that will be responsible for allocating * nodes of size nodesize. */ cairo_private void diff --git a/src/cairo-freelist-type-private.h b/src/cairo-freelist-type-private.h new file mode 100644 index 00000000..4dd05646 --- /dev/null +++ b/src/cairo-freelist-type-private.h @@ -0,0 +1,54 @@ +/* + * Copyright © 2010 Joonas Pihlaja + * + * 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 CAIRO_FREELIST_TYPE_H +#define CAIRO_FREELIST_TYPE_H + +#include "cairo-types-private.h" +#include "cairo-compiler-private.h" + +typedef struct _cairo_freelist_node cairo_freelist_node_t; +struct _cairo_freelist_node { + cairo_freelist_node_t *next; +}; + +typedef struct _cairo_freelist { + cairo_freelist_node_t *first_free_node; + unsigned nodesize; +} cairo_freelist_t; + +typedef struct _cairo_freelist_pool cairo_freelist_pool_t; +struct _cairo_freelist_pool { + cairo_freelist_pool_t *next; + unsigned size, rem; + uint8_t *data; +}; + +typedef struct _cairo_freepool { + cairo_freelist_node_t *first_free_node; + cairo_freelist_pool_t *pools; + cairo_freelist_pool_t *freepools; + unsigned nodesize; + cairo_freelist_pool_t embedded_pool; + uint8_t embedded_data[1000]; +} cairo_freepool_t; + +#endif /* CAIRO_FREELIST_TYPE_H */ diff --git a/src/cairo-xlib-display.c b/src/cairo-xlib-display.c index a86c2062..dd60484c 100644 --- a/src/cairo-xlib-display.c +++ b/src/cairo-xlib-display.c @@ -37,7 +37,7 @@ #include "cairo-xlib-private.h" #include "cairo-xlib-xrender-private.h" - +#include "cairo-freelist-private.h" #include "cairo-error-private.h" #include <X11/Xlibint.h> /* For XESetCloseDisplay */ diff --git a/src/cairo-xlib-private.h b/src/cairo-xlib-private.h index 24bf5e32..bd260bc0 100644 --- a/src/cairo-xlib-private.h +++ b/src/cairo-xlib-private.h @@ -42,7 +42,7 @@ #include "cairo-compiler-private.h" #include "cairo-device-private.h" -#include "cairo-freelist-private.h" +#include "cairo-freelist-type-private.h" #include "cairo-list-private.h" #include "cairo-reference-count-private.h" #include "cairo-types-private.h" |