forked from AuroraMiddleware/gtk
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.
This commit is contained in:
parent
13a2db2238
commit
a6101f0181
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user