Commit 605284bc authored by Christian Hergert's avatar Christian Hergert

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.
parent 54ed31eb
Pipeline #114851 passed with stages
in 5 minutes and 44 seconds
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment