diff options
author | Alex Larsson <alexl@redhat.com> | 2001-09-19 00:49:52 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2001-09-19 00:49:52 +0000 |
commit | 1a46d3d534698081b67e56e5510f521e45bfcbd1 (patch) | |
tree | f673445d694db4b1c804815f99df96f05eec1afc /gtk/gtktextdisplay.c | |
parent | 07fd24542186c9d2e30a8b08381cab6285d94725 (diff) | |
download | gtk+-1a46d3d534698081b67e56e5510f521e45bfcbd1.tar.gz |
Don't draw with GTK_STATE_ACTIVE.
2001-09-18 Alex Larsson <alexl@redhat.com>
* gtk/gtkcheckbutton.c:
* gtk/gtkradiobutton.c:
Don't draw with GTK_STATE_ACTIVE.
* gtk/gtkclist.c:
* gtk/gtkctree.c:
Draw lines between rows with base_gc[GTK_STATE_NORMAL].
* gtk/gtktextdisplay.c:
Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
unfocused with base_gc [GTK_STATE_ACTIVE].
* gtk/gtkentry.c:
Add select all menu-item.
Default cursor color is red.
Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
unfocused with base_gc [GTK_STATE_ACTIVE].
* gtk/gtklabel.[ch]:
Add keynav + menu to selectable lables.
Focused selection is drawn with base_gc [GTK_STATE_SELECTED] and
unfocused with base_gc [GTK_STATE_ACTIVE].
* gtk/gtkfilesel.c:
Add drag and drop support.
* gtk/gtkstyle.c:
(This was checked in earlier)
New default values for text/base SELECTED and ACTIVE
Diffstat (limited to 'gtk/gtktextdisplay.c')
-rw-r--r-- | gtk/gtktextdisplay.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/gtk/gtktextdisplay.c b/gtk/gtktextdisplay.c index d5b5f50185..d605a1ba1d 100644 --- a/gtk/gtktextdisplay.c +++ b/gtk/gtktextdisplay.c @@ -250,7 +250,10 @@ render_layout_line (GdkDrawable *drawable, if (selected) { - fg_gc = render_state->widget->style->text_gc[GTK_STATE_SELECTED]; + if (GTK_WIDGET_HAS_FOCUS (render_state->widget)) + fg_gc = render_state->widget->style->text_gc[GTK_STATE_SELECTED]; + else + fg_gc = render_state->widget->style->text_gc [GTK_STATE_ACTIVE]; } else { @@ -494,6 +497,8 @@ render_para (GdkDrawable *drawable, PangoLayoutIter *iter; PangoRectangle layout_logical; int screen_width; + GdkGC *fg_gc, *bg_gc; + gint state; gboolean first = TRUE; @@ -508,6 +513,14 @@ render_para (GdkDrawable *drawable, screen_width = line_display->total_width; + if (GTK_WIDGET_HAS_FOCUS (render_state->widget)) + state = GTK_STATE_SELECTED; + else + state = GTK_STATE_ACTIVE; + + fg_gc = render_state->widget->style->text_gc [state]; + bg_gc = render_state->widget->style->base_gc [state]; + do { PangoLayoutLine *line = pango_layout_iter_get_line (iter); @@ -547,7 +560,7 @@ render_para (GdkDrawable *drawable, selection_end_index > line->length + byte_offset) /* All selected */ { gdk_draw_rectangle (drawable, - render_state->widget->style->base_gc[GTK_STATE_SELECTED], + bg_gc, TRUE, x + line_display->left_margin, selection_y, @@ -577,12 +590,11 @@ render_para (GdkDrawable *drawable, selection_y, selection_height, selection_start_index, selection_end_index); - - gdk_gc_set_clip_region (render_state->widget->style->text_gc [GTK_STATE_SELECTED], clip_region); - gdk_gc_set_clip_region (render_state->widget->style->base_gc [GTK_STATE_SELECTED], clip_region); + gdk_gc_set_clip_region (fg_gc, clip_region); + gdk_gc_set_clip_region (bg_gc, clip_region); gdk_draw_rectangle (drawable, - render_state->widget->style->base_gc[GTK_STATE_SELECTED], + bg_gc, TRUE, x + PANGO_PIXELS (line_rect.x), selection_y, @@ -594,8 +606,8 @@ render_para (GdkDrawable *drawable, y + PANGO_PIXELS (baseline), TRUE); - gdk_gc_set_clip_region (render_state->widget->style->text_gc [GTK_STATE_SELECTED], NULL); - gdk_gc_set_clip_region (render_state->widget->style->base_gc [GTK_STATE_SELECTED], NULL); + gdk_gc_set_clip_region (fg_gc, NULL); + gdk_gc_set_clip_region (bg_gc, NULL); gdk_region_destroy (clip_region); @@ -605,7 +617,7 @@ render_para (GdkDrawable *drawable, (line_display->direction == GTK_TEXT_DIR_RTL && selection_end_index > byte_offset + line->length))) { gdk_draw_rectangle (drawable, - render_state->widget->style->base_gc[GTK_STATE_SELECTED], + bg_gc, TRUE, x + line_display->left_margin, selection_y, @@ -625,7 +637,7 @@ render_para (GdkDrawable *drawable, PANGO_PIXELS (line_rect.x) - PANGO_PIXELS (line_rect.width); gdk_draw_rectangle (drawable, - render_state->widget->style->base_gc[GTK_STATE_SELECTED], + bg_gc, TRUE, x + PANGO_PIXELS (line_rect.x) + PANGO_PIXELS (line_rect.width), selection_y, |