diff options
-rw-r--r-- | configure.in | 36 | ||||
-rw-r--r-- | gdk/x11/Makefile.am | 1 | ||||
-rw-r--r-- | gtk/gtkfontsel.c | 2 | ||||
-rw-r--r-- | gtk/gtkframe.c | 13 |
4 files changed, 39 insertions, 13 deletions
diff --git a/configure.in b/configure.in index 5295327e54..6729031a67 100644 --- a/configure.in +++ b/configure.in @@ -399,19 +399,39 @@ if test "x$gdktarget" = "xx11"; then $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. diff --git a/gdk/x11/Makefile.am b/gdk/x11/Makefile.am index ab32460360..dfa5a032b7 100644 --- a/gdk/x11/Makefile.am +++ b/gdk/x11/Makefile.am @@ -13,6 +13,7 @@ INCLUDES = @STRIP_BEGIN@ \ @GTK_LOCALE_FLAGS@ \ @PANGO_CFLAGS@ \ @GLIB_CFLAGS@ \ + @FREETYPE_CFLAGS@ \ @x_cflags@ \ @STRIP_END@ diff --git a/gtk/gtkfontsel.c b/gtk/gtkfontsel.c index 06f8367b9d..cbe21567e0 100644 --- a/gtk/gtkfontsel.c +++ b/gtk/gtkfontsel.c @@ -429,6 +429,8 @@ gtk_font_selection_select_font (GtkWidget *w, { 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); diff --git a/gtk/gtkframe.c b/gtk/gtkframe.c index 61a2a74192..02921ef10a 100644 --- a/gtk/gtkframe.c +++ b/gtk/gtkframe.c @@ -28,6 +28,9 @@ #include "gtkframe.h" #include "gtklabel.h" +#define LABEL_PAD 1 +#define LABEL_SIDE_PAD 2 + enum { ARG_0, ARG_LABEL, @@ -400,14 +403,14 @@ gtk_frame_paint (GtkWidget *widget, 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, @@ -459,7 +462,7 @@ gtk_frame_size_request (GtkWidget *widget, { 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); } @@ -523,8 +526,8 @@ gtk_frame_size_allocate (GtkWidget *widget, 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; |