,
$x_libs)
+ #
+ # Checks for FreeType
+ #
+ FREETYPE_LIBS=
+ FREETYPE_CFLAGS=
+ have_freetype=false
+ AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+ if test "x$FREE_CONFIG" != "xno" ; then
+ FREETYPE_CFLAGS=`freetype-config --cflags`
+ FREETYPE_LIBS=`freetype-config --libs`
+
+ AC_CHECK_LIB(freetype, FT_New_Face, have_freetype=true
+ ,:,$FREETYPE_LIBS)
+ fi
+ AC_SUBST(FREETYPE_CFLAGS)
+
#
# Checks for Xft/XRender
- #
+ #
have_xft=false
XFT_LIBS=""
- AC_CHECK_LIB(Xrender, XRenderFindFormat,
- AC_CHECK_LIB(Xft, XftFontOpen, have_xft=true, :, -lXrender $X_LIBS)
- ,:,-lXext $X_LIBS)
-
- if $have_xft = 'true' ; then
- X_LIBS="-lXft -lXrender -lXext $X_LIBS"
- AC_DEFINE(HAVE_XFT)
+ XFT_CFLAGS=""
+ if test $have_freetype = true ; then
+ AC_CHECK_LIB(Xrender, XRenderFindFormat,
+ AC_CHECK_LIB(Xft, XftFontOpen, have_xft=true, :, -lXrender -lXext $X_LIBS $FREETYPE_LIBS)
+ ,:,-lXext $X_LIBS)
+
+ if $have_xft = 'true' ; then
+ X_LIBS="-lXft -lXrender -lXext $FREETYPE_LIBS $X_LIBS"
+ AC_DEFINE(HAVE_XFT)
+ fi
fi
+ AC_SUBST(XFT_LIBS)
AM_CONDITIONAL(HAVE_XFT, $have_xft)
# Check for XIM support.
@GTK_LOCALE_FLAGS@ \
@PANGO_CFLAGS@ \
@GLIB_CFLAGS@ \
+ @FREETYPE_CFLAGS@ \
@x_cflags@ \
@STRIP_END@
{
g_free (fontsel->font_desc->family_name);
fontsel->font_desc->family_name = g_strdup (family_name);
+
+ gtk_entry_set_text (fontsel->font_entry, family_name);
gtk_font_selection_show_available_styles (fontsel);
gtk_font_selection_select_best_style (fontsel, TRUE);
#include "gtkframe.h"
#include "gtklabel.h"
+#define LABEL_PAD 1
+#define LABEL_SIDE_PAD 2
+
enum {
ARG_0,
ARG_LABEL,
y -= height_extra * (1 - frame->label_yalign);
height += height_extra * (1 - frame->label_yalign);
- x2 = 2 + (frame->child_allocation.width - child_requisition.width) * xalign;
+ x2 = widget->style->xthickness + (frame->child_allocation.width - child_requisition.width - 2 * LABEL_PAD - 2 * LABEL_SIDE_PAD) * xalign + LABEL_SIDE_PAD;
gtk_paint_shadow_gap (widget->style, widget->window,
GTK_STATE_NORMAL, frame->shadow_type,
area, widget, "frame",
x, y, width, height,
GTK_POS_TOP,
- x2, child_requisition.width - 4);
+ x2, child_requisition.width + 2 * LABEL_PAD);
}
else
gtk_paint_shadow (widget->style, widget->window,
{
gtk_widget_size_request (frame->label_widget, &child_requisition);
- requisition->width = child_requisition.width;
+ requisition->width = child_requisition.width + 2 * LABEL_PAD + 2 * LABEL_SIDE_PAD;
requisition->height =
MAX (0, child_requisition.height - GTK_WIDGET (widget)->style->xthickness);
}
else
xalign = 1 - frame->label_xalign;
- child_allocation.x = frame->child_allocation.x +
- (frame->child_allocation.width - child_requisition.width) * xalign;
+ child_allocation.x = frame->child_allocation.x + LABEL_SIDE_PAD +
+ (frame->child_allocation.width - child_requisition.width - 2 * LABEL_PAD - 2 * LABEL_SIDE_PAD) * xalign + LABEL_PAD;
child_allocation.width = child_requisition.width;
child_allocation.y = frame->child_allocation.y - child_requisition.height;