Merge branch 'wip/chergert/textview-access-to-contexts' into 'master'

textview: give application developers access to RTL and LTR context

See merge request GNOME/gtk!3690
This commit is contained in:
Matthias Clasen 2021-06-19 20:36:44 +00:00
commit 9169315cc1
2 changed files with 50 additions and 0 deletions

View File

@ -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;
}

View File

@ -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