Commit a6101f01 authored by Christian Hergert's avatar Christian Hergert
Browse files

textview: give application developers access to RTL and LTR context

This allows developers to modify the pango context that is used when
rendering text within the text view.

Such access can be useful to alter how rounding occurs with API such as
pango_context_set_round_glyph_positions() and is needed by GtkSourceView
for proper placement of glyphs within the overview map.
parent 13a2db22
Pipeline #290787 passed with stages
in 66 minutes and 17 seconds
......@@ -9963,3 +9963,49 @@ gtk_text_view_buffer_notify_undo (GtkTextBuffer *buffer,
(gtk_text_view_get_editable (view) &&
gtk_text_buffer_get_can_undo (buffer)));
}
/**
* gtk_text_view_get_ltr_context:
* @text_view: a `GtkTextView`
*
* Gets the `PangoContext` that is used for rendering LTR directed
* text layouts.
*
* The context may be replaced when CSS changes occur.
*
* Returns: (transfer none): a `PangoContext`
*
* Since: 4.4
*/
PangoContext *
gtk_text_view_get_ltr_context (GtkTextView *text_view)
{
g_return_val_if_fail (GTK_IS_TEXT_VIEW (text_view), NULL);
gtk_text_view_ensure_layout (text_view);
return text_view->priv->layout->ltr_context;
}
/**
* gtk_text_view_get_rtl_context:
* @text_view: a `GtkTextView`
*
* Gets the `PangoContext` that is used for rendering RTL directed
* text layouts.
*
* The context may be replaced when CSS changes occur.
*
* Returns: (transfer none): a `PangoContext`
*
* Since: 4.4
*/
PangoContext *
gtk_text_view_get_rtl_context (GtkTextView *text_view)
{
g_return_val_if_fail (GTK_IS_TEXT_VIEW (text_view), NULL);
gtk_text_view_ensure_layout (text_view);
return text_view->priv->layout->rtl_context;
}
......@@ -427,6 +427,10 @@ void gtk_text_view_set_extra_menu (GtkTextView *text_vi
GMenuModel *model);
GDK_AVAILABLE_IN_ALL
GMenuModel * gtk_text_view_get_extra_menu (GtkTextView *text_view);
GDK_AVAILABLE_IN_ALL
PangoContext *gtk_text_view_get_rtl_context (GtkTextView *text_view);
GDK_AVAILABLE_IN_ALL
PangoContext *gtk_text_view_get_ltr_context (GtkTextView *text_view);
G_END_DECLS
......
Supports Markdown
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