Omit keys without labels on the current level, update key definitions
This commit is contained in:
@ -609,3 +609,11 @@ void eek_key_set_pressed(EekKey *key, gboolean value)
|
||||
|
||||
priv->is_pressed = value;
|
||||
}
|
||||
|
||||
gboolean
|
||||
eek_key_has_label(EekKey *key)
|
||||
{
|
||||
EekSymbol *symbol = eek_key_get_symbol(key);
|
||||
return (eek_symbol_get_label(symbol) != NULL) ||
|
||||
(eek_symbol_get_icon_name(symbol) != NULL);
|
||||
}
|
||||
|
||||
@ -89,5 +89,7 @@ gboolean eek_key_is_locked (EekKey *key);
|
||||
void eek_key_set_pressed (EekKey *key,
|
||||
gboolean value);
|
||||
|
||||
gboolean eek_key_has_label (EekKey *key);
|
||||
|
||||
G_END_DECLS
|
||||
#endif /* EEK_KEY_H */
|
||||
|
||||
@ -447,6 +447,9 @@ render_key (EekRenderer *self,
|
||||
PangoRectangle extents = { 0, };
|
||||
EekColor foreground;
|
||||
|
||||
if (!eek_key_has_label(key))
|
||||
return;
|
||||
|
||||
oref = eek_key_get_oref (key);
|
||||
outline = eek_keyboard_get_outline (priv->keyboard, oref);
|
||||
if (outline == NULL)
|
||||
|
||||
@ -500,10 +500,6 @@ keysizer(EekElement *element, gpointer user_data)
|
||||
{
|
||||
EekKey *key = EEK_KEY(element);
|
||||
|
||||
/* Skip keys without symbols for the current level. */
|
||||
if (!eek_key_get_symbol(key))
|
||||
return;
|
||||
|
||||
EekKeyboard *keyboard = EEK_KEYBOARD(user_data);
|
||||
uint oref = eek_key_get_oref (key);
|
||||
EekOutline *outline = eek_keyboard_get_outline (keyboard, oref);
|
||||
@ -539,8 +535,8 @@ keycounter (EekElement *element, gpointer user_data)
|
||||
{
|
||||
EekKey *key = EEK_KEY(element);
|
||||
|
||||
/* Skip keys without symbols for the current level. */
|
||||
if (!eek_key_get_symbol(key))
|
||||
/* Skip keys without labels for the current level. */
|
||||
if (!eek_key_has_label(key))
|
||||
return;
|
||||
|
||||
struct keys_info *data = user_data;
|
||||
@ -558,8 +554,8 @@ keyplacer(EekElement *element, gpointer user_data)
|
||||
{
|
||||
EekKey *key = EEK_KEY(element);
|
||||
|
||||
/* Skip keys without symbols for the current level. */
|
||||
if (!eek_key_get_symbol(key))
|
||||
/* Skip keys without labels for the current level. */
|
||||
if (!eek_key_has_label(key))
|
||||
return;
|
||||
|
||||
double *current_offset = user_data;
|
||||
|
||||
Reference in New Issue
Block a user