diff options
author | Havoc Pennington <hp@redhat.com> | 2001-01-12 23:23:40 +0000 |
---|---|---|
committer | Havoc Pennington <hp@src.gnome.org> | 2001-01-12 23:23:40 +0000 |
commit | f4b31ff5e6564e8d07f3ae14f378c6f9a8626203 (patch) | |
tree | 1b839b474e3b8a85192bb7e585c1b5e4883a4c53 /gtk/gtktextview.h | |
parent | 8e1a69c28b54d6176339bc375699c34173de2496 (diff) | |
download | gdk-pixbuf-f4b31ff5e6564e8d07f3ae14f378c6f9a8626203.tar.gz |
offset the current invalid region, fixes redraw bug while scrolling the
2001-01-12 Havoc Pennington <hp@redhat.com>
* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): offset the
current invalid region, fixes redraw bug while scrolling the
text widget
* gtk/gtktextview.c, gtk/gtktextview.h:
Rearrange the scrolling/validation/etc. code in a major way,
so it seems to make sense to me. Probably isn't genuinely that
much better, but...
* gtk/gtktexttag.c (set_fg_color): fix name of property used for
notifies
* gtk/gtktextmark.c (gtk_text_mark_get_left_gravity): new function
Diffstat (limited to 'gtk/gtktextview.h')
-rw-r--r-- | gtk/gtktextview.h | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/gtk/gtktextview.h b/gtk/gtktextview.h index 269381605..02b9d11c1 100644 --- a/gtk/gtktextview.h +++ b/gtk/gtktextview.h @@ -56,8 +56,9 @@ typedef enum typedef struct _GtkTextView GtkTextView; typedef struct _GtkTextViewClass GtkTextViewClass; -/* Internal private type. */ +/* Internal private types. */ typedef struct _GtkTextWindow GtkTextWindow; +typedef struct _GtkTextPendingScroll GtkTextPendingScroll; struct _GtkTextView { @@ -89,6 +90,11 @@ struct _GtkTextView /* just selected a word or line via double/triple click */ guint just_selected_element : 1; + /* debug flag - means that we've validated onscreen since the + * last "invalidate" signal from the layout + */ + guint onscreen_validated : 1; + GtkTextWindow *text_window; GtkTextWindow *left_window; GtkTextWindow *right_window; @@ -132,6 +138,8 @@ struct _GtkTextView gint drag_start_y; GSList *children; + + GtkTextPendingScroll *pending_scroll; }; struct _GtkTextViewClass @@ -172,13 +180,19 @@ GtkWidget * gtk_text_view_new_with_buffer (GtkTextBuffer *buffer); void gtk_text_view_set_buffer (GtkTextView *text_view, GtkTextBuffer *buffer); GtkTextBuffer *gtk_text_view_get_buffer (GtkTextView *text_view); -gboolean gtk_text_view_scroll_to_mark (GtkTextView *text_view, +gboolean gtk_text_view_scroll_to_iter (GtkTextView *text_view, + GtkTextIter *iter, + gdouble within_margin, + gboolean use_align, + gdouble xalign, + gdouble yalign); +void gtk_text_view_scroll_to_mark (GtkTextView *text_view, GtkTextMark *mark, gdouble within_margin, gboolean use_align, gdouble xalign, gdouble yalign); -gboolean gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view, +void gtk_text_view_scroll_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark); gboolean gtk_text_view_move_mark_onscreen (GtkTextView *text_view, GtkTextMark *mark); |