forked from AuroraMiddleware/gtk
textview: clip to text window when drawing
When drawing the GtkTextView text, we need to clip to the visible area so that we do not risk drawing under the border windows.
This commit is contained in:
parent
605284bc36
commit
7927f7a440
@ -5403,6 +5403,12 @@ draw_text (GtkWidget *widget,
|
|||||||
gtk_snapshot_translate (snapshot, &translate);
|
gtk_snapshot_translate (snapshot, &translate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gtk_snapshot_push_clip (snapshot,
|
||||||
|
&GRAPHENE_RECT_INIT (0,
|
||||||
|
0,
|
||||||
|
SCREEN_WIDTH (widget),
|
||||||
|
SCREEN_HEIGHT (widget)));
|
||||||
|
|
||||||
context = gtk_widget_get_style_context (widget);
|
context = gtk_widget_get_style_context (widget);
|
||||||
gtk_style_context_save_to_node (context, text_view->priv->text_window->css_node);
|
gtk_style_context_save_to_node (context, text_view->priv->text_window->css_node);
|
||||||
gtk_snapshot_render_background (snapshot, context,
|
gtk_snapshot_render_background (snapshot, context,
|
||||||
@ -5433,6 +5439,8 @@ draw_text (GtkWidget *widget,
|
|||||||
gtk_snapshot_restore (snapshot);
|
gtk_snapshot_restore (snapshot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gtk_snapshot_pop (snapshot);
|
||||||
|
|
||||||
if (translate.x || translate.y)
|
if (translate.x || translate.y)
|
||||||
gtk_snapshot_restore (snapshot);
|
gtk_snapshot_restore (snapshot);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user