diff --git a/ChangeLog b/ChangeLog index ba9958f541..0e84255b26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2000-08-03 Elliot Lee + + * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. + Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index ba9958f541..0e84255b26 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,7 @@ +2000-08-03 Elliot Lee + + * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. + Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ba9958f541..0e84255b26 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,7 @@ +2000-08-03 Elliot Lee + + * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. + Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index ba9958f541..0e84255b26 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,7 @@ +2000-08-03 Elliot Lee + + * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. + Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index ba9958f541..0e84255b26 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,7 @@ +2000-08-03 Elliot Lee + + * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. + Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index ba9958f541..0e84255b26 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,7 @@ +2000-08-03 Elliot Lee + + * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. + Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index ba9958f541..0e84255b26 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,7 @@ +2000-08-03 Elliot Lee + + * gdk/gdkpango.c (gdk_draw_layout_line): Don't runs with a PANGO_ATTR_SHAPE set. + Thu Aug 3 09:17:06 2000 Owen Taylor * gdk/gdkrectangle.c (gdk_rectangle_intersect): Applied patch from diff --git a/gdk/gdkpango.c b/gdk/gdkpango.c index 85655e302d..029ba9a537 100644 --- a/gdk/gdkpango.c +++ b/gdk/gdkpango.c @@ -36,7 +36,8 @@ static void gdk_pango_get_item_properties (PangoItem *item, PangoAttrColor *fg_color, gboolean *fg_set, PangoAttrColor *bg_color, - gboolean *bg_set); + gboolean *bg_set, + gboolean *shape_set); static void gdk_pango_context_destroy (GdkPangoContextInfo *info) @@ -168,17 +169,12 @@ gdk_draw_layout_line (GdkDrawable *drawable, PangoUnderline uline = PANGO_UNDERLINE_NONE; PangoLayoutRun *run = tmp_list->data; PangoAttrColor fg_color, bg_color; - gboolean fg_set, bg_set; + gboolean fg_set, bg_set, shape_set; GdkGC *fg_gc; tmp_list = tmp_list->next; - gdk_pango_get_item_properties (run->item, &uline, &fg_color, &fg_set, &bg_color, &bg_set); - - if (fg_set) - fg_gc = gdk_pango_get_gc (context, &fg_color, gc); - else - fg_gc = gc; + gdk_pango_get_item_properties (run->item, &uline, &fg_color, &fg_set, &bg_color, &bg_set, &shape_set); if (uline == PANGO_UNDERLINE_NONE) pango_glyph_string_extents (run->glyphs, run->item->analysis.font, @@ -200,8 +196,16 @@ gdk_draw_layout_line (GdkDrawable *drawable, gdk_pango_free_gc (context, bg_gc); } + if (shape_set) + continue; + + if (fg_set) + fg_gc = gdk_pango_get_gc (context, &fg_color, gc); + else + fg_gc = gc; + gdk_draw_glyphs (drawable, fg_gc, run->item->analysis.font, - x + x_off / PANGO_SCALE, y, run->glyphs); + x + x_off / PANGO_SCALE, y, run->glyphs); switch (uline) { @@ -323,7 +327,8 @@ gdk_pango_get_item_properties (PangoItem *item, PangoAttrColor *fg_color, gboolean *fg_set, PangoAttrColor *bg_color, - gboolean *bg_set) + gboolean *bg_set, + gboolean *shape_set) { GSList *tmp_list = item->extra_attrs; @@ -332,6 +337,9 @@ gdk_pango_get_item_properties (PangoItem *item, if (bg_set) *bg_set = FALSE; + + if (shape_set) + *shape_set = FALSE; while (tmp_list) { @@ -359,6 +367,11 @@ gdk_pango_get_item_properties (PangoItem *item, *bg_set = TRUE; break; + + case PANGO_ATTR_SHAPE: + if (shape_set) + *shape_set = TRUE; + break; default: break; diff --git a/modules/linux-fb/Makefile.am b/modules/linux-fb/Makefile.am index dbfae2dfbe..c6f191fd56 100644 --- a/modules/linux-fb/Makefile.am +++ b/modules/linux-fb/Makefile.am @@ -24,7 +24,7 @@ LDFLAGS = @STRIP_BEGIN@ \ fb_basic_la_SOURCES = basic.c fb_basic_la_LDFLAGS = -export-dynamic -avoid-version -module -fb_basic_la_LIBADD = $(PANGO_LIBS) -L$(top_builddir)/gdk/.libs -lgdk-linux-fb +fb_basic_la_LIBADD = $(PANGO_LIBS) -L$(top_builddir)/gdk/.libs -lgdk-linux-fb-1.3 if USE_LINUX_FB