forked from AuroraMiddleware/gtk
textview: fix textview drawing in presence of gutters
When drawing a left or top gutter, we need to adjust the origin of the text snapshot or we risk the gutter drawing above the text.
This commit is contained in:
parent
54ed31ebaf
commit
605284bc36
@ -5390,6 +5390,18 @@ draw_text (GtkWidget *widget,
|
||||
GtkTextView *text_view = GTK_TEXT_VIEW (widget);
|
||||
GtkTextViewPrivate *priv = text_view->priv;
|
||||
GtkStyleContext *context;
|
||||
graphene_point_t translate = {0};
|
||||
|
||||
if (priv->left_window)
|
||||
translate.x = priv->left_window->allocation.width;
|
||||
if (priv->top_window)
|
||||
translate.y = priv->top_window->allocation.height;
|
||||
|
||||
if (translate.x || translate.y)
|
||||
{
|
||||
gtk_snapshot_save (snapshot);
|
||||
gtk_snapshot_translate (snapshot, &translate);
|
||||
}
|
||||
|
||||
context = gtk_widget_get_style_context (widget);
|
||||
gtk_style_context_save_to_node (context, text_view->priv->text_window->css_node);
|
||||
@ -5420,6 +5432,9 @@ draw_text (GtkWidget *widget,
|
||||
GTK_TEXT_VIEW_GET_CLASS (text_view)->snapshot_layer (text_view, GTK_TEXT_VIEW_LAYER_ABOVE_TEXT, snapshot);
|
||||
gtk_snapshot_restore (snapshot);
|
||||
}
|
||||
|
||||
if (translate.x || translate.y)
|
||||
gtk_snapshot_restore (snapshot);
|
||||
}
|
||||
|
||||
static void
|
||||
|
Loading…
Reference in New Issue
Block a user