From 43df82355afa91623dbecd8d83a498da2782575f Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Wed, 31 Jul 2019 13:45:01 +0000 Subject: [PATCH 1/6] EekKey: Remove column and row fields --- eek/eek-key.c | 46 ---------------------------------------------- eek/eek-key.h | 7 ------- eek/eek-section.c | 2 -- 3 files changed, 55 deletions(-) diff --git a/eek/eek-key.c b/eek/eek-key.c index a2b33381..a730a9f3 100644 --- a/eek/eek-key.c +++ b/eek/eek-key.c @@ -38,8 +38,6 @@ enum { PROP_0, PROP_KEYCODE, PROP_SYMBOL_MATRIX, - PROP_COLUMN, - PROP_ROW, PROP_OREF, PROP_LAST }; @@ -105,8 +103,6 @@ eek_key_set_property (GObject *object, GParamSpec *pspec) { EekSymbolMatrix *matrix; - gint column, row; - switch (prop_id) { case PROP_KEYCODE: eek_key_set_keycode (EEK_KEY(object), g_value_get_uint (value)); @@ -115,14 +111,6 @@ eek_key_set_property (GObject *object, matrix = g_value_get_boxed (value); eek_key_set_symbol_matrix (EEK_KEY(object), matrix); break; - case PROP_COLUMN: - eek_key_get_index (EEK_KEY(object), &column, &row); - eek_key_set_index (EEK_KEY(object), g_value_get_int (value), row); - break; - case PROP_ROW: - eek_key_get_index (EEK_KEY(object), &column, &row); - eek_key_set_index (EEK_KEY(object), column, g_value_get_int (value)); - break; case PROP_OREF: eek_key_set_oref (EEK_KEY(object), g_value_get_uint (value)); break; @@ -138,8 +126,6 @@ eek_key_get_property (GObject *object, GValue *value, GParamSpec *pspec) { - gint column, row; - switch (prop_id) { case PROP_KEYCODE: g_value_set_uint (value, eek_key_get_keycode (EEK_KEY(object))); @@ -148,14 +134,6 @@ eek_key_get_property (GObject *object, g_value_set_boxed (value, eek_key_get_symbol_matrix (EEK_KEY(object))); break; - case PROP_COLUMN: - eek_key_get_index (EEK_KEY(object), &column, &row); - g_value_set_int (value, column); - break; - case PROP_ROW: - eek_key_get_index (EEK_KEY(object), &column, &row); - g_value_set_int (value, row); - break; case PROP_OREF: g_value_set_uint (value, eek_key_get_oref (EEK_KEY(object))); break; @@ -203,30 +181,6 @@ eek_key_class_init (EekKeyClass *klass) G_PARAM_READWRITE); g_object_class_install_property (gobject_class, PROP_SYMBOL_MATRIX, pspec); - /** - * EekKey:column: - * - * The column index of #EekKey in the parent #EekSection. - */ - pspec = g_param_spec_int ("column", - "Column", - "Column index of the key in section", - -1, G_MAXINT, -1, - G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_COLUMN, pspec); - - /** - * EekKey:row: - * - * The row index of #EekKey in the parent #EekSection. - */ - pspec = g_param_spec_int ("row", - "Row", - "Row index of the key in section", - -1, G_MAXINT, -1, - G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_ROW, pspec); - /** * EekKey:oref: * diff --git a/eek/eek-key.h b/eek/eek-key.h index cd6ae4f0..fb82f889 100644 --- a/eek/eek-key.h +++ b/eek/eek-key.h @@ -73,13 +73,6 @@ EekSymbol *eek_key_get_symbol_at_index (EekKey *key, gint fallback_group, gint fallback_level); -void eek_key_set_index (EekKey *key, - gint column, - gint row); -void eek_key_get_index (EekKey *key, - gint *column, - gint *row); - void eek_key_set_oref (EekKey *key, guint oref); guint eek_key_get_oref (EekKey *key); diff --git a/eek/eek-section.c b/eek/eek-section.c index 1168eea3..0fdd9be1 100644 --- a/eek/eek-section.c +++ b/eek/eek-section.c @@ -143,8 +143,6 @@ eek_section_real_create_key (EekSection *self, key = g_object_new (EEK_TYPE_KEY, "name", name, "keycode", keycode, - "column", column_index, - "row", row_index, NULL); g_return_val_if_fail (key, NULL); From 6c1c9794146c8a21891e844a6894af5b81c9aee9 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Wed, 31 Jul 2019 14:00:48 +0000 Subject: [PATCH 2/6] section: Removed multiple rows in section, row/column in key --- eek/eek-container.c | 2 +- eek/eek-key.c | 55 -------------------------------- eek/eek-section.c | 69 ++++++++++++++--------------------------- eek/eek-section.h | 8 ++--- eek/eek-xml-layout.c | 4 +-- tests/eek-simple-test.c | 4 +-- 6 files changed, 30 insertions(+), 112 deletions(-) diff --git a/eek/eek-container.c b/eek/eek-container.c index 6d44dc63..0d8c0dc3 100644 --- a/eek/eek-container.c +++ b/eek/eek-container.c @@ -50,7 +50,7 @@ static void eek_container_real_add_child (EekContainer *self, EekElement *child) { - EekContainerPrivate *priv = eek_container_get_instance_private (self); + EekContainerPrivate *priv = (EekContainerPrivate*)eek_container_get_instance_private (self); g_return_if_fail (EEK_IS_ELEMENT(child)); g_object_ref (child); diff --git a/eek/eek-key.c b/eek/eek-key.c index a730a9f3..91855c6b 100644 --- a/eek/eek-key.c +++ b/eek/eek-key.c @@ -54,8 +54,6 @@ typedef struct _EekKeyPrivate { guint keycode; EekSymbolMatrix *symbol_matrix; - gint column; - gint row; gulong oref; // UI outline reference gboolean is_pressed; gboolean is_locked; @@ -432,59 +430,6 @@ eek_key_get_symbol_at_index (EekKey *key, level]; } -/** - * eek_key_set_index: - * @key: an #EekKey - * @column: column index of @key in #EekSection - * @row: row index of @key in #EekSection - * - * Set the location of @key in #EekSection with @column and @row. - */ -void -eek_key_set_index (EekKey *key, - gint column, - gint row) -{ - g_return_if_fail (EEK_IS_KEY(key)); - g_return_if_fail (0 <= column); - g_return_if_fail (0 <= row); - - EekKeyPrivate *priv = eek_key_get_instance_private (key); - - if (priv->column != column) { - priv->column = column; - g_object_notify (G_OBJECT(key), "column"); - } - if (priv->row != row) { - priv->row = row; - g_object_notify (G_OBJECT(key), "row"); - } -} - -/** - * eek_key_get_index: - * @key: an #EekKey - * @column: (allow-none): pointer where the column index of @key in #EekSection will be stored - * @row: (allow-none): pointer where the row index of @key in #EekSection will be stored - * - * Get the location of @key in #EekSection. - */ -void -eek_key_get_index (EekKey *key, - gint *column, - gint *row) -{ - g_return_if_fail (EEK_IS_KEY(key)); - g_return_if_fail (column != NULL || row != NULL); - - EekKeyPrivate *priv = eek_key_get_instance_private (key); - - if (column != NULL) - *column = priv->column; - if (row != NULL) - *row = priv->row; -} - /** * eek_key_set_oref: * @key: an #EekKey diff --git a/eek/eek-section.c b/eek/eek-section.c index 0fdd9be1..35078e6f 100644 --- a/eek/eek-section.c +++ b/eek/eek-section.c @@ -61,7 +61,7 @@ typedef struct _EekRow EekRow; typedef struct _EekSectionPrivate { gint angle; - GSList *rows; + EekRow row; EekModifierType modifiers; } EekSectionPrivate; @@ -70,9 +70,7 @@ G_DEFINE_TYPE_WITH_PRIVATE (EekSection, eek_section, EEK_TYPE_CONTAINER) static gint eek_section_real_get_n_rows (EekSection *self) { - EekSectionPrivate *priv = eek_section_get_instance_private (self); - - return g_slist_length (priv->rows); +return 1; } static void @@ -80,13 +78,14 @@ eek_section_real_add_row (EekSection *self, gint num_columns, EekOrientation orientation) { - EekSectionPrivate *priv = eek_section_get_instance_private (self); - EekRow *row; - + EekSectionPrivate *priv = (EekSectionPrivate*)eek_section_get_instance_private (self); + priv->row.num_columns = num_columns; + priv->row.orientation = orientation; +/* row = g_slice_new (EekRow); row->num_columns = num_columns; row->orientation = orientation; - priv->rows = g_slist_append (priv->rows, row); + priv->rows = g_slist_append (priv->rows, row);*/ } static void @@ -95,15 +94,14 @@ eek_section_real_get_row (EekSection *self, gint *num_columns, EekOrientation *orientation) { - EekSectionPrivate *priv = eek_section_get_instance_private (self); - EekRow *row; - - row = g_slist_nth_data (priv->rows, index); - g_return_if_fail (row); - if (num_columns) + EekSectionPrivate *priv = (EekSectionPrivate*)eek_section_get_instance_private (self); + EekRow *row = &priv->row; + if (num_columns) { *num_columns = row->num_columns; - if (orientation) + } + if (orientation) { *orientation = row->orientation; + } } static void @@ -123,27 +121,17 @@ on_unlocked (EekKey *key, static EekKey * eek_section_real_create_key (EekSection *self, const gchar *name, - gint keycode, - gint column_index, - gint row_index) + gint keycode) { - EekKey *key; - gint num_rows; - EekRow *row; + EekSectionPrivate *priv = (EekSectionPrivate*)eek_section_get_instance_private (self); - num_rows = eek_section_get_n_rows (self); - g_return_val_if_fail (0 <= row_index && row_index < num_rows, NULL); + EekRow *row = &priv->row; + row->num_columns++; - EekSectionPrivate *priv = eek_section_get_instance_private (self); - - row = g_slist_nth_data (priv->rows, row_index); - if (row->num_columns < column_index + 1) - row->num_columns = column_index + 1; - - key = g_object_new (EEK_TYPE_KEY, - "name", name, - "keycode", keycode, - NULL); + EekKey *key = (EekKey*)g_object_new (EEK_TYPE_KEY, + "name", name, + "keycode", keycode, + NULL); g_return_val_if_fail (key, NULL); EEK_CONTAINER_GET_CLASS(self)->add_child (EEK_CONTAINER(self), @@ -223,12 +211,7 @@ static void eek_section_finalize (GObject *object) { EekSection *self = EEK_SECTION (object); - EekSectionPrivate *priv = eek_section_get_instance_private (self); - GSList *head; - - for (head = priv->rows; head; head = g_slist_next (head)) - g_slice_free (EekRow, head->data); - g_slist_free (priv->rows); + EekSectionPrivate *priv = (EekSectionPrivate*)eek_section_get_instance_private (self); G_OBJECT_CLASS (eek_section_parent_class)->finalize (object); } @@ -473,16 +456,12 @@ eek_section_get_row (EekSection *section, EekKey * eek_section_create_key (EekSection *section, const gchar *name, - gint keycode, - gint column, - gint row) + gint keycode) { g_return_val_if_fail (EEK_IS_SECTION(section), NULL); return EEK_SECTION_GET_CLASS(section)->create_key (section, name, - keycode, - column, - row); + keycode); } const double keyspacing = 4.0; diff --git a/eek/eek-section.h b/eek/eek-section.h index 50baac80..03dfa4cf 100644 --- a/eek/eek-section.h +++ b/eek/eek-section.h @@ -63,9 +63,7 @@ struct _EekSectionClass EekKey *(* create_key) (EekSection *self, const gchar *name, - gint keycode, - gint row, - gint column); + gint keycode); /* signals */ void (* key_pressed) (EekSection *self, @@ -101,9 +99,7 @@ void eek_section_get_row (EekSection *section, EekKey *eek_section_create_key (EekSection *section, const gchar *name, - gint keycode, - gint column, - gint row); + gint keycode); EekKey *eek_section_find_key_by_keycode (EekSection *section, guint keycode); diff --git a/eek/eek-xml-layout.c b/eek/eek-xml-layout.c index d6539804..7fd43192 100644 --- a/eek/eek-xml-layout.c +++ b/eek/eek-xml-layout.c @@ -414,9 +414,7 @@ geometry_start_element_callback (GMarkupParseContext *pcontext, data->key = eek_section_create_key (data->section, name, - keycode, - data->num_columns, - data->num_rows - 1); + keycode); attribute = get_attribute (attribute_names, attribute_values, "oref"); diff --git a/tests/eek-simple-test.c b/tests/eek-simple-test.c index d1cadd77..30abeded 100644 --- a/tests/eek-simple-test.c +++ b/tests/eek-simple-test.c @@ -32,9 +32,9 @@ test_create (void) section = eek_keyboard_create_section (keyboard); g_assert (EEK_IS_SECTION(section)); eek_section_add_row (section, 2, EEK_ORIENTATION_HORIZONTAL); - key0 = eek_section_create_key (section, "key0", 1, 0, 0); + key0 = eek_section_create_key (section, "key0", 1); g_assert (EEK_IS_KEY(key0)); - key1 = eek_section_create_key (section, "key1", 2, 1, 0); + key1 = eek_section_create_key (section, "key1", 2); g_assert (EEK_IS_KEY(key1)); } From b8389f673646b32c7272f5169f4f757adb78e449 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Wed, 31 Jul 2019 15:01:12 +0000 Subject: [PATCH 3/6] symbol: Simplify symbol storage --- eek/eek-keysym.c | 112 +++----------- eek/eek-keysym.h | 17 +-- eek/eek-symbol-matrix.c | 12 +- eek/eek-symbol.c | 282 ++++-------------------------------- eek/eek-symbol.h | 60 ++++++-- eek/eek-text.c | 155 +------------------- eek/eek-text.h | 12 +- eek/eek-types.h | 1 - eek/eek-xml-layout.c | 6 +- eekboard/eekboard-context.c | 23 --- 10 files changed, 114 insertions(+), 566 deletions(-) diff --git a/eek/eek-keysym.c b/eek/eek-keysym.c index a02cb3b4..5518e546 100644 --- a/eek/eek-keysym.c +++ b/eek/eek-keysym.c @@ -48,11 +48,6 @@ #define EEK_KEYSYM_Hyper_L 0xffed #define EEK_KEYSYM_Hyper_R 0xffee -typedef struct _EekKeysymPrivate -{ - guint xkeysym; -} EekKeysymPrivate; - struct _EekKeysymEntry { guint xkeysym; const gchar *name; @@ -64,54 +59,6 @@ typedef struct _EekKeysymEntry EekKeysymEntry; #include "eek-unicode-keysym-entries.h" #include "eek-xkeysym-keysym-entries.h" -static void eek_serializable_iface_init (EekSerializableIface *iface); - -G_DEFINE_TYPE_EXTENDED (EekKeysym, eek_keysym, EEK_TYPE_SYMBOL, - 0, /* GTypeFlags */ - G_ADD_PRIVATE (EekKeysym) - G_IMPLEMENT_INTERFACE (EEK_TYPE_SERIALIZABLE, - eek_serializable_iface_init)) - -static EekSerializableIface *eek_keysym_parent_serializable_iface; - -static void -eek_keysym_real_serialize (EekSerializable *self, - GVariantBuilder *builder) -{ - EekKeysymPrivate *priv = eek_keysym_get_instance_private ( - EEK_KEYSYM(self)); - - eek_keysym_parent_serializable_iface->serialize (self, builder); - - g_variant_builder_add (builder, "u", priv->xkeysym); -} - -static gsize -eek_keysym_real_deserialize (EekSerializable *self, - GVariant *variant, - gsize index) -{ - EekKeysymPrivate *priv = eek_keysym_get_instance_private ( - EEK_KEYSYM(self)); - - index = eek_keysym_parent_serializable_iface->deserialize (self, - variant, - index); - - g_variant_get_child (variant, index++, "u", &priv->xkeysym); - - return index; -} - -static void -eek_serializable_iface_init (EekSerializableIface *iface) -{ - eek_keysym_parent_serializable_iface = - g_type_interface_peek_parent (iface); - - iface->serialize = eek_keysym_real_serialize; - iface->deserialize = eek_keysym_real_deserialize; -} static gchar * unichar_to_utf8 (gunichar uc) @@ -196,18 +143,6 @@ get_modifier_mask (guint xkeysym) return 0; } -static void -eek_keysym_class_init (EekKeysymClass *klass) -{ - /* void */ -} - -static void -eek_keysym_init (EekKeysym *self) -{ - /* void */ -} - /** * eek_keysym_new_with_modifier: * @xkeysym: an X keysym value @@ -216,12 +151,9 @@ eek_keysym_init (EekKeysym *self) * Create an #EekKeysym with given X keysym value @xkeysym and * modifier @modifier_mask. */ -EekKeysym * -eek_keysym_new_with_modifier (guint xkeysym, - EekModifierType modifier_mask) +EekSymbol *eek_keysym_new_with_modifier(guint xkeysym, + EekModifierType modifier_mask) { - EekKeysym *keysym; - EekKeysymPrivate *priv; EekKeysymEntry *special_entry, *xkeysym_entry, *unicode_entry, *unichar_entry; gchar *name, *label; @@ -267,11 +199,10 @@ eek_keysym_new_with_modifier (guint xkeysym, else label = g_strdup (name); - keysym = g_object_new (EEK_TYPE_KEYSYM, - "name", name, - "label", label, - "modifier-mask", modifier_mask, - NULL); + EekSymbol *keysym = eek_symbol_new(name); + eek_symbol_set_label(keysym, label); + eek_symbol_set_modifier_mask(keysym, modifier_mask); + g_free (name); g_free (label); @@ -280,8 +211,7 @@ eek_keysym_new_with_modifier (guint xkeysym, g_slice_free (EekKeysymEntry, unichar_entry); } - priv = eek_keysym_get_instance_private (keysym); - priv->xkeysym = xkeysym; + keysym->xkeysym = xkeysym; return keysym; } @@ -292,7 +222,7 @@ eek_keysym_new_with_modifier (guint xkeysym, * * Create an #EekKeysym with given X keysym value @xkeysym. */ -EekKeysym * +EekSymbol* eek_keysym_new (guint xkeysym) { return eek_keysym_new_with_modifier (xkeysym, get_modifier_mask (xkeysym)); @@ -304,21 +234,16 @@ eek_keysym_new (guint xkeysym) * * Create an #EekKeysym with an X keysym value looked up by @name. */ -EekKeysym * +EekSymbol* eek_keysym_new_from_name (const gchar *name) { - gint i; - - for (i = 0; i < G_N_ELEMENTS(xkeysym_keysym_entries); i++) + for (uint i = 0; i < G_N_ELEMENTS(xkeysym_keysym_entries); i++) if (g_strcmp0 (xkeysym_keysym_entries[i].name, name) == 0) return eek_keysym_new (xkeysym_keysym_entries[i].xkeysym); - // g_warning ("can't find keysym entry for %s", name); - return g_object_new (EEK_TYPE_KEYSYM, - "name", name, - "label", name, - "modifier-mask", 0, - NULL); + EekSymbol *ret = eek_symbol_new(name); + eek_symbol_set_label(ret, name); + return ret; } /** @@ -328,11 +253,10 @@ eek_keysym_new_from_name (const gchar *name) * Get an X keysym value associated with @keysym */ guint -eek_keysym_get_xkeysym (EekKeysym *keysym) +eek_keysym_get_xkeysym (EekSymbol *keysym) { - EekKeysymPrivate *priv; - - g_assert (EEK_IS_KEYSYM(keysym)); - priv = eek_keysym_get_instance_private (keysym); - return priv->xkeysym; + if (keysym->xkeysym == 0) { + g_warning("Symbol %s was expected to have a valid keysym", keysym->name); + } + return keysym->xkeysym; } diff --git a/eek/eek-keysym.h b/eek/eek-keysym.h index 73430b07..e257a9c8 100644 --- a/eek/eek-keysym.h +++ b/eek/eek-keysym.h @@ -37,20 +37,11 @@ G_BEGIN_DECLS */ #define EEK_INVALID_KEYSYM (0) -#define EEK_TYPE_KEYSYM (eek_keysym_get_type()) -G_DECLARE_DERIVABLE_TYPE (EekKeysym, eek_keysym, EEK, KEYSYM, EekSymbol) +EekSymbol *eek_keysym_new (guint xkeysym); +guint eek_keysym_get_xkeysym (EekSymbol *keysym); -struct _EekKeysymClass { - /*< private >*/ - EekSymbolClass parent_class; -}; - -GType eek_keysym_get_type (void) G_GNUC_CONST; -EekKeysym *eek_keysym_new (guint xkeysym); -guint eek_keysym_get_xkeysym (EekKeysym *keysym); - -EekKeysym *eek_keysym_new_from_name (const gchar *name); -EekKeysym *eek_keysym_new_with_modifier (guint xkeysym, +EekSymbol *eek_keysym_new_from_name (const gchar *name); +EekSymbol *eek_keysym_new_with_modifier (guint xkeysym, EekModifierType modifier_mask); G_END_DECLS diff --git a/eek/eek-symbol-matrix.c b/eek/eek-symbol-matrix.c index 63e0e524..cdfa24fb 100644 --- a/eek/eek-symbol-matrix.c +++ b/eek/eek-symbol-matrix.c @@ -36,24 +36,19 @@ EekSymbolMatrix * eek_symbol_matrix_copy (const EekSymbolMatrix *matrix) { EekSymbolMatrix *retval; - gint i, num_symbols = matrix->num_groups * matrix->num_levels; + guint num_symbols = matrix->num_groups * matrix->num_levels; retval = g_slice_dup (EekSymbolMatrix, matrix); retval->data = g_slice_copy (sizeof (EekSymbol *) * num_symbols, matrix->data); - for (i = 0; i < num_symbols; i++) - if (retval->data[i]) - g_object_ref (retval->data[i]); + // FIXME: do a deep copy over the data in EekSymbol return retval; } void eek_symbol_matrix_free (EekSymbolMatrix *matrix) { - gint i, num_symbols = matrix->num_groups * matrix->num_levels; - for (i = 0; i < num_symbols; i++) - if (matrix->data[i]) - g_object_unref (matrix->data[i]); + guint num_symbols = matrix->num_groups * matrix->num_levels; g_slice_free1 (sizeof (EekSymbol *) * num_symbols, matrix->data); g_slice_free (EekSymbolMatrix, matrix); } @@ -79,7 +74,6 @@ eek_symbol_matrix_set_symbol (EekSymbolMatrix *matrix, { g_return_if_fail (group >= 0 && group < matrix->num_groups); g_return_if_fail (level >= 0 && level < matrix->num_levels); - g_return_if_fail (EEK_IS_SYMBOL(symbol)); matrix->data[group * matrix->num_levels + level] = g_object_ref (symbol); } diff --git a/eek/eek-symbol.c b/eek/eek-symbol.c index aff84d67..c17bb532 100644 --- a/eek/eek-symbol.c +++ b/eek/eek-symbol.c @@ -30,204 +30,40 @@ #include "eek-symbol.h" #include "eek-enumtypes.h" -enum { - PROP_0, - PROP_NAME, - PROP_LABEL, - PROP_MODIFIER_MASK, - PROP_ICON_NAME, - PROP_TOOLTIP, - PROP_LAST -}; - -typedef struct _EekSymbolPrivate +void +eek_symbol_destroy (EekSymbol *priv) { - gchar *name; - gchar *label; - EekModifierType modifier_mask; - gchar *icon_name; - gchar *tooltip; -} EekSymbolPrivate; - -G_DEFINE_TYPE_EXTENDED (EekSymbol, - eek_symbol, - G_TYPE_OBJECT, - 0, /* GTypeFlags */ - G_ADD_PRIVATE (EekSymbol)) - -static void -eek_symbol_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - switch (prop_id) { - case PROP_NAME: - eek_symbol_set_name (EEK_SYMBOL(object), g_value_get_string (value)); - break; - case PROP_LABEL: - eek_symbol_set_label (EEK_SYMBOL(object), g_value_get_string (value)); - break; - case PROP_MODIFIER_MASK: - eek_symbol_set_modifier_mask (EEK_SYMBOL(object), - g_value_get_flags (value)); - break; - case PROP_ICON_NAME: - eek_symbol_set_icon_name (EEK_SYMBOL(object), - g_value_get_string (value)); - break; - case PROP_TOOLTIP: - eek_symbol_set_tooltip (EEK_SYMBOL(object), - g_value_get_string (value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -eek_symbol_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - switch (prop_id) { - case PROP_NAME: - g_value_set_string (value, eek_symbol_get_name (EEK_SYMBOL(object))); - break; - case PROP_LABEL: - g_value_set_string (value, eek_symbol_get_label (EEK_SYMBOL(object))); - break; - case PROP_MODIFIER_MASK: - g_value_set_flags (value, - eek_symbol_get_modifier_mask (EEK_SYMBOL(object))); - break; - case PROP_ICON_NAME: - g_value_set_string (value, - eek_symbol_get_icon_name (EEK_SYMBOL(object))); - break; - case PROP_TOOLTIP: - g_value_set_string (value, - eek_symbol_get_tooltip (EEK_SYMBOL(object))); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -eek_symbol_finalize (GObject *object) -{ - EekSymbol *self = EEK_SYMBOL (object); - EekSymbolPrivate *priv = eek_symbol_get_instance_private (self); - g_free (priv->name); g_free (priv->label); g_free (priv->icon_name); g_free (priv->tooltip); - G_OBJECT_CLASS (eek_symbol_parent_class)->finalize (object); + g_free(priv->text); + g_free(priv); } -static void -eek_symbol_class_init (EekSymbolClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GParamSpec *pspec; - - gobject_class->set_property = eek_symbol_set_property; - gobject_class->get_property = eek_symbol_get_property; - gobject_class->finalize = eek_symbol_finalize; - - pspec = g_param_spec_string ("name", - "Name", - "Canonical name of the symbol", - NULL, - G_PARAM_CONSTRUCT | G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_NAME, pspec); - - pspec = g_param_spec_string ("label", - "Label", - "Text used to display the symbol", - NULL, - G_PARAM_CONSTRUCT | G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_LABEL, pspec); - - pspec = g_param_spec_flags ("modifier-mask", - "Modifier mask", - "Modifier mask of the symbol", - EEK_TYPE_MODIFIER_TYPE, - 0, - G_PARAM_CONSTRUCT | G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_MODIFIER_MASK, pspec); - - pspec = g_param_spec_string ("icon-name", - "Icon name", - "Icon name used to render the symbol", - NULL, - G_PARAM_CONSTRUCT | G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_ICON_NAME, pspec); - - pspec = g_param_spec_string ("tooltip", - "Tooltip", - "Tooltip text", - NULL, - G_PARAM_CONSTRUCT | G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_TOOLTIP, pspec); -} - -static void -eek_symbol_init (EekSymbol *self) -{} - -/** - * eek_symbol_new: - * @name: name of the symbol - * - * Create a new #EekSymbol with @name. - */ EekSymbol * eek_symbol_new (const gchar *name) { - return g_object_new (EEK_TYPE_SYMBOL, "name", name, NULL); + EekSymbol *self = g_new0(EekSymbol, 1); + eek_symbol_set_name(self, name); + self->category = EEK_SYMBOL_CATEGORY_UNKNOWN; + return self; } -/** - * eek_symbol_set_name: - * @symbol: an #EekSymbol - * @name: name of the symbol - * - * Set the name of @symbol to @name. - */ void eek_symbol_set_name (EekSymbol *symbol, const gchar *name) { - g_return_if_fail (EEK_IS_SYMBOL(symbol)); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - g_free (priv->name); - priv->name = g_strdup (name); + g_free (symbol->name); + symbol->name = g_strdup (name); } -/** - * eek_symbol_get_name: - * @symbol: an #EekSymbol - * - * Get the name of @symbol. - */ const gchar * eek_symbol_get_name (EekSymbol *symbol) { - g_return_val_if_fail (EEK_IS_SYMBOL(symbol), NULL); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - if (priv->name == NULL || *priv->name == '\0') + if (symbol->name == NULL || *symbol->name == '\0') return NULL; - return priv->name; + return symbol->name; } /** @@ -241,12 +77,8 @@ void eek_symbol_set_label (EekSymbol *symbol, const gchar *label) { - g_return_if_fail (EEK_IS_SYMBOL(symbol)); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - g_free (priv->label); - priv->label = g_strdup (label); + g_free (symbol->label); + symbol->label = g_strdup (label); } /** @@ -258,13 +90,9 @@ eek_symbol_set_label (EekSymbol *symbol, const gchar * eek_symbol_get_label (EekSymbol *symbol) { - g_return_val_if_fail (EEK_IS_SYMBOL(symbol), NULL); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - if (priv->label == NULL || *priv->label == '\0') + if (symbol->label == NULL || *symbol->label == '\0') return NULL; - return priv->label; + return symbol->label; } /** @@ -278,11 +106,7 @@ void eek_symbol_set_modifier_mask (EekSymbol *symbol, EekModifierType mask) { - g_return_if_fail (EEK_IS_SYMBOL(symbol)); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - priv->modifier_mask = mask; + symbol->modifier_mask = mask; } /** @@ -294,97 +118,43 @@ eek_symbol_set_modifier_mask (EekSymbol *symbol, EekModifierType eek_symbol_get_modifier_mask (EekSymbol *symbol) { - g_return_val_if_fail (EEK_IS_SYMBOL(symbol), 0); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - return priv->modifier_mask; + return symbol->modifier_mask; } -/** - * eek_symbol_is_modifier: - * @symbol: an #EekSymbol - * - * Check if @symbol is a modifier. - * Returns: %TRUE if @symbol is a modifier. - */ gboolean eek_symbol_is_modifier (EekSymbol *symbol) { return eek_symbol_get_modifier_mask (symbol) != 0; } -/** - * eek_symbol_set_icon_name: - * @symbol: an #EekSymbol - * @icon_name: icon name of @symbol - * - * Set the icon name of @symbol to @icon_name. - */ void eek_symbol_set_icon_name (EekSymbol *symbol, const gchar *icon_name) { - g_return_if_fail (EEK_IS_SYMBOL(symbol)); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - g_free (priv->icon_name); - priv->icon_name = g_strdup (icon_name); + g_free (symbol->icon_name); + symbol->icon_name = g_strdup (icon_name); } -/** - * eek_symbol_get_icon_name: - * @symbol: an #EekSymbol - * - * Get the icon name of @symbol. - */ const gchar * eek_symbol_get_icon_name (EekSymbol *symbol) { - g_return_val_if_fail (EEK_IS_SYMBOL(symbol), NULL); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - if (priv->icon_name == NULL || *priv->icon_name == '\0') + if (symbol->icon_name == NULL || *symbol->icon_name == '\0') return NULL; - return priv->icon_name; + return symbol->icon_name; } -/** - * eek_symbol_set_tooltip: - * @symbol: an #EekSymbol - * @tooltip: icon name of @symbol - * - * Set the tooltip text of @symbol to @tooltip. - */ void eek_symbol_set_tooltip (EekSymbol *symbol, const gchar *tooltip) { - g_return_if_fail (EEK_IS_SYMBOL(symbol)); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - g_free (priv->tooltip); - priv->tooltip = g_strdup (tooltip); + g_free (symbol->tooltip); + symbol->tooltip = g_strdup (tooltip); } -/** - * eek_symbol_get_tooltip: - * @symbol: an #EekSymbol - * - * Get the tooltip text of @symbol. - */ const gchar * eek_symbol_get_tooltip (EekSymbol *symbol) { - g_return_val_if_fail (EEK_IS_SYMBOL(symbol), NULL); - - EekSymbolPrivate *priv = eek_symbol_get_instance_private (symbol); - - if (priv->tooltip == NULL || *priv->tooltip == '\0') + if (symbol->tooltip == NULL || *symbol->tooltip == '\0') return NULL; - return priv->tooltip; + return symbol->tooltip; } - diff --git a/eek/eek-symbol.h b/eek/eek-symbol.h index eaf84d77..6a0bcfbc 100644 --- a/eek/eek-symbol.h +++ b/eek/eek-symbol.h @@ -29,26 +29,65 @@ G_BEGIN_DECLS -#define EEK_TYPE_SYMBOL (eek_symbol_get_type()) -G_DECLARE_DERIVABLE_TYPE(EekSymbol, eek_symbol, EEK, SYMBOL, GObject) - /** - * EekSymbolClass: + * EekSymbolCategory: + * @EEK_SYMBOL_CATEGORY_LETTER: the symbol represents an alphabet letter + * @EEK_SYMBOL_CATEGORY_FUNCTION: the symbol represents a function + * @EEK_SYMBOL_CATEGORY_KEYNAME: the symbol does not have meaning but + * have a name + * @EEK_SYMBOL_CATEGORY_USER0: reserved for future use + * @EEK_SYMBOL_CATEGORY_USER1: reserved for future use + * @EEK_SYMBOL_CATEGORY_USER2: reserved for future use + * @EEK_SYMBOL_CATEGORY_USER3: reserved for future use + * @EEK_SYMBOL_CATEGORY_USER4: reserved for future use + * @EEK_SYMBOL_CATEGORY_UNKNOWN: used for error reporting + * @EEK_SYMBOL_CATEGORY_LAST: the last symbol category + * + * Category of the key symbols. */ -struct _EekSymbolClass { - /*< private >*/ - GObjectClass parent_class; -}; +typedef enum { + EEK_SYMBOL_CATEGORY_LETTER, + EEK_SYMBOL_CATEGORY_FUNCTION, + EEK_SYMBOL_CATEGORY_KEYNAME, + EEK_SYMBOL_CATEGORY_USER0, + EEK_SYMBOL_CATEGORY_USER1, + EEK_SYMBOL_CATEGORY_USER2, + EEK_SYMBOL_CATEGORY_USER3, + EEK_SYMBOL_CATEGORY_USER4, + EEK_SYMBOL_CATEGORY_UNKNOWN, + EEK_SYMBOL_CATEGORY_LAST = EEK_SYMBOL_CATEGORY_UNKNOWN +} EekSymbolCategory; -GType eek_symbol_get_type (void) G_GNUC_CONST; + +typedef struct _EekSymbol +{ + /// Canonical name of the symbol + gchar *name; + /// Text used to display the symbol + gchar *label; + EekSymbolCategory category; + EekModifierType modifier_mask; + /// Icon name used to render the symbol + gchar *icon_name; + /// Tooltip text + gchar *tooltip; + + // May not be present + guint xkeysym; + gchar *text; +} EekSymbol; EekSymbol *eek_symbol_new (const gchar *name); +void eek_symbol_free (EekSymbol *symbol); void eek_symbol_set_name (EekSymbol *symbol, const gchar *name); const gchar *eek_symbol_get_name (EekSymbol *symbol); void eek_symbol_set_label (EekSymbol *symbol, const gchar *label); const gchar *eek_symbol_get_label (EekSymbol *symbol); +void eek_symbol_set_category (EekSymbol *symbol, + EekSymbolCategory category); +EekSymbolCategory eek_symbol_get_category (EekSymbol *symbol); EekModifierType eek_symbol_get_modifier_mask (EekSymbol *symbol); void eek_symbol_set_modifier_mask (EekSymbol *symbol, EekModifierType mask); @@ -60,6 +99,9 @@ void eek_symbol_set_tooltip (EekSymbol *symbol, const gchar *tooltip); const gchar * eek_symbol_get_tooltip (EekSymbol *symbol); +const gchar *eek_symbol_category_get_name (EekSymbolCategory category); +EekSymbolCategory eek_symbol_category_from_name (const gchar *name); + G_END_DECLS #endif /* EEK_SYMBOL_H */ diff --git a/eek/eek-text.c b/eek/eek-text.c index d05d6949..f92742fd 100644 --- a/eek/eek-text.c +++ b/eek/eek-text.c @@ -26,159 +26,18 @@ #include "config.h" #include "eek-text.h" -#include "eek-serializable.h" -enum { - PROP_0, - PROP_TEXT, - PROP_LAST -}; - -typedef struct _EekTextPrivate -{ - gchar *text; -} EekTextPrivate; - -static void eek_serializable_iface_init (EekSerializableIface *iface); - -G_DEFINE_TYPE_EXTENDED (EekText, - eek_text, - EEK_TYPE_SYMBOL, - 0, /* GTypeFlags */ - G_ADD_PRIVATE (EekText) - G_IMPLEMENT_INTERFACE (EEK_TYPE_SERIALIZABLE, - eek_serializable_iface_init)) - -static EekSerializableIface *eek_text_parent_serializable_iface; - -static void -eek_text_real_serialize (EekSerializable *self, - GVariantBuilder *builder) -{ - EekTextPrivate *priv = eek_text_get_instance_private (EEK_TEXT (self)); - - eek_text_parent_serializable_iface->serialize (self, builder); - - g_variant_builder_add (builder, "s", priv->text); -} - -static gsize -eek_text_real_deserialize (EekSerializable *self, - GVariant *variant, - gsize index) -{ - EekTextPrivate *priv = eek_text_get_instance_private (EEK_TEXT (self)); - - index = eek_text_parent_serializable_iface->deserialize (self, - variant, - index); - g_variant_get_child (variant, index++, "s", &priv->text); - - return index; -} - -static void -eek_serializable_iface_init (EekSerializableIface *iface) -{ - eek_text_parent_serializable_iface = - g_type_interface_peek_parent (iface); - - iface->serialize = eek_text_real_serialize; - iface->deserialize = eek_text_real_deserialize; -} - -static void -eek_text_set_property (GObject *object, - guint prop_id, - const GValue *value, - GParamSpec *pspec) -{ - EekText *self = EEK_TEXT (object); - EekTextPrivate *priv = eek_text_get_instance_private (self); - - switch (prop_id) { - case PROP_TEXT: - g_free (priv->text); - priv->text = g_strdup (g_value_get_string (value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -eek_text_get_property (GObject *object, - guint prop_id, - GValue *value, - GParamSpec *pspec) -{ - EekText *self = EEK_TEXT (object); - EekTextPrivate *priv = eek_text_get_instance_private (self); - - switch (prop_id) { - case PROP_TEXT: - g_value_set_string (value, priv->text); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -eek_text_finalize (GObject *object) -{ - EekText *self = EEK_TEXT (object); - EekTextPrivate *priv = eek_text_get_instance_private (self); - - g_free (priv->text); - G_OBJECT_CLASS (eek_text_parent_class)->finalize (object); -} - -static void -eek_text_class_init (EekTextClass *klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GParamSpec *pspec; - - gobject_class->set_property = eek_text_set_property; - gobject_class->get_property = eek_text_get_property; - gobject_class->finalize = eek_text_finalize; - - pspec = g_param_spec_string ("text", - "Text", - "Text", - NULL, - G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE); - g_object_class_install_property (gobject_class, PROP_TEXT, pspec); -} - -static void -eek_text_init (EekText *self) -{ - /* void */ -} - -EekText * +EekSymbol * eek_text_new (const gchar *text) { - return g_object_new (EEK_TYPE_TEXT, - "label", text, - "text", text, - NULL); + EekSymbol *ret = eek_symbol_new(""); + eek_symbol_set_label(ret, text); + ret->text = g_strdup (text); + return ret; } -/** - * eek_text_get_text: - * @text: an #EekText - * - * Get a text value associated with @text - */ const gchar * -eek_text_get_text (EekText *text) +eek_text_get_text (EekSymbol *text) { - EekTextPrivate *priv = eek_text_get_instance_private (text); - - return priv->text; + return text->text; } diff --git a/eek/eek-text.h b/eek/eek-text.h index 68183548..ca4f0940 100644 --- a/eek/eek-text.h +++ b/eek/eek-text.h @@ -29,17 +29,9 @@ G_BEGIN_DECLS -#define EEK_TYPE_TEXT (eek_text_get_type()) -G_DECLARE_DERIVABLE_TYPE(EekText, eek_text, EEK, TEXT, EekSymbol) - -struct _EekTextClass { - /*< private >*/ - EekSymbolClass parent_class; -}; - GType eek_text_get_type (void) G_GNUC_CONST; -EekText *eek_text_new (const gchar *text); -const gchar *eek_text_get_text (EekText *text); +EekSymbol *eek_text_new (const gchar *text); +const gchar *eek_text_get_text (EekSymbol *text); G_END_DECLS diff --git a/eek/eek-types.h b/eek/eek-types.h index 015b9a90..7f3b9eea 100644 --- a/eek/eek-types.h +++ b/eek/eek-types.h @@ -139,7 +139,6 @@ typedef struct _EekKey EekKey; typedef struct _EekSection EekSection; typedef struct _EekKeyboard EekKeyboard; typedef struct _EekSymbol EekSymbol; -typedef struct _EekKeysym EekKeysym; typedef struct _EekText EekText; typedef struct _EekTheme EekTheme; typedef struct _EekThemeContext EekThemeContext; diff --git a/eek/eek-xml-layout.c b/eek/eek-xml-layout.c index 7fd43192..28eb843c 100644 --- a/eek/eek-xml-layout.c +++ b/eek/eek-xml-layout.c @@ -735,14 +735,14 @@ symbols_end_element_callback (GMarkupParseContext *pcontext, EekSymbol *symbol; if (g_strcmp0 (element_name, "keysym") == 0) { - EekKeysym *keysym; + EekSymbol *keysym; if (data->keyval != EEK_INVALID_KEYSYM) keysym = eek_keysym_new (data->keyval); else keysym = eek_keysym_new_from_name (text); - symbol = EEK_SYMBOL(keysym); + symbol = keysym; } else if (g_strcmp0 (element_name, "text") == 0) { - symbol = EEK_SYMBOL(eek_text_new (text)); + symbol = eek_text_new (text); } else { symbol = eek_symbol_new (text); } diff --git a/eekboard/eekboard-context.c b/eekboard/eekboard-context.c index a5bfddbc..50823578 100644 --- a/eekboard/eekboard-context.c +++ b/eekboard/eekboard-context.c @@ -35,7 +35,6 @@ enum { ENABLED, DISABLED, DESTROYED, - KEY_ACTIVATED, LAST_SIGNAL }; @@ -81,28 +80,6 @@ eekboard_context_real_g_signal (GDBusProxy *self, return; } - if (g_strcmp0 (signal_name, "KeyActivated") == 0) { - guint keycode; - GVariant *variant = NULL; - guint modifiers = 0; - EekSerializable *serializable; - - g_variant_get (parameters, "(uvu)", - &keycode, &variant, &modifiers); - g_return_if_fail (variant != NULL); - - serializable = eek_serializable_deserialize (variant); - g_variant_unref (variant); - - g_return_if_fail (EEK_IS_SYMBOL(serializable)); - - g_signal_emit (context, signals[KEY_ACTIVATED], 0, - keycode, EEK_SYMBOL(serializable), modifiers); - g_object_unref (serializable); - - return; - } - if (g_strcmp0 (signal_name, "VisibilityChanged") == 0) { gboolean visible = FALSE; From e5858bf698ef9962d6eeef5ff41d7742b993bb17 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Thu, 1 Aug 2019 12:32:04 +0000 Subject: [PATCH 4/6] context: Remove vestigial key-activated --- eekboard/eekboard-context.c | 34 ---------------------------------- eekboard/eekboard-context.h | 5 ----- 2 files changed, 39 deletions(-) diff --git a/eekboard/eekboard-context.c b/eekboard/eekboard-context.c index 50823578..a5596d44 100644 --- a/eekboard/eekboard-context.c +++ b/eekboard/eekboard-context.c @@ -126,14 +126,6 @@ eekboard_context_real_destroyed (EekboardContext *self) { } -static void -eekboard_context_real_key_activated (EekboardContext *self, - guint keycode, - EekSymbol *symbol, - guint modifiers) -{ -} - static void eekboard_context_get_property (GObject *object, guint prop_id, @@ -163,7 +155,6 @@ eekboard_context_class_init (EekboardContextClass *klass) klass->enabled = eekboard_context_real_enabled; klass->disabled = eekboard_context_real_disabled; klass->destroyed = eekboard_context_real_destroyed; - klass->key_activated = eekboard_context_real_key_activated; proxy_class->g_signal = eekboard_context_real_g_signal; @@ -217,31 +208,6 @@ eekboard_context_class_init (EekboardContextClass *klass) G_TYPE_NONE, 0); - /** - * EekboardContext::key-activated: - * @context: an #EekboardContext - * @keycode: a keycode - * @symbol: an #EekSymbol - * @modifiers: modifiers - * - * The ::key-activated signal is emitted each time a key is - * pressed in @context. - */ - /* - signals[KEY_ACTIVATED] = - g_signal_new (I_("key-activated"), - G_TYPE_FROM_CLASS(gobject_class), - G_SIGNAL_RUN_LAST, - G_STRUCT_OFFSET(EekboardContextClass, key_activated), - NULL, - NULL, - _eekboard_marshal_VOID__UINT_OBJECT_UINT, - G_TYPE_NONE, - 3, - G_TYPE_UINT, - G_TYPE_OBJECT, - G_TYPE_UINT); -*/ /** * EekboardContext::destroyed: * @context: an #EekboardContext diff --git a/eekboard/eekboard-context.h b/eekboard/eekboard-context.h index 8eda6c30..378a48dc 100644 --- a/eekboard/eekboard-context.h +++ b/eekboard/eekboard-context.h @@ -47,11 +47,6 @@ struct _EekboardContextClass { void (*disabled) (EekboardContext *self); void (*destroyed) (EekboardContext *self); - void (*key_activated) (EekboardContext *self, - guint keycode, - EekSymbol *symbol, - guint modifiers); - /*< private >*/ /* padding */ gpointer pdummy[24]; From c1c0cb6b3163817e7e05e6887e3ff1011cc1eb55 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Thu, 1 Aug 2019 13:00:52 +0000 Subject: [PATCH 5/6] Fix unused function --- eekboard/key-emitter.c | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/eekboard/key-emitter.c b/eekboard/key-emitter.c index 40d7c7b0..79dbfa96 100644 --- a/eekboard/key-emitter.c +++ b/eekboard/key-emitter.c @@ -48,26 +48,6 @@ int send_virtual_keyboard_key( return 0; } -static void -send_fake_modifiers_events (SeatEmitter *emitter, - EekModifierType modifiers, - uint32_t timestamp) -{ - (void)timestamp; - - uint32_t proto_modifiers = 0; - if (modifiers & EEK_SHIFT_MASK) { - proto_modifiers |= 1<virtual_keyboard, proto_modifiers, 0, 0, emitter->group); -} - /* Finds the first key code for each modifier and saves it in modifier_keycodes */ static void update_modifier_info (SeatEmitter *client) From f7dd4c84b1b675784331d7321fad5d8af826e8f8 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Thu, 1 Aug 2019 19:12:56 +0000 Subject: [PATCH 6/6] renderer: Render label directly --- eek/eek-renderer.c | 15 +-------------- eek/eek-renderer.h | 4 ---- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/eek/eek-renderer.c b/eek/eek-renderer.c index 5e4aeba8..40f5445f 100644 --- a/eek/eek-renderer.c +++ b/eek/eek-renderer.c @@ -424,7 +424,7 @@ render_key (EekRenderer *self, /* render label */ layout = pango_cairo_create_layout (cr); - eek_renderer_render_key_label (self, layout, key); + eek_renderer_real_render_key_label (self, layout, key); pango_layout_get_extents (layout, NULL, &extents); cairo_save (cr); @@ -689,7 +689,6 @@ eek_renderer_class_init (EekRendererClass *klass) GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GParamSpec *pspec; - klass->render_key_label = eek_renderer_real_render_key_label; klass->render_key_outline = eek_renderer_real_render_key_outline; klass->render_key = eek_renderer_real_render_key; klass->render_keyboard = eek_renderer_real_render_keyboard; @@ -932,18 +931,6 @@ eek_renderer_create_pango_layout (EekRenderer *renderer) return pango_layout_new (priv->pcontext); } -void -eek_renderer_render_key_label (EekRenderer *renderer, - PangoLayout *layout, - EekKey *key) -{ - g_return_if_fail (EEK_IS_RENDERER(renderer)); - g_return_if_fail (EEK_IS_KEY(key)); - - EEK_RENDERER_GET_CLASS(renderer)-> - render_key_label (renderer, layout, key); -} - void eek_renderer_render_key_outline (EekRenderer *renderer, cairo_t *cr, diff --git a/eek/eek-renderer.h b/eek/eek-renderer.h index d301356b..4f65ce3e 100644 --- a/eek/eek-renderer.h +++ b/eek/eek-renderer.h @@ -37,10 +37,6 @@ struct _EekRendererClass { GObjectClass parent_class; - void (* render_key_label) (EekRenderer *self, - PangoLayout *layout, - EekKey *key); - void (* render_key_outline) (EekRenderer *self, cairo_t *cr, EekKey *key,