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 {