diff -r 0dd3bc2bacc9 -r 4f138a688686 src/gtkhtml.c
--- a/src/gtkhtml.c Thu Sep 14 23:25:27 2000 +0000
+++ b/src/gtkhtml.c Fri Sep 15 16:51:31 2000 +0000
@@ -126,7 +126,7 @@
GtkAllocation * allocation);
static void gtk_html_adjustment(GtkAdjustment * adjustment, GtkHtml * html);
static void gtk_html_disconnect(GtkAdjustment * adjustment, GtkHtml * html);
-static void gtk_html_add_seperator(GtkHtml * html);
+static void gtk_html_add_seperator(GtkHtml *, GdkFont *, GdkColor *, GdkColor *);
// static void gtk_html_add_pixmap(GtkHtml * html, GdkPixmap * pm, gint fit);
static void gtk_html_add_text(GtkHtml * html,
GdkFont * font,
@@ -2047,7 +2047,7 @@
/*end my stuff*/
- if (hb->text && hb->back != NULL && selected_state != GTK_STATE_SELECTED) {
+ if (hb->text && hb->back != NULL) {
int hwidth, hheight, hei, tmpcnt;
hei = get_line_height(html, hb);
gdk_window_get_size(html->html_area, &hwidth, &hheight);
@@ -2089,6 +2089,29 @@
}
else if (hb->type == HTML_BIT_SEP)
{
+ if (hb->back != NULL) {
+ int hwidth, hheight, hei, tmpcnt;
+ hei = get_line_height(html, hb);
+ gdk_window_get_size(html->html_area, &hwidth, &hheight);
+ gdk_gc_set_foreground(gc, hb->back);
+ gdk_draw_rectangle(html->html_area, gc, TRUE,
+ 1, hb->y - html->yoffset,
+ hwidth, 5);
+ for (tmpcnt = 0; tmpcnt < hb->newline; tmpcnt++) {
+ int eoff = hei + hei + 2;
+ eoff *= tmpcnt;
+ eoff += 5;
+ gdk_draw_rectangle(html->html_area, gc, TRUE,
+ 1, hb->y - html->yoffset + eoff,
+ hwidth, hei + hei + 2);
+ }
+ }
+
+ if (hb->fore != NULL)
+ gdk_gc_set_foreground(gc, hb->fore);
+ else
+ gdk_gc_set_foreground(gc, &widget->style->fg[GTK_STATE_NORMAL]);
+
gdk_draw_line(html->html_area, gc, hb->x + 2,
hb->y - html->yoffset - (hb->height / 2 - 1),
hb->x + hb->width,
@@ -2102,6 +2125,22 @@
area.width = hb->width;
area.height = hb->height;
clear_area(html, &area);
+ if (hb->back != NULL && selected_state != GTK_STATE_SELECTED) {
+ int hwidth, hheight, hei, tmpcnt;
+ hei = get_line_height(html, hb);
+ gdk_window_get_size(html->html_area, &hwidth, &hheight);
+ gdk_gc_set_foreground(gc, hb->back);
+ for (tmpcnt = 1; tmpcnt < hb->newline; tmpcnt++) {
+ int eoff = hei + hei + 2;
+ eoff *= tmpcnt - 1;
+ eoff += 5;
+ gdk_draw_rectangle(html->html_area, gc, TRUE,
+ 1, hb->y - html->yoffset - 11 + eoff,
+ hwidth, hei + hei + 2);
+ }
+ }
+
+ if (hb->fore != NULL)
gdk_gc_set_background(gc, &widget->style->base[GTK_STATE_NORMAL]);
gdk_draw_pixmap(html->html_area, gc, hb->pm, 0, 0, hb->x,
hb->y - html->yoffset - (hb->height) + 4, -1, -1);
@@ -2329,7 +2368,7 @@
if (hb->type == HTML_BIT_SEP)
{
- gtk_html_add_seperator(html);
+ gtk_html_add_seperator(html, hb->font, hb->fore, hb->back);
g_free(hb);
@@ -2755,7 +2794,7 @@
}
-static void gtk_html_add_seperator(GtkHtml * html)
+static void gtk_html_add_seperator(GtkHtml * html, GdkFont *font, GdkColor *fore, GdkColor *back)
{
GtkHtmlBit *hb = g_new0(GtkHtmlBit, 1);
gint width,
@@ -2776,9 +2815,16 @@
width - 10;
hb->text = NULL;
hb->url = NULL;
- hb->fore = NULL;
- hb->back = NULL;
- hb->font = NULL;
+ if (fore)
+ hb->fore = gdk_color_copy(fore);
+ else
+ hb->fore = NULL;
+
+ if (back)
+ hb->back = gdk_color_copy(back);
+ else
+ hb->back = NULL;
+ hb->font = font;
hb->uline = 0;
hb->strike = 0;
hb->was_selected = 0;
@@ -3243,7 +3289,7 @@
else if (!strcasecmp(tag, "PRE"))
fixed = 1;
else if (!strcasecmp(tag, "HR"))
- gtk_html_add_seperator(html);
+ gtk_html_add_seperator(html, cfont, current->color, current->bgcol);
else if (!strcasecmp(tag, "/B"))
bold = 0;
else if (!strcasecmp(tag, "/STRIKE") || !strcasecmp(tag, "/S"))