Requires glib-2.3.0, pango-1.2.0.

Sat Aug  2 12:53:16 2003  Owen Taylor  <otaylor@redhat.com>

        * configure.in: Requires glib-2.3.0, pango-1.2.0.

        * configure.in: Require Xft version 2,
        remove code for handling older versions of pango and Xft.
        Many miscellaneous improvements to X checks

        * acinclude.m4: Add GTK_ADD_LIB() macro for adding
        a library to a variable, avoiding dups.

        * gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
        Always load "fixed"

        * gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
        for pangox.
This commit is contained in:
Owen Taylor 2003-08-02 17:50:09 +00:00 committed by Owen Taylor
parent c466752212
commit 88c1c94651
19 changed files with 204 additions and 377 deletions

View File

@ -1,10 +1,26 @@
Sat Aug 2 12:53:16 2003 Owen Taylor <otaylor@redhat.com>
* configure.in: Requires glib-2.3.0, pango-1.2.0.
* configure.in: Require Xft version 2,
remove code for handling older versions of pango and Xft.
Many miscellaneous improvements to X checks
* acinclude.m4: Add GTK_ADD_LIB() macro for adding
a library to a variable, avoiding dups.
* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
Always load "fixed"
* gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
for pangox.
2003-08-02 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (color_sample_drop_handle)
(palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the
wrong format, since the KDE color chooser incorrectly drops application/x-color with
format 8.
* gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):
Accept drops with the wrong format, since the KDE color chooser
incorrectly drops application/x-color with format 8.
2003-08-02 Tor Lillqvist <tml@iki.fi>
@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld <kris@gtk.org>
2003-07-15 Matthias Clasen <maclas@gmx.de>
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
Fight against gtk-doc stupidity.
2003-07-13 Matthias Clasen <maclas@gmx.de>
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to
targets, to pacify gtk-doc.
Sun Jul 13 15:57:57 2003 Soeren Sandmann <sandmann@daimi.au.dk>

View File

@ -1,10 +1,26 @@
Sat Aug 2 12:53:16 2003 Owen Taylor <otaylor@redhat.com>
* configure.in: Requires glib-2.3.0, pango-1.2.0.
* configure.in: Require Xft version 2,
remove code for handling older versions of pango and Xft.
Many miscellaneous improvements to X checks
* acinclude.m4: Add GTK_ADD_LIB() macro for adding
a library to a variable, avoiding dups.
* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
Always load "fixed"
* gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
for pangox.
2003-08-02 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (color_sample_drop_handle)
(palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the
wrong format, since the KDE color chooser incorrectly drops application/x-color with
format 8.
* gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):
Accept drops with the wrong format, since the KDE color chooser
incorrectly drops application/x-color with format 8.
2003-08-02 Tor Lillqvist <tml@iki.fi>
@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld <kris@gtk.org>
2003-07-15 Matthias Clasen <maclas@gmx.de>
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
Fight against gtk-doc stupidity.
2003-07-13 Matthias Clasen <maclas@gmx.de>
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to
targets, to pacify gtk-doc.
Sun Jul 13 15:57:57 2003 Soeren Sandmann <sandmann@daimi.au.dk>

View File

@ -1,10 +1,26 @@
Sat Aug 2 12:53:16 2003 Owen Taylor <otaylor@redhat.com>
* configure.in: Requires glib-2.3.0, pango-1.2.0.
* configure.in: Require Xft version 2,
remove code for handling older versions of pango and Xft.
Many miscellaneous improvements to X checks
* acinclude.m4: Add GTK_ADD_LIB() macro for adding
a library to a variable, avoiding dups.
* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
Always load "fixed"
* gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
for pangox.
2003-08-02 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (color_sample_drop_handle)
(palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the
wrong format, since the KDE color chooser incorrectly drops application/x-color with
format 8.
* gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):
Accept drops with the wrong format, since the KDE color chooser
incorrectly drops application/x-color with format 8.
2003-08-02 Tor Lillqvist <tml@iki.fi>
@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld <kris@gtk.org>
2003-07-15 Matthias Clasen <maclas@gmx.de>
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
Fight against gtk-doc stupidity.
2003-07-13 Matthias Clasen <maclas@gmx.de>
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to
targets, to pacify gtk-doc.
Sun Jul 13 15:57:57 2003 Soeren Sandmann <sandmann@daimi.au.dk>

View File

@ -1,10 +1,26 @@
Sat Aug 2 12:53:16 2003 Owen Taylor <otaylor@redhat.com>
* configure.in: Requires glib-2.3.0, pango-1.2.0.
* configure.in: Require Xft version 2,
remove code for handling older versions of pango and Xft.
Many miscellaneous improvements to X checks
* acinclude.m4: Add GTK_ADD_LIB() macro for adding
a library to a variable, avoiding dups.
* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
Always load "fixed"
* gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
for pangox.
2003-08-02 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (color_sample_drop_handle)
(palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the
wrong format, since the KDE color chooser incorrectly drops application/x-color with
format 8.
* gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):
Accept drops with the wrong format, since the KDE color chooser
incorrectly drops application/x-color with format 8.
2003-08-02 Tor Lillqvist <tml@iki.fi>
@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld <kris@gtk.org>
2003-07-15 Matthias Clasen <maclas@gmx.de>
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
Fight against gtk-doc stupidity.
2003-07-13 Matthias Clasen <maclas@gmx.de>
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to
targets, to pacify gtk-doc.
Sun Jul 13 15:57:57 2003 Soeren Sandmann <sandmann@daimi.au.dk>

View File

@ -1,10 +1,26 @@
Sat Aug 2 12:53:16 2003 Owen Taylor <otaylor@redhat.com>
* configure.in: Requires glib-2.3.0, pango-1.2.0.
* configure.in: Require Xft version 2,
remove code for handling older versions of pango and Xft.
Many miscellaneous improvements to X checks
* acinclude.m4: Add GTK_ADD_LIB() macro for adding
a library to a variable, avoiding dups.
* gdk/x11/gdkfont-x11.c (gdk_font_from_description_for_display):
Always load "fixed"
* gdk/x11/gdk*-x11.[ch]: Remove support for Xft1 and
for pangox.
2003-08-02 Matthias Clasen <maclas@gmx.de>
* gtk/gtkcolorsel.c (color_sample_drop_handle)
(palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received): Accept drops with the
wrong format, since the KDE color chooser incorrectly drops application/x-color with
format 8.
* gtk/gtkcolorsel.c (color_sample_drop_handle) (palette_drop_handle):
* gtk/gtkcolorbutton.c (gtk_color_button_drag_data_received):
Accept drops with the wrong format, since the KDE color chooser
incorrectly drops application/x-color with format 8.
2003-08-02 Tor Lillqvist <tml@iki.fi>
@ -536,11 +552,13 @@ Thu Jul 17 16:11:21 2003 Kristian Rietveld <kris@gtk.org>
2003-07-15 Matthias Clasen <maclas@gmx.de>
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size): Fight against gtk-doc stupidity.
* gdk/x11/gdkcursor-x11.c (gdk_display_get_maximal_cursor_size):
Fight against gtk-doc stupidity.
2003-07-13 Matthias Clasen <maclas@gmx.de>
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to targets, to pacify gtk-doc.
* gtk/gtkdnd.c (gtk_drag_begin): Rename parameter target_list back to
targets, to pacify gtk-doc.
Sun Jul 13 15:57:57 2003 Soeren Sandmann <sandmann@daimi.au.dk>

View File

@ -11,6 +11,17 @@ AC_DEFUN([GLIB_AC_DIVERT_BEFORE_HELP],
$1
AC_DIVERT_POP()])])])
# GTK_ADD_LIB(VAR,LIBNAME)
# ---------------------------------
# Helper macro to add a -lBlah to a variable, avoiding repeats
# Note that this needs to be quoted when used in an enclosing macro
AC_DEFUN([GTK_ADD_LIB],
[ case "$$1 " in
*-l$2[[\ \ ]]*) ;;
*) $1="-l$2 $$1" ;;
esac
])
# Checks the location of the XML Catalog
# Usage:
# JH_PATH_XML_CATALOG

View File

