Mercurial > pidgin.yaz
comparison src/gtkhtml.c @ 918:5871e1eec10c
[gaim-migrate @ 928]
pixmap stuff. yeah, whatever.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Fri, 15 Sep 2000 22:35:39 +0000 |
parents | 215fe9039ae1 |
children | 5d140deadc68 |
comparison
equal
deleted
inserted
replaced
917:f3c23b3c1ed7 | 918:5871e1eec10c |
---|---|
125 static void gtk_html_size_allocate(GtkWidget * widget, | 125 static void gtk_html_size_allocate(GtkWidget * widget, |
126 GtkAllocation * allocation); | 126 GtkAllocation * allocation); |
127 static void gtk_html_adjustment(GtkAdjustment * adjustment, GtkHtml * html); | 127 static void gtk_html_adjustment(GtkAdjustment * adjustment, GtkHtml * html); |
128 static void gtk_html_disconnect(GtkAdjustment * adjustment, GtkHtml * html); | 128 static void gtk_html_disconnect(GtkAdjustment * adjustment, GtkHtml * html); |
129 static void gtk_html_add_seperator(GtkHtml *, GdkFont *, GdkColor *, GdkColor *); | 129 static void gtk_html_add_seperator(GtkHtml *, GdkFont *, GdkColor *, GdkColor *); |
130 // static void gtk_html_add_pixmap(GtkHtml * html, GdkPixmap * pm, gint fit); | |
131 static void gtk_html_add_text(GtkHtml * html, | 130 static void gtk_html_add_text(GtkHtml * html, |
132 GdkFont * font, | 131 GdkFont * font, |
133 GdkColor * fore, | 132 GdkColor * fore, |
134 GdkColor * back, | 133 GdkColor * back, |
135 gchar * chars, | 134 gchar * chars, |
2123 area.x = hb->x - html->xoffset; | 2122 area.x = hb->x - html->xoffset; |
2124 area.y = hb->y - hb->height + 5 - html->yoffset; | 2123 area.y = hb->y - hb->height + 5 - html->yoffset; |
2125 area.width = hb->width; | 2124 area.width = hb->width; |
2126 area.height = hb->height; | 2125 area.height = hb->height; |
2127 clear_area(html, &area); | 2126 clear_area(html, &area); |
2128 if (hb->back != NULL && selected_state != GTK_STATE_SELECTED) { | 2127 if (hb->back != NULL) { |
2129 int hwidth, hheight, hei, tmpcnt; | 2128 int hwidth, hheight, hei, tmpcnt; |
2130 hei = get_line_height(html, hb); | 2129 hei = get_line_height(html, hb); |
2131 gdk_window_get_size(html->html_area, &hwidth, &hheight); | 2130 gdk_window_get_size(html->html_area, &hwidth, &hheight); |
2132 gdk_gc_set_foreground(gc, hb->back); | 2131 gdk_gc_set_foreground(gc, hb->back); |
2133 for (tmpcnt = 1; tmpcnt < hb->newline; tmpcnt++) { | 2132 for (tmpcnt = 0; tmpcnt < hb->newline; tmpcnt++) { |
2134 int eoff = hei + hei + 2; | 2133 int eoff = hei + hei + 2; |
2135 eoff *= tmpcnt - 1; | 2134 eoff *= tmpcnt; |
2136 eoff += 5; | 2135 eoff += 5; |
2137 gdk_draw_rectangle(html->html_area, gc, TRUE, | 2136 gdk_draw_rectangle(html->html_area, gc, TRUE, |
2138 1, hb->y - html->yoffset - 11 + eoff, | 2137 1, hb->y - html->yoffset + eoff, |
2139 hwidth, hei + hei + 2); | 2138 hwidth, hei + hei + 2); |
2140 } | 2139 } |
2141 } | 2140 } |
2142 | 2141 |
2143 if (hb->fore != NULL) | 2142 if (hb->fore != NULL) |
2144 gdk_gc_set_background(gc, &widget->style->base[GTK_STATE_NORMAL]); | 2143 gdk_gc_set_foreground(gc, hb->fore); |
2144 else | |
2145 gdk_gc_set_foreground(gc, &widget->style->fg[GTK_STATE_NORMAL]); | |
2146 | |
2145 gdk_draw_pixmap(html->html_area, gc, hb->pm, 0, 0, hb->x, | 2147 gdk_draw_pixmap(html->html_area, gc, hb->pm, 0, 0, hb->x, |
2146 hb->y - html->yoffset - (hb->height) + 4, -1, -1); | 2148 hb->y - html->yoffset - (hb->height) + 4, -1, -1); |
2147 } | 2149 } |
2148 } | 2150 } |
2149 | 2151 |
2764 hb->height = private->height; | 2766 hb->height = private->height; |
2765 hb->type = HTML_BIT_PIXMAP; | 2767 hb->type = HTML_BIT_PIXMAP; |
2766 hb->width = private->width; | 2768 hb->width = private->width; |
2767 hb->text = NULL; | 2769 hb->text = NULL; |
2768 hb->url = NULL; | 2770 hb->url = NULL; |
2769 hb->fore = NULL; | 2771 if (last_hb->fore) hb->fore = gdk_color_copy(last_hb->fore); |
2770 hb->back = NULL; | 2772 else hb->fore = NULL; |
2771 hb->font = NULL; | 2773 if (last_hb->back) hb->back = gdk_color_copy(last_hb->back); |
2774 else hb->back = NULL; | |
2775 hb->font = last_hb->font; | |
2772 hb->uline = 0; | 2776 hb->uline = 0; |
2773 hb->strike = 0; | 2777 hb->strike = 0; |
2774 hb->was_selected = 0; | 2778 hb->was_selected = 0; |
2775 hb->newline = newline; | 2779 hb->newline = newline; |
2776 hb->pm = pm; | 2780 hb->pm = pm; |
4387 | 4391 |
4388 static int get_line_height(GtkHtml *html, GtkHtmlBit *start) | 4392 static int get_line_height(GtkHtml *html, GtkHtmlBit *start) |
4389 { | 4393 { |
4390 int height, max_height = 0; | 4394 int height, max_height = 0; |
4391 GList *hbits = html->html_bits; | 4395 GList *hbits = html->html_bits; |
4392 GtkHtmlBit *hbit; | 4396 GtkHtmlBit *hbit = start; /* default this in case hbits is NULL */ |
4393 | 4397 |
4394 hbits = g_list_find(hbits, start); | 4398 hbits = g_list_find(hbits, start); |
4395 | 4399 |
4396 while (hbits) | 4400 while (hbits) |
4397 { | 4401 { |