diff options
author | Daniel Kahn Gillmor <dkg@fifthhorseman.net> | 2022-01-08 11:40:00 -0500 |
---|---|---|
committer | Corentin Noël <tintou@noel.tf> | 2022-06-22 07:22:17 +0000 |
commit | aee49af900b2df48a95dcd7dc8c5dffcbc90d059 (patch) | |
tree | 7fe32b53b8f4904e7d510c2556c190d12283cc64 /libgnomekbd | |
parent | 826cc95889b0a5bb2507d32a2960d2e4eac7a476 (diff) | |
download | libgnomekbd-aee49af900b2df48a95dcd7dc8c5dffcbc90d059.tar.gz |
GkbdKeyboardDrawing: set_key_label_in_layout returns Bidi information
This information (whether a symbol is LTR or RTL) will be useful in
figuring out how to align the symbol on the drawing of the key.
Diffstat (limited to 'libgnomekbd')
-rw-r--r-- | libgnomekbd/gkbd-keyboard-drawing.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libgnomekbd/gkbd-keyboard-drawing.c b/libgnomekbd/gkbd-keyboard-drawing.c index 9271c69..199199b 100644 --- a/libgnomekbd/gkbd-keyboard-drawing.c +++ b/libgnomekbd/gkbd-keyboard-drawing.c @@ -666,12 +666,13 @@ set_markup (GkbdKeyboardDrawingRenderContext * context, gchar * txt) } } -static void +static PangoDirection set_key_label_in_layout (GkbdKeyboardDrawingRenderContext * context, guint keyval) { gchar buf[5]; gunichar uc; + PangoDirection dir = PANGO_DIRECTION_LTR; switch (keyval) { case GDK_KEY_Scroll_Lock: @@ -825,6 +826,7 @@ set_key_label_in_layout (GkbdKeyboardDrawingRenderContext * context, default: uc = gdk_keyval_to_unicode (keyval); if (uc != 0 && g_unichar_isgraph (uc)) { + dir = pango_unichar_direction (uc); buf[g_unichar_to_utf8 (uc, buf)] = '\0'; set_markup (context, buf); } else { @@ -846,6 +848,7 @@ set_key_label_in_layout (GkbdKeyboardDrawingRenderContext * context, set_markup (context, ""); } } + return dir; } |