Mercurial > pidgin
comparison src/gtkimhtml.c @ 10767:3e4991079b2f
[gaim-migrate @ 12373]
whole-buffer formatting background colors will take up, get this, the whole
buffer.
committer: Tailor Script <tailor@pidgin.im>
author | Sean Egan <seanegan@gmail.com> |
---|---|
date | Sat, 02 Apr 2005 02:34:24 +0000 |
parents | 7c6b69eb82f2 |
children | 97a7d3f9f0c6 |
comparison
equal
deleted
inserted
replaced
10766:4e64283bf3cb | 10767:3e4991079b2f |
---|---|
540 int top, bottom, height, win_top, win_bottom; | 540 int top, bottom, height, win_top, win_bottom; |
541 GtkTextIter start, end; | 541 GtkTextIter start, end; |
542 | 542 |
543 GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(event->window)); | 543 GdkGC *gc = gdk_gc_new(GDK_DRAWABLE(event->window)); |
544 GdkColor color; | 544 GdkColor color; |
545 | 545 |
546 gtk_text_buffer_get_iter_at_mark (GTK_IMHTML(widget)->text_buffer, &start, tag->start); | |
547 | |
548 if (tag->end) | |
549 gtk_text_buffer_get_iter_at_mark (GTK_IMHTML(widget)->text_buffer, &end, tag->end); | |
550 else | |
551 gtk_text_buffer_get_end_iter (GTK_IMHTML(widget)->text_buffer, &end); | |
552 | |
553 gtk_text_view_get_line_yrange (GTK_TEXT_VIEW(widget), &start, &top, NULL); | |
554 gtk_text_view_get_line_yrange (GTK_TEXT_VIEW(widget), &end, &bottom, &height); | |
555 | |
556 gtk_text_view_get_visible_rect (GTK_TEXT_VIEW(widget), &visible_rect); | 546 gtk_text_view_get_visible_rect (GTK_TEXT_VIEW(widget), &visible_rect); |
557 gtk_text_view_buffer_to_window_coords (GTK_TEXT_VIEW(widget), | 547 gtk_text_view_buffer_to_window_coords (GTK_TEXT_VIEW(widget), |
558 GTK_TEXT_WINDOW_TEXT, | 548 GTK_TEXT_WINDOW_TEXT, |
559 visible_rect.x, | 549 visible_rect.x, |
560 visible_rect.y, | 550 visible_rect.y, |
561 &redraw_rect.x, | 551 &redraw_rect.x, |
562 &redraw_rect.y); | 552 &redraw_rect.y); |
553 | |
554 if (GTK_IMHTML(widget)->wbfo) { | |
555 gdk_color_parse(GTK_IMHTML(widget)->edit.backcolor, &color); | |
556 gdk_gc_set_rgb_fg_color(gc, &color); | |
557 gdk_draw_rectangle(event->window, | |
558 gc, | |
559 TRUE, | |
560 redraw_rect.x, redraw_rect.y, redraw_rect.width, redraw_rect.height); | |
561 return (* GTK_WIDGET_CLASS (parent_class)->expose_event) | |
562 (widget, event); | |
563 ; | |
564 } | |
565 | |
566 gtk_text_buffer_get_iter_at_mark (GTK_IMHTML(widget)->text_buffer, &start, tag->start); | |
567 | |
568 if (tag->end) | |
569 gtk_text_buffer_get_iter_at_mark (GTK_IMHTML(widget)->text_buffer, &end, tag->end); | |
570 else | |
571 gtk_text_buffer_get_end_iter (GTK_IMHTML(widget)->text_buffer, &end); | |
572 | |
573 gtk_text_view_get_line_yrange (GTK_TEXT_VIEW(widget), &start, &top, NULL); | |
574 gtk_text_view_get_line_yrange (GTK_TEXT_VIEW(widget), &end, &bottom, &height); | |
575 | |
576 | |
563 gtk_text_view_buffer_to_window_coords (GTK_TEXT_VIEW(widget), | 577 gtk_text_view_buffer_to_window_coords (GTK_TEXT_VIEW(widget), |
564 GTK_TEXT_WINDOW_TEXT, | 578 GTK_TEXT_WINDOW_TEXT, |
565 0, | 579 0, |
566 top, | 580 top, |
567 NULL, | 581 NULL, |
575 redraw_rect.width = visible_rect.width; | 589 redraw_rect.width = visible_rect.width; |
576 redraw_rect.height = visible_rect.height; | 590 redraw_rect.height = visible_rect.height; |
577 | 591 |
578 | 592 |
579 | 593 |
580 gdk_color_parse(tag->color, &color); | 594 |
581 gdk_gc_set_rgb_fg_color(gc, &color); | |
582 | |
583 gdk_draw_rectangle(event->window, | 595 gdk_draw_rectangle(event->window, |
584 gc, | 596 gc, |
585 TRUE, | 597 TRUE, |
586 redraw_rect.x, win_top, redraw_rect.width, win_bottom - win_top); | 598 redraw_rect.x, win_top, redraw_rect.width, win_bottom - win_top); |
587 gdk_gc_unref(gc); | 599 gdk_gc_unref(gc); |