Commit 0f1b69b6 authored by Carl Worth's avatar Carl Worth
Browse files

Remove pixman from SNAPSHOT_0_1_21

parents 350fea88 aa83e5c2
......@@ -9,6 +9,7 @@ Thomas Hunger <info@teh-web.de> Initial version of cairo_in_stroke/fill
Jordi Mas <jordi@ximian.com> Bug fix for cairo_show_text
Keith Packard <keithp@keithp.com> Original concept, polygon tessellation, dashing
Christof Petig <christof@petig-baender.de> Build fixes related to freetype
David Reveman <davidr@freedesktop.org> New pattern API, OpenGL backend
Jamey Sharp <jamey@minilop.net> Surface/font backend virtualization, XCB backend
Bill Spitzak <spitzak@d2.com> Build fix to find Xrender.h without xrender.pc
Sasha Vasko <sasha@aftercode.net> Build fix to compile without xlib backend
......
2004-04-09 David Reveman <c99drn@cs.umu.se>
* NEWS: Added notes for snapshot 0.1.21.
* configure.in: Bump version to 0.1.21.
* src/cairo_surface.c (_cairo_surface_create_pattern):
* src/cairo_pattern.c (_cairo_pattern_get_image): Fixed
incorrect rounding of pattern image size.
* AUTHORS: Added myself to the AUTHORS file.
* cairo.pc.in:
* src/Makefile.am:
* src/cairo-features.h.in:
* src/cairo.h:
* src/cairo_gl_surface.c (added): Added OpenGL surface backend.
* configure.in: Automatically detect available backends.
2004-04-06 Carl Worth <cworth@isi.edu>
* NEWS: Added notes for snapshot 0.1.20.
......
Snapshot 0.1.21 (2004-04-09 David Reveman <c99drn@cs.umu.se>)
=============================================================
New OpenGL backend
------------------
The OpenGL backend provides hardware accelerated output for
X11 and OS X. The significant new functions are:
cairo_set_target_gl
cairo_gl_surface_create
Automatic detection of available backends
-----------------------------------------
The configure script now automatically detect what backends are
available, (use ./configure --disable-`backend' to prevent
compilation of specific backends).
Snapshot 0.1.20 (2004-04-06 Carl Worth <cworth@isi.edu>)
========================================================
New pattern API
......
......@@ -60,8 +60,12 @@ snapshots.
9) Send a message to cairo-announce@cairographics.org to announce the
new snapshot.
This is as simple as cutting and pasting the new section of
the NEWS file into the body of the message.
The message should provide the URL for the snapshot:
10) Sit back and relax in confidence, (or brace yourself for a flood
of new bug reports). It's up to you!
http://cairographics.org/snapshots/cairo-X.Y.Z.tar.gz
and should also include the relevant section from the NEWS
file.
10) Sit back and relax in confidence, or alternately, brace yourself
for a flood of new bug reports.
......@@ -7,7 +7,7 @@ Name: cairo
Description: Multi-platform 2D graphics library
Version: @VERSION@
Requires: fontconfig libpixman @XRENDER_REQUIRES@ @PNG_REQUIRES@
Requires: fontconfig libpixman @XRENDER_REQUIRES@ @PNG_REQUIRES@ @GL_REQUIRES@
Libs: -L${libdir} -lcairo -lm @XRENDER_LIBS@ @PS_LIBS@ @FREETYPE_LIBS@
Cflags: -I${includedir} @FREETYPE_CFLAGS@
......@@ -3,7 +3,7 @@ AC_INIT(src/cairo.h)
dnl ===========================================================================
# Package version number, (as distinct from shared library version)
CAIRO_VERSION=0.1.20
CAIRO_VERSION=0.1.21
# libtool shared library version
......@@ -40,18 +40,23 @@ AC_ARG_ENABLE(xlib,
[ --disable-xlib Disable cairo's Xlib backend],
[use_xlib=$enableval], [use_xlib=yes])
if test "x$use_xlib" = "xyes"; then
dnl Check for Xrender header files if the Xrender package is not installed:
PKG_CHECK_MODULES(XRENDER, xrender >= 0.6, [
XRENDER_REQUIRES=xrender
use_xlib=yes], [
AC_CHECK_HEADER(X11/extensions/Xrender.h, [
AC_PATH_XTRA
XRENDER_LIBS="$X_LIBS -lXrender -lXext -lX11 $X_EXTRA_LIBS"
use_xlib=yes], [
use_xlib="no (requires Xrender http://freedesktop.org/software/xlibs)"])])
fi
if test "x$use_xlib" != "xyes"; then
XLIB_SURFACE_FEATURE=CAIRO_HAS_NO_XLIB_SURFACE
AM_CONDITIONAL(CAIRO_HAS_XLIB_SURFACE, false)
else
XLIB_SURFACE_FEATURE=CAIRO_HAS_XLIB_SURFACE
dnl Check for Xrender header files if the Xrender package is not installed:
PKG_CHECK_MODULES(XRENDER, xrender >= 0.6,[
XRENDER_REQUIRES=xrender],[
AC_CHECK_HEADER(X11/extensions/Xrender.h,[
AC_PATH_XTRA
XRENDER_LIBS="$X_LIBS -lXrender -lXext -lX11 $X_EXTRA_LIBS"],[
AC_MSG_ERROR(Xrender not found perhaps use --disable-xlib?)])])
AM_CONDITIONAL(CAIRO_HAS_XLIB_SURFACE, true)
fi
......@@ -64,14 +69,18 @@ dnl ===========================================================================
AC_ARG_ENABLE(xcb,
[ --disable-xcb Disable cairo's XCB backend],
[use_xcb=$enableval], [use_xcb=no])
[use_xcb=$enableval], [use_xcb=yes])
if test "x$use_xcb" = "xyes"; then
PKG_CHECK_MODULES(XCB, xcb, [use_xcb=yes], [
use_xcb="no (requires XCB http://freedesktop.org/software/xcb)"])
fi
if test "x$use_xcb" != "xyes"; then
XCB_SURFACE_FEATURE=CAIRO_HAS_NO_XCB_SURFACE
AM_CONDITIONAL(CAIRO_HAS_XCB_SURFACE, false)
else
XCB_SURFACE_FEATURE=CAIRO_HAS_XCB_SURFACE
PKG_CHECK_MODULES(XCB, xcb)
AM_CONDITIONAL(CAIRO_HAS_XCB_SURFACE, true)
fi
......@@ -100,18 +109,23 @@ AC_SUBST(PS_LIBS)
dnl ===========================================================================
AC_ARG_ENABLE(png,
[ --enable-png Enable cairo's PNG backend],
[use_png=$enableval], [use_png=no])
[ --disable-png Disable cairo's PNG backend],
[use_png=$enableval], [use_png=yes])
if test "x$use_png" = "xyes"; then
PKG_CHECK_MODULES(PNG, libpng12, [
PNG_REQUIRES=libpng12
use_png=yes], [
PKG_CHECK_MODULES(PNG, libpng10, [
PNG_REQUIRES=libpng10
use_png=yes], [use_png="no (requires libpng http://www.libpng.org)"])])
fi
if test "x$use_png" != "xyes"; then
PNG_SURFACE_FEATURE=CAIRO_HAS_NO_PNG_SURFACE
AM_CONDITIONAL(CAIRO_HAS_PNG_SURFACE, false)
else
PNG_SURFACE_FEATURE=CAIRO_HAS_PNG_SURFACE
PKG_CHECK_MODULES(PNG, libpng12,
[PNG_REQUIRES=libpng12],[
PKG_CHECK_MODULES(PNG, libpng10,
[PNG_REQUIRES=libpng10])])
AM_CONDITIONAL(CAIRO_HAS_PNG_SURFACE, true)
fi
......@@ -122,6 +136,31 @@ AC_SUBST(PNG_REQUIRES)
dnl ===========================================================================
AC_ARG_ENABLE(gl,
[ --disable-gl Disable cairo's OpenGL backend],
[use_gl=$enableval], [use_gl=yes])
if test "x$use_gl" = "xyes"; then
PKG_CHECK_MODULES(GL, glitz >= 0.1.0, [
GL_REQUIRES=glitz
use_gl=yes], [use_gl="no (requires glitz http://freedesktop.org/software/glitz)"])
fi
if test "x$use_gl" != "xyes"; then
GL_SURFACE_FEATURE=CAIRO_HAS_NO_GL_SURFACE
AM_CONDITIONAL(CAIRO_HAS_GL_SURFACE, false)
else
GL_SURFACE_FEATURE=CAIRO_HAS_GL_SURFACE
AM_CONDITIONAL(CAIRO_HAS_GL_SURFACE, true)
fi
AC_SUBST(GL_LIBS)
AC_SUBST(GL_CFLAGS)
AC_SUBST(GL_SURFACE_FEATURE)
AC_SUBST(GL_REQUIRES)
dnl ===========================================================================
PKG_CHECK_MODULES(FONTCONFIG, fontconfig)
PKG_CHECK_MODULES(CAIRO, libpixman >= 0.1.0)
......@@ -180,3 +219,15 @@ Makefile
src/Makefile
src/cairo-features.h
])
dnl ===========================================================================
echo ""
echo "cairo will be compiled with the following backends:"
echo " Xlib: $use_xlib"
echo " XCB: $use_xcb"
echo " PostScript: $use_ps"
echo " PNG: $use_png"
echo " OpenGL: $use_gl"
echo ""
......@@ -17,6 +17,10 @@ if CAIRO_HAS_XCB_SURFACE
libcairo_xcb_sources = cairo_xcb_surface.c
endif
if CAIRO_HAS_GL_SURFACE
libcairo_gl_sources = cairo_gl_surface.c
endif
# These names match automake style variable definition conventions so
# without these lines, automake will complain during the handling of
# the libcairo_la_LIBADD below. (The INCLUDES is an autoconf only
......@@ -50,10 +54,11 @@ libcairo_la_SOURCES = \
$(libcairo_png_sources) \
$(libcairo_xlib_sources)\
$(libcairo_xcb_sources) \
$(libcairo_gl_sources) \
cairoint.h
libcairo_la_LDFLAGS = -version-info @VERSION_INFO@ -no-undefined
INCLUDES = -I$(srcdir) $(CAIRO_CFLAGS) $(FONTCONFIG_CFLAGS) $(XRENDER_CFLAGS) $(XCB_CFLAGS) $(PNG_CFLAGS)
INCLUDES = -I$(srcdir) $(CAIRO_CFLAGS) $(FONTCONFIG_CFLAGS) $(XRENDER_CFLAGS) $(XCB_CFLAGS) $(PNG_CFLAGS) $(GL_CFLAGS)
libcairo_la_LIBADD = $(CAIRO_LIBS) $(FONTCONFIG_LIBS) $(XRENDER_LIBS) $(XCB_LIBS) $(PS_LIBS) $(PNG_LIBS) -lm
libcairo_la_LIBADD = $(CAIRO_LIBS) $(FONTCONFIG_LIBS) $(XRENDER_LIBS) $(XCB_LIBS) $(PS_LIBS) $(PNG_LIBS) $(GL_LIBS) -lm
......@@ -36,4 +36,6 @@
#define @XCB_SURFACE_FEATURE@
#define @GL_SURFACE_FEATURE@
#endif
......@@ -656,18 +656,18 @@ _cairo_pattern_get_image (cairo_pattern_t *pattern, cairo_box_t *box)
case CAIRO_PATTERN_LINEAR:
case CAIRO_PATTERN_RADIAL: {
char *data;
int width = ceil (_cairo_fixed_to_double (box->p2.x) -
_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y) -
_cairo_fixed_to_double (box->p1.y));
int width = ceil (_cairo_fixed_to_double (box->p2.x)) -
floor (_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y)) -
floor (_cairo_fixed_to_double (box->p1.y));
data = malloc (width * height * 4);
if (!data)
return NULL;
_cairo_pattern_add_source_offset (pattern,
_cairo_fixed_to_double (box->p1.x),
_cairo_fixed_to_double (box->p1.y));
floor (_cairo_fixed_to_double (box->p1.x)),
floor (_cairo_fixed_to_double (box->p1.y)));
if (pattern->type == CAIRO_PATTERN_RADIAL)
_cairo_image_data_set_radial (pattern,
......
......@@ -424,10 +424,10 @@ _cairo_surface_create_pattern (cairo_surface_t *surface,
/* handle pattern opacity */
if (pattern->color.alpha != 1.0) {
int width = ceil (_cairo_fixed_to_double (box->p2.x) -
_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y) -
_cairo_fixed_to_double (box->p1.y));
int width = ceil (_cairo_fixed_to_double (box->p2.x)) -
floor (_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y)) -
floor (_cairo_fixed_to_double (box->p1.y));
cairo_pattern_t alpha;
pattern->source =
......@@ -463,8 +463,8 @@ _cairo_surface_create_pattern (cairo_surface_t *surface,
if (status == CAIRO_STATUS_SUCCESS) {
_cairo_pattern_add_source_offset (pattern,
_cairo_fixed_to_double (box->p1.x),
_cairo_fixed_to_double (box->p1.y));
floor (_cairo_fixed_to_double (box->p1.x)),
floor (_cairo_fixed_to_double (box->p1.y)));
} else
cairo_surface_destroy (pattern->source);
}
......
......@@ -141,6 +141,15 @@ cairo_set_target_xcb (cairo_t *cr,
cairo_format_t format);
#endif /* CAIRO_HAS_XCB_SURFACE */
#ifdef CAIRO_HAS_GL_SURFACE
#include <glitz.h>
void
cairo_set_target_gl (cairo_t *cr,
glitz_surface_t *surface);
#endif /* CAIRO_HAS_GL_SURFACE */
typedef enum cairo_operator {
CAIRO_OPERATOR_CLEAR,
CAIRO_OPERATOR_SRC,
......@@ -778,6 +787,13 @@ cairo_xlib_surface_set_size (cairo_surface_t *surface, int width, int height);
#endif /* CAIRO_HAS_XLIB_SURFACE */
#ifdef CAIRO_HAS_GL_SURFACE
cairo_surface_t *
cairo_gl_surface_create (glitz_surface_t *surface);
#endif /* CAIRO_HAS_GL_SURFACE */
/* Matrix functions */
/* XXX: Rename all of these to cairo_transform_t */
......
This diff is collapsed.
......@@ -656,18 +656,18 @@ _cairo_pattern_get_image (cairo_pattern_t *pattern, cairo_box_t *box)
case CAIRO_PATTERN_LINEAR:
case CAIRO_PATTERN_RADIAL: {
char *data;
int width = ceil (_cairo_fixed_to_double (box->p2.x) -
_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y) -
_cairo_fixed_to_double (box->p1.y));
int width = ceil (_cairo_fixed_to_double (box->p2.x)) -
floor (_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y)) -
floor (_cairo_fixed_to_double (box->p1.y));
data = malloc (width * height * 4);
if (!data)
return NULL;
_cairo_pattern_add_source_offset (pattern,
_cairo_fixed_to_double (box->p1.x),
_cairo_fixed_to_double (box->p1.y));
floor (_cairo_fixed_to_double (box->p1.x)),
floor (_cairo_fixed_to_double (box->p1.y)));
if (pattern->type == CAIRO_PATTERN_RADIAL)
_cairo_image_data_set_radial (pattern,
......
......@@ -424,10 +424,10 @@ _cairo_surface_create_pattern (cairo_surface_t *surface,
/* handle pattern opacity */
if (pattern->color.alpha != 1.0) {
int width = ceil (_cairo_fixed_to_double (box->p2.x) -
_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y) -
_cairo_fixed_to_double (box->p1.y));
int width = ceil (_cairo_fixed_to_double (box->p2.x)) -
floor (_cairo_fixed_to_double (box->p1.x));
int height = ceil (_cairo_fixed_to_double (box->p2.y)) -
floor (_cairo_fixed_to_double (box->p1.y));
cairo_pattern_t alpha;
pattern->source =
......@@ -463,8 +463,8 @@ _cairo_surface_create_pattern (cairo_surface_t *surface,
if (status == CAIRO_STATUS_SUCCESS) {
_cairo_pattern_add_source_offset (pattern,
_cairo_fixed_to_double (box->p1.x),
_cairo_fixed_to_double (box->p1.y));
floor (_cairo_fixed_to_double (box->p1.x)),
floor (_cairo_fixed_to_double (box->p1.y)));
} else
cairo_surface_destroy (pattern->source);
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment