comparison gtk/dw.c @ 375:84f79737b7d9

Manually draw the background rectangle with GTK 1.x since it doesn't appear to be able to do it automatically.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Sun, 27 Apr 2003 20:11:05 +0000
parents 47dc310e6d74
children 2e5f3cb38d19
comparison
equal deleted inserted replaced
374:47dc310e6d74 375:84f79737b7d9
5403 5403
5404 gdk_pango_context_set_colormap(context, _dw_cmap); 5404 gdk_pango_context_set_colormap(context, _dw_cmap);
5405 pango_layout_set_font_description(layout, font); 5405 pango_layout_set_font_description(layout, font);
5406 pango_layout_set_text(layout, text, strlen(text)); 5406 pango_layout_set_text(layout, text, strlen(text));
5407 5407
5408 if(_transparent[index]) 5408 if(_transparent[index])
5409 gdk_draw_layout(handle ? handle->window : pixmap->pixmap, gc, x, y + 2, layout); 5409 gdk_draw_layout(handle ? handle->window : pixmap->pixmap, gc, x, y + 2, layout);
5410 else 5410 else
5411 gdk_draw_layout_with_colors(handle ? handle->window : pixmap->pixmap, gc, x, y + 2, layout, &_foreground[index], &_background[index]); 5411 gdk_draw_layout_with_colors(handle ? handle->window : pixmap->pixmap, gc, x, y + 2, layout, &_foreground[index], &_background[index]);
5412 5412
5413 g_object_unref(layout); 5413 g_object_unref(layout);
5420 font = gdk_font_load(fontname); 5420 font = gdk_font_load(fontname);
5421 if(!font) 5421 if(!font)
5422 font = gdk_font_load("fixed"); 5422 font = gdk_font_load("fixed");
5423 if(font) 5423 if(font)
5424 { 5424 {
5425 gint ascent; 5425 gint ascent, descent, width;
5426 5426 int index = _find_thread_index(dw_thread_id());
5427 gdk_text_extents(font, text, strlen(text), NULL, NULL, NULL, &ascent, NULL); 5427
5428 gdk_text_extents(font, text, strlen(text), NULL, NULL, &width, &ascent, &descent);
5429 if(!_transparent[index])
5430 {
5431 GdkGC *gc2 = NULL;
5432
5433 gc2 = gdk_gc_new(handle ? handle->window : pixmap->pixmap);
5434 if(gc2)
5435 {
5436 gdk_gc_set_foreground(gc2, &_background[index]);
5437 gdk_gc_set_background(gc2, &_background[index]);
5438 }
5439 gdk_draw_rectangle(handle ? handle->window : pixmap->pixmap, gc2, TRUE, x, y, width, ascent + descent + 2);
5440 gdk_gc_unref(gc2);
5441 }
5428 gdk_draw_text(handle ? handle->window : pixmap->pixmap, font, gc, x, y + ascent + 2, text, strlen(text)); 5442 gdk_draw_text(handle ? handle->window : pixmap->pixmap, font, gc, x, y + ascent + 2, text, strlen(text));
5429 gdk_font_unref(font); 5443 gdk_font_unref(font);
5430 } 5444 }
5431 #endif 5445 #endif
5432 gdk_gc_unref(gc); 5446 gdk_gc_unref(gc);