@ -28,8 +28,8 @@ m4_define([gtk_api_version], [2.0])
m4_define([gtk_binary_version], [2.2.0])
# required versions of other packages
m4_define([glib_required_version], [2.1.4])
m4_define([pango_required_version], [1.0.1])
m4_define([glib_required_version], [2.3.0])
m4_define([pango_required_version], [1.2.0])
m4_define([atk_required_version], [1.0.1])
@ -993,90 +993,44 @@ fi
if test "x$gdktarget" = "xx11"; then
# We start off with the libraries from Pango
if $PKG_CONFIG --exists pangox ; then : ; else
AC_MSG_ERROR([pangox Pango backend is required for x11 target])
fi
## be sure we also have Pango built with xft support
if $PKG_CONFIG --exists pangoxft ; then
PANGO_PACKAGES="pangoxft pangox"
have_xft=true
AC_DEFINE(HAVE_XFT)
## be sure we also have Pango built with Xft2 support
if $PKG_CONFIG --exists 'pangoxft >= 1.2.0' ; then
if $have_freetype ; then
:
else
AC_MSG_ERROR([pangoxft Pango backend found but did not find freetype libraries])
AC_MSG_ERROR([Xft Pango backend found but did not find freetype libraries])
fi
else
PANGO_PACKAGES="pangox"
have_xft=false
AC_MSG_ERROR([Pango 1.2.0 and Xft backend is required for x11 target])
fi
AM_CONDITIONAL(HAVE_XFT, $have_xft)
if $have_xft; then
if $PKG_CONFIG --exists xft ; then
AC_DEFINE(HAVE_XFT2, 1, [Define if we have Xft, version 2])
fi
if $PKG_CONFIG --exists xft ; then : ; else
AC_MSG_ERROR([Xft version 2 is required for x11 target])
fi
#
# If Pango included the shared library dependencies from X11 in
# the pkg-config output, then we use that (to avoid duplicates).
# but if they were omitted to avoid binary compatibility problems
# but if they were omitted to avoid binary compatibility problems,
# then we need to repeat the checks.
#
x_libs="`$PKG_CONFIG --libs $PANGO_PACKAGES`"
x_libs="`$PKG_CONFIG --libs pangoxft`"
case "$x_libs" in
*-lX11*) pango_omitted_x_deps=no ;;
*) pango_omitted_x_deps=yes ;;
esac
x_cflags="`$PKG_CONFIG --cflags $PANGO_PACKAGES`"
x_cflags="`$PKG_CONFIG --cflags pangoxft`"
x_extra_libs=
AC_PATH_XTRA
if test x$no_x = xyes ; then
AC_MSG_ERROR([X development libraries not found])
fi
if test $pango_omitted_x_deps = yes ; then
AC_PATH_XTRA
if test x$no_x = xyes ; then
AC_MSG_ERROR([X development libraries not found])
fi
x_libs="$X_LIBS -lX11 $X_EXTRA_LIBS"
#
# Checks for Xft/XRender
#
if test $have_xft = true ; then
have_xft=false
if pkg-config --exists pangoxft '>=' 1.1.0 ; then
x_libs="`pkg-config --libs xft` -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS"
have_xft=true
else
gtk_save_cppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $x_cflags"
AC_CHECK_LIB(Xrender, XRenderFindFormat,
[AC_CHECK_LIB(Xft, XftFontOpen,
[AC_CHECK_HEADER(X11/Xft/XftFreetype.h,
have_xft=true,:)],
:,-lXrender -lXext $x_libs $FREETYPE_LIBS)]
,:,-lXext $x_libs)
if $have_xft ; then
x_libs="$X_LIBS -lXft -lXrender -lXext -lX11 $FREETYPE_LIBS $X_EXTRA_LIBS"
fi
CPPFLAGS="$gtk_save_cppflags"
fi
if $have_xft ; then
:
else
AC_MSG_ERROR([pangoxft Pango backend found, but Xft not found])
fi
fi
# Old versions of Xft didn't necessarily include -lX11 in the output
x_libs="`pkg-config --libs xft` -lX11 $X_EXTRA_LIBS"
fi
## Strip the .la files
@ -1097,22 +1051,18 @@ if test "x$gdktarget" = "xx11"; then
if test "x$enable_shm" = "xyes"; then
# Check for the Xext library (needed for XShm extention)
AC_CHECK_LIB(Xext, XShmAttach,
if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_extra_libs="-lXext"
fi,
[GTK_ADD_LIB(x_extra_libs,Xext)],
# On AIX, it is in XextSam instead, but we still need -lXext
AC_CHECK_LIB(XextSam, XShmAttach,
if test -z "`echo $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_extra_libs="-lXextSam -lXext"
else
x_extra_libs="-lXextSam"
fi, , $x_libs_for_checks),
[AC_CHECK_LIB(XextSam, XShmAttach,
[GTK_ADD_LIB(x_extra_libs,Xext)
GTK_ADD_LIB(x_extra_libs,XextSam)
], , -lXext $x_libs_for_checks)],
$x_libs_for_checks)
fi
GDK_PIXBUF_XLIB_EXTRA_CFLAGS="$x_cflags"
# Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs $x_libs"
GDK_PIXBUF_XLIB_EXTRA_LIBS="$X_LIBS -lX11 $x_extra_libs $X_EXTRA_LIBS"
# Check for Xinerama extension (Solaris impl or Xfree impl)
@ -1127,11 +1077,9 @@ if test "x$gdktarget" = "xx11"; then
use_solaris_xinerama=yes, use_solaris_xinerama=no)
if test "x$use_solaris_xinerama" = "xyes"; then
AC_CHECK_HEADER(X11/extensions/xinerama.h,
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_extra_libs="-lXext $x_extra_libs"
fi
[GTK_ADD_LIB(x_extra_libs,Xext)
AC_DEFINE(HAVE_SOLARIS_XINERAMA)
AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no, -lXext $x_libs_for_checks)
AC_DEFINE(HAVE_XINERAMA)], use_solaris_xinerama=no, -lXext $x_libs_for_checks)
fi
AC_MSG_CHECKING(for Xinerama support on Solaris)
AC_MSG_RESULT($use_solaris_xinerama);
@ -1141,12 +1089,10 @@ if test "x$gdktarget" = "xx11"; then
use_xfree_xinerama=yes
AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
[AC_CHECK_HEADER(X11/extensions/Xinerama.h,
x_extra_libs="-lXinerama $x_extra_libs"
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_extra_libs="-lXext $x_extra_libs"
fi
[GTK_ADD_LIB(x_extra_libs,Xext)
GTK_ADD_LIB(x_extra_libs,Xinerama)
AC_DEFINE(HAVE_XFREE_XINERAMA)
AC_DEFINE(HAVE_XINERAMA),
AC_DEFINE(HAVE_XINERAMA)],
use_xfree_xinerama=no,
[#include <X11/Xlib.h>])],
use_xfree_xinerama=no, -lXext $x_libs_for_checks)
@ -1160,10 +1106,8 @@ if test "x$gdktarget" = "xx11"; then
# Check for shaped window extension
AC_CHECK_LIB(Xext, XShapeCombineMask,
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
x_extra_libs="-lXext $x_extra_libs"
fi
AC_DEFINE(HAVE_SHAPE_EXT),
[GTK_ADD_LIB(x_extra_libs,Xext),
AC_DEFINE(HAVE_SHAPE_EXT)],
,
$x_libs_for_checks)
@ -1210,7 +1154,7 @@ if test "x$gdktarget" = "xx11"; then
if test "x$with_xinput" = "xxfree" || test "x$with_xinput" = "xyes"; then
AC_DEFINE(XINPUT_XFREE)
x_extra_libs="-lXi $x_extra_libs"
GTK_ADD_LIB(x_extra_libs, Xi)
else
AC_DEFINE(XINPUT_NONE)
fi
@ -1222,21 +1166,22 @@ if test "x$gdktarget" = "xx11"; then
AC_CHECK_LIB(Xrandr, XRRUpdateConfiguration,
[AC_CHECK_HEADER(X11/extensions/Xrandr.h,
# RANDR requires RENDER
if test -z "`echo $x_extra_libs $x_libs | grep "\-lXrender" 2> /dev/null`"; then
x_extra_libs="-lXrender $x_extra_libs"
fi
x_extra_libs="-lXrandr $x_extra_libs"
AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library),
[GTK_ADD_LIB(x_extra_libs, Xrender)
GTK_ADD_LIB(x_extra_libs, Xrandr)
AC_DEFINE(HAVE_RANDR, 1, Have the Xrandr extension library)],
:, [#include <X11/Xlib.h>])], : ,
$X_LIBS -lXrandr -lXrender -lX11 $X_EXTRA_LIBS)
# Checks for Xcursor library
have_xcursor=false
PKG_CHECK_MODULES(XCURSOR, xcursor, have_xcursor=true, :)
if $have_xcursor ; then
AC_DEFINE(HAVE_XCURSOR, 1, Have the Xcursor library)
GDK_EXTRA_LIBS="$XCURSOR_LIBS $GDK_EXTRA_LIBS";
XCURSOR_PACKAGES="xcursor"
else
XCURSOR_PACKAGES=
fi
# Xshm checks
@ -1273,14 +1218,13 @@ if test "x$gdktarget" = "xx11"; then
GDK_EXTRA_CFLAGS=
if test $pango_omitted_x_deps = yes ; then
GDK_EXTRA_LIBS="$x_extra_libs $x_libs $GDK_EXTRA_LIBS"
GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $x_libs $GDK_EXTRA_LIBS"
else
GDK_EXTRA_LIBS="$x_extra_libs $GDK_EXTRA_LIBS"
GDK_EXTRA_LIBS="$X_LIBS $x_extra_libs $GDK_EXTRA_LIBS"
fi
AM_CONDITIONAL(USE_X11, true)
else
AM_CONDITIONAL(HAVE_XFT, false)
AM_CONDITIONAL(XINPUT_XFREE, false)
AM_CONDITIONAL(USE_X11, false)
AM_CONDITIONAL(HAVE_X11R6, false)
@ -1289,9 +1233,6 @@ fi
if test "x$gdktarget" = "xwin32"; then
# We start off with the libraries from Pango
## be sure we also have Pango built with win32 support
PANGO_PACKAGES="pangowin32"
if test x$have_wintab = xyes; then
GDK_WIN32_EXTRA_CFLAGS="-I $with_wintab/include"
AC_SUBST(GDK_WIN32_EXTRA_CFLAGS)
@ -1303,8 +1244,6 @@ else
AM_CONDITIONAL(USE_WIN32, false)
fi
AC_SUBST(xinput_progs)
GDK_PIXBUF_XLIB_PACKAGES=
GDK_PIXBUF_XLIB_DEP_LIBS="`$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_XLIB_EXTRA_LIBS $GDK_PIXBUF_EXTRA_LIBS"
GDK_PIXBUF_XLIB_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PIXBUF_XLIB_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_PIXBUF_XLIB_EXTRA_CFLAGS"
@ -1357,11 +1296,13 @@ fi
#
if test "x$gdktarget" = "xx11"; then
if $have_xft = true ; then
PANGO_PACKAGES="pangoxft pangox"
else
PANGO_PACKAGES=pangox
fi
PANGO_PACKAGES=pangoxft
# We no longer use pangox, but if we find it, we link to it
# for binary compatibility.
if $PKG_CONFIG --exists pangox ; then
PANGO_PACKAGES="$PANGO_PACKAGES pangox"
fi
elif test "x$gdktarget" = "xwin32"; then
PANGO_PACKAGES=pangowin32
elif test "x$gdktarget" = "xlinux-fb"; then
@ -1403,7 +1344,7 @@ fi
CFLAGS="$saved_cflags"
LDFLAGS="$saved_ldflags"
GDK_PACKAGES=$PANGO_PACKAGES
GDK_PACKAGES="$XCURSOR_PACKAGES $PANGO_PACKAGES"
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"

View File

@ -153,7 +153,6 @@ gdk_display_open (const gchar *display_name)
display = g_object_new (GDK_TYPE_DISPLAY_X11, NULL);
display_x11 = GDK_DISPLAY_X11 (display);
display_x11->use_xft = -1;
display_x11->use_xshm = TRUE;
display_x11->xdisplay = xdisplay;

View File

@ -135,8 +135,6 @@ struct _GdkDisplayX11
gchar *input_gxid_host;
gint input_gxid_port;
gint use_xft;
/* Startup notification */
gchar *startup_notification_id;

View File

@ -27,12 +27,9 @@
#include "gdkx.h"
#include "gdkregion-generic.h"
#include <pango/pangox.h>
#include <config.h>
#if HAVE_XFT
#include <pango/pangoxft.h>
#endif
#include <stdlib.h>
#include <string.h> /* for memcpy() */
@ -122,7 +119,6 @@ static void gdk_x11_draw_image (GdkDrawable *drawable,
gint ydest,
gint width,
gint height);
#ifdef HAVE_XFT
static void gdk_x11_draw_pixbuf (GdkDrawable *drawable,
GdkGC *gc,
GdkPixbuf *pixbuf,
@ -135,7 +131,6 @@ static void gdk_x11_draw_pixbuf (GdkDrawable *drawable,
GdkRgbDither dither,
gint x_dither,
gint y_dither);
#endif /* HAVE_XFT */
static void gdk_x11_set_colormap (GdkDrawable *drawable,
GdkColormap *colormap);
@ -201,9 +196,7 @@ gdk_drawable_impl_x11_class_init (GdkDrawableImplX11Class *klass)
drawable_class->draw_lines = gdk_x11_draw_lines;
drawable_class->draw_glyphs = gdk_x11_draw_glyphs;
drawable_class->draw_image = gdk_x11_draw_image;
#ifdef HAVE_XFT
drawable_class->draw_pixbuf = gdk_x11_draw_pixbuf;
#endif /* HAVE_XFT */
drawable_class->set_colormap = gdk_x11_set_colormap;
drawable_class->get_colormap = gdk_x11_get_colormap;
@ -223,7 +216,6 @@ gdk_drawable_impl_x11_finalize (GObject *object)
G_OBJECT_CLASS (parent_class)->finalize (object);
}
#ifdef HAVE_XFT
static void
try_pixmap (Display *xdisplay,
int screen,
@ -312,7 +304,6 @@ _gdk_x11_have_render (GdkDisplay *display)
return x11display->have_render == GDK_YES;
}
#ifdef HAVE_XFT2
static XftDraw *
gdk_x11_drawable_get_xft_draw (GdkDrawable *drawable)
{
@ -381,81 +372,6 @@ gdk_x11_drawable_update_xft_clip (GdkDrawable *drawable,
}
}
#else /* !HAVE_XFT2 */
static Picture
gdk_x11_drawable_get_picture (GdkDrawable *drawable)
{
GdkDrawableImplX11 *impl = GDK_DRAWABLE_IMPL_X11 (drawable);
if (!_gdk_x11_have_render (gdk_drawable_get_display (drawable)))
return None;
if (impl->picture == None)
{
GdkVisual *visual = gdk_drawable_get_visual (drawable);
XRenderPictFormat *format;
if (!visual)
{
g_warning ("Using Xft rendering requires the drawable argument to\n"
"have a specified colormap. All windows have a colormap,\n"
"however, pixmaps only have colormap by default if they\n"
"were created with a non-NULL window argument. Otherwise\n"
"a colormap must be set on them with gdk_drawable_set_colormap");
return None;
}
format = XRenderFindVisualFormat (GDK_SCREEN_XDISPLAY (impl->screen),
gdk_x11_visual_get_xvisual(visual));
if (format)
impl->picture = XRenderCreatePicture (GDK_SCREEN_XDISPLAY (impl->screen),
impl->xid, format, 0, NULL);
}
return impl->picture;
}
static void
gdk_x11_drawable_update_xft_clip (GdkDrawable *drawable,
GdkGC *gc)
{
GdkGCX11 *gc_private = gc ? GDK_GC_X11 (gc) : NULL;
GdkDrawableImplX11 *impl = GDK_DRAWABLE_IMPL_X11 (drawable);
Picture picture = gdk_x11_drawable_get_picture (drawable);
if (gc && gc_private->clip_region)
{
GdkRegionBox *boxes = gc_private->clip_region->rects;
gint n_boxes = gc_private->clip_region->numRects;
XRectangle *rects = g_new (XRectangle, n_boxes);
int i;
for (i=0; i < n_boxes; i++)
{
rects[i].x = CLAMP (boxes[i].x1 + gc->clip_x_origin, G_MINSHORT, G_MAXSHORT);
rects[i].y = CLAMP (boxes[i].y1 + gc->clip_y_origin, G_MINSHORT, G_MAXSHORT);
rects[i].width = CLAMP (boxes[i].x2 + gc->clip_x_origin, G_MINSHORT, G_MAXSHORT) - rects[i].x;
rects[i].height = CLAMP (boxes[i].y2 + gc->clip_y_origin, G_MINSHORT, G_MAXSHORT) - rects[i].y;
}
XRenderSetPictureClipRectangles (GDK_SCREEN_XDISPLAY (impl->screen),
picture, 0, 0, rects, n_boxes);
g_free (rects);
}
else
{
XRenderPictureAttributes pa;
pa.clip_mask = None;
XRenderChangePicture (GDK_SCREEN_XDISPLAY (impl->screen),
picture, CPClipMask, &pa);
}
}
#endif /* HAVE_XFT2 */
#endif /* HAVE_XFT */
/*****************************************************
* X11 specific implementations of generic functions *
*****************************************************/
@ -847,42 +763,19 @@ gdk_x11_draw_glyphs (GdkDrawable *drawable,
PangoGlyphString *glyphs)
{
GdkDrawableImplX11 *impl;
XftColor color;
XftDraw *draw;
impl = GDK_DRAWABLE_IMPL_X11 (drawable);
#if HAVE_XFT
if (PANGO_XFT_IS_FONT (font))
{
#ifdef HAVE_XFT2
XftColor color;
XftDraw *draw;
g_return_if_fail (PANGO_XFT_IS_FONT (font));
_gdk_gc_x11_get_fg_xft_color (gc, &color);
gdk_x11_drawable_update_xft_clip (drawable, gc);
draw = gdk_x11_drawable_get_xft_draw (drawable);
_gdk_gc_x11_get_fg_xft_color (gc, &color);
pango_xft_render (draw, &color, font, glyphs, x, y);
#else /* !HAVE_XFT2 */
Picture src_picture;
Picture dest_picture;
gdk_x11_drawable_update_xft_clip (drawable, gc);
draw = gdk_x11_drawable_get_xft_draw (drawable);
src_picture = _gdk_x11_gc_get_fg_picture (gc);
gdk_x11_drawable_update_xft_clip (drawable, gc);
dest_picture = gdk_x11_drawable_get_picture (drawable);
pango_xft_picture_render (GDK_SCREEN_XDISPLAY (impl->screen),
src_picture, dest_picture,
font, glyphs, x, y);
#endif /* HAVE_XFT2 */
}
else
#endif /* HAVE_XFT */
pango_x_render (GDK_SCREEN_XDISPLAY (impl->screen),
impl->xid,
GDK_GC_GET_XGC (gc),
font, glyphs, x, y);
pango_xft_render (draw, &color, font, glyphs, x, y);
}
static void
@ -999,7 +892,6 @@ gdk_x11_drawable_get_xid (GdkDrawable *drawable)
* what's the fastest depending on the available picture formats,
* whether we can used shared pixmaps, etc.
*/
#ifdef HAVE_XFT
typedef enum {
FORMAT_NONE,
FORMAT_EXACT_MASK,
@ -1524,4 +1416,3 @@ gdk_x11_draw_pixbuf (GdkDrawable *drawable,
rowstride,
dest_x, dest_y, width, height);
}
#endif /* HAVE_XFT */

View File

@ -32,10 +32,7 @@
#include <gdk/gdkdrawable.h>
#include <X11/Xlib.h>
#ifdef HAVE_XFT
#include <X11/Xft/Xft.h>
#endif
#ifdef __cplusplus
extern "C" {
@ -65,11 +62,7 @@ struct _GdkDrawableImplX11
Window xid;
GdkScreen *screen;
#ifdef HAVE_XFT2
XftDraw *xft_draw;
#elif defined (HAVE_XFT)
Picture picture;
#endif
};
struct _GdkDrawableImplX11Class

View File

@ -30,8 +30,6 @@
#include <X11/Xos.h>
#include <locale.h>
#include <pango/pangox.h>
#include "gdkx.h"
#include "gdkfont.h"
#include "gdkprivate-x11.h"
@ -285,42 +283,12 @@ GdkFont *
gdk_font_from_description_for_display (GdkDisplay *display,
PangoFontDescription *font_desc)
{
PangoFontMap *font_map;
PangoFont *font;
GdkFont *result = NULL;
GdkFont *result;
g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
g_return_val_if_fail (font_desc != NULL, NULL);
font_map = pango_x_font_map_for_display (GDK_DISPLAY_XDISPLAY (display));
font = pango_font_map_load_font (font_map, NULL, font_desc);
if (font)
{
gchar *charset = gdk_font_charset_for_locale ();
gint n_subfonts;
PangoXSubfont *subfont_ids;
gint *subfont_charsets;
n_subfonts = pango_x_list_subfonts (font, &charset, 1,
&subfont_ids, &subfont_charsets);
if (n_subfonts > 0)
{
gchar *xlfd = pango_x_font_subfont_xlfd (font, subfont_ids[0]);
result = gdk_font_load_for_display (display, xlfd);
g_free (xlfd);
}
g_free (subfont_ids);
g_free (subfont_charsets);
g_free (charset);
g_object_unref (font);
}
return result;
return gdk_font_load_for_display (display, "fixed");
}
/**

View File

@ -109,10 +109,8 @@ gdk_gc_x11_finalize (GObject *object)
if (x11_gc->clip_region)
gdk_region_destroy (x11_gc->clip_region);
#if HAVE_XFT
if (x11_gc->fg_picture != None)
XRenderFreePicture (GDK_GC_XDISPLAY (x11_gc), x11_gc->fg_picture);
#endif
XFreeGC (GDK_GC_XDISPLAY (x11_gc), GDK_GC_XGC (x11_gc));
@ -816,7 +814,6 @@ gdk_x11_gc_get_xgc (GdkGC *gc)
return gc_x11->xgc;
}
#ifdef HAVE_XFT
/* Various bits of the below are roughly cribbed from XFree86
* lib/Xft/xftdraw.c, Copyright 2000, Keith Packard
*/
@ -942,5 +939,3 @@ _gdk_gc_x11_get_fg_xft_color (GdkGC *gc,
xftcolor->color.blue = color.blue;
xftcolor->color.alpha = 0xffff;
}
#endif /* HAVE_XFT */

View File

@ -49,8 +49,6 @@
#include "gdkregion-generic.h"
#include "gdkinputprivate.h"
#include <pango/pangox.h>
typedef struct _GdkPredicate GdkPredicate;
typedef struct _GdkErrorTrap GdkErrorTrap;

View File

@ -23,10 +23,7 @@
#include "gdkx.h"
#include "gdkdisplay-x11.h"
#include "gdkpango.h"
#include <pango/pangox.h>
#ifdef HAVE_XFT
#include <pango/pangoxft.h>
#endif
/**
* gdk_pango_context_get_for_screen:
@ -48,40 +45,14 @@ PangoContext *
gdk_pango_context_get_for_screen (GdkScreen *screen)
{
PangoContext *context;
GdkDisplayX11 *display_x11;
g_return_val_if_fail (GDK_IS_SCREEN (screen), NULL);
if (screen->closed)
return NULL;
display_x11 = GDK_DISPLAY_X11 (GDK_SCREEN_DISPLAY (screen));
#ifdef HAVE_XFT
if (display_x11->use_xft == -1)
{
const char *val = g_getenv ("GDK_USE_XFT");
/* Version 2 of Xft supports rendering FreeType fonts via
* the core X protocol, so we default to it everywhere.
*
* For Xft1, we only enable Xft if the user explicitely
* specifies it, and we have the RENDER extension
*/
# ifdef HAVE_XFT2
display_x11->use_xft = !val || (atoi (val) != 0);
# else
display_x11->use_xft = val && (atoi (val) != 0) &&
_gdk_x11_have_render (GDK_SCREEN_DISPLAY (screen));
# endif /* HAVE_XFT2 */
}
if (display_x11->use_xft)
context = pango_xft_get_context (GDK_SCREEN_XDISPLAY (screen),
GDK_SCREEN_X11 (screen)->screen_num);
else
#endif /* HAVE_XFT */
context = pango_x_get_context (GDK_SCREEN_XDISPLAY (screen));
context = pango_xft_get_context (GDK_SCREEN_XDISPLAY (screen),
GDK_SCREEN_X11 (screen)->screen_num);
g_object_set_data (G_OBJECT (context), "gdk-pango-screen", screen);

View File

@ -129,19 +129,10 @@ gdk_pixmap_impl_x11_finalize (GObject *object)
if (!display->closed)
{
#ifdef HAVE_XFT
{
GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (impl);
GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (impl);
#ifdef HAVE_XFT2
if (draw_impl->xft_draw)
XftDrawDestroy (draw_impl->xft_draw);
#else /* !HAVE_XFT2 */
if (draw_impl->picture)
XRenderFreePicture (GDK_DISPLAY_XDISPLAY (display), draw_impl->picture);
#endif /* HAVE_XFT2 */
}
#endif /* HAVE_XFT */
if (draw_impl->xft_draw)
XftDrawDestroy (draw_impl->xft_draw);
if (!impl->is_foreign)
XFreePixmap (GDK_DISPLAY_XDISPLAY (display), GDK_PIXMAP_XID (wrapper));

View File

@ -41,9 +41,7 @@
#include <config.h>
#if HAVE_XFT
#include <X11/extensions/Xrender.h>
#endif
#define GDK_TYPE_GC_X11 (_gdk_gc_x11_get_type ())
#define GDK_GC_X11(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_GC_X11, GdkGCX11))
@ -67,10 +65,8 @@ struct _GdkGCX11
guint16 dirty_mask;
guint have_clip_mask : 1;
#ifdef HAVE_XFT
Picture fg_picture;
XRenderColor fg_picture_color;
#endif
gulong fg_pixel;
};
@ -106,12 +102,10 @@ gint _gdk_send_xevent (GdkDisplay *display,
GType _gdk_gc_x11_get_type (void);
#ifdef HAVE_XFT
gboolean _gdk_x11_have_render (GdkDisplay *display);
Picture _gdk_x11_gc_get_fg_picture (GdkGC *gc);
void _gdk_gc_x11_get_fg_xft_color (GdkGC *gc,
XftColor *xftcolor);
#endif /* HAVE_XFT */
GdkGC *_gdk_x11_gc_new (GdkDrawable *drawable,
GdkGCValues *values,

View File

@ -32,11 +32,6 @@
#include "gdkdisplay-x11.h"
#include "gdkx.h"
#ifdef HAVE_XFT
#include <pango/pangoxft.h>
#endif
#include <pango/pangox.h>
#ifdef HAVE_SOLARIS_XINERAMA
#include <X11/extensions/xinerama.h>
#endif

View File

@ -890,6 +890,7 @@ _gdk_windowing_window_destroy (GdkWindow *window,
{
GdkWindowObject *private = (GdkWindowObject *)window;
GdkToplevelX11 *toplevel;
GdkDrawableImplX11 *draw_impl;
g_return_if_fail (GDK_IS_WINDOW (window));
@ -902,19 +903,10 @@ _gdk_windowing_window_destroy (GdkWindow *window,
if (toplevel)
gdk_toplevel_x11_free_contents (toplevel);
#ifdef HAVE_XFT
{
GdkDrawableImplX11 *draw_impl = GDK_DRAWABLE_IMPL_X11 (private->impl);
#ifdef HAVE_XFT2
if (draw_impl->xft_draw)
XftDrawDestroy (draw_impl->xft_draw);
#else /* !HAVE_XFT2 */
if (draw_impl->picture)
XRenderFreePicture (GDK_DRAWABLE_XDISPLAY (window), draw_impl->picture);
#endif /* HAVE_XFT2 */
}
#endif /* HAVE_XFT */
draw_impl = GDK_DRAWABLE_IMPL_X11 (private->impl);
if (draw_impl->xft_draw)
XftDrawDestroy (draw_impl->xft_draw);
if (private->window_type == GDK_WINDOW_FOREIGN)
{