diff --git a/eek/eek-gtk-keyboard.c b/eek/eek-gtk-keyboard.c index c846b082..7407bfde 100644 --- a/eek/eek-gtk-keyboard.c +++ b/eek/eek-gtk-keyboard.c @@ -123,7 +123,7 @@ eek_gtk_keyboard_real_draw (GtkWidget *self, list = priv->keyboard->locked_keys; for (const GList *head = list; head; head = g_list_next (head)) { struct button_place place = squeek_view_find_key( - view, ((EekModifierKey *)head->data)->key + view, (struct squeek_key *)head->data ); if (place.button) render_locked_button (self, &place); diff --git a/eek/eek-keyboard.c b/eek/eek-keyboard.c index 794f3e99..66a0f9a2 100644 --- a/eek/eek-keyboard.c +++ b/eek/eek-keyboard.c @@ -38,27 +38,12 @@ #include "eek-keyboard.h" -EekModifierKey * -eek_modifier_key_copy (EekModifierKey *modkey) -{ - return g_slice_dup (EekModifierKey, modkey); -} - -void -eek_modifier_key_free (EekModifierKey *modkey) -{ - g_slice_free (EekModifierKey, modkey); -} - void eek_keyboard_set_key_locked (LevelKeyboard *keyboard, struct squeek_key *key) { - EekModifierKey *modifier_key = g_slice_new (EekModifierKey); - modifier_key->modifiers = 0; - modifier_key->key = key; keyboard->locked_keys = - g_list_prepend (keyboard->locked_keys, modifier_key); + g_list_prepend (keyboard->locked_keys, key); } /// Unlock all locked keys. @@ -69,13 +54,12 @@ eek_keyboard_set_key_locked (LevelKeyboard *keyboard, static int unlock_keys(LevelKeyboard *keyboard) { int handled = 0; for (GList *head = keyboard->locked_keys; head; ) { - EekModifierKey *modifier_key = head->data; + struct squeek_key *key = head->data; GList *next = g_list_next (head); keyboard->locked_keys = g_list_remove_link (keyboard->locked_keys, head); - //squeek_key_set_locked(squeek_button_get_key(modifier_key->button), false); - squeek_layout_set_state_from_press(keyboard->layout, keyboard, modifier_key->key); + squeek_layout_set_state_from_press(keyboard->layout, keyboard, key); g_list_free1 (head); head = next; handled++; diff --git a/eek/eek-keyboard.h b/eek/eek-keyboard.h index cea68499..bf8bb1f7 100644 --- a/eek/eek-keyboard.h +++ b/eek/eek-keyboard.h @@ -33,13 +33,6 @@ G_BEGIN_DECLS -struct _EekModifierKey { - /*< public >*/ - EekModifierType modifiers; - struct squeek_key *key; -}; -typedef struct _EekModifierKey EekModifierKey; - /// Keyboard state holder struct _LevelKeyboard { struct squeek_layout *layout; @@ -48,7 +41,7 @@ struct _LevelKeyboard { size_t keymap_len; // length of the data inside keymap_fd GList *pressed_keys; // struct squeek_key* - GList *locked_keys; // struct EekModifierKey* + GList *locked_keys; // struct squeek_key* guint id; // as a key to layout choices @@ -62,11 +55,6 @@ struct button_place { const struct squeek_button *button; }; -EekModifierKey *eek_modifier_key_copy - (EekModifierKey *modkey); -void eek_modifier_key_free - (EekModifierKey *modkey); - void eek_keyboard_press_key(LevelKeyboard *keyboard, struct squeek_key *key, guint32 timestamp); void eek_keyboard_release_key(LevelKeyboard *keyboard, struct squeek_key *key, guint32 timestamp); diff --git a/eek/eek-symbol.c b/eek/eek-symbol.c deleted file mode 100644 index 7b4b021c..00000000 --- a/eek/eek-symbol.c +++ /dev/null @@ -1,113 +0,0 @@ -/* - * Copyright (C) 2011 Daiki Ueno - * Copyright (C) 2011 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public License - * as published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA - * 02110-1301 USA - */ - -/** - * SECTION:eek-symbol - * @short_description: Base class of a symbol - * - * The #EekSymbolClass class represents a symbol assigned to a key. - */ - -#include "config.h" - -#include "eek-symbol.h" -#include "eek-enumtypes.h" - -EekSymbol * -eek_symbol_new (const gchar *name) -{ - EekSymbol *self = g_new0(EekSymbol, 1); - self->name = g_strdup (name); - self->category = EEK_SYMBOL_CATEGORY_UNKNOWN; - return self; -} - -/** - * eek_symbol_set_label: - * @symbol: an #EekSymbol - * @label: label text of @symbol - * - * Set the label text of @symbol to @label. - */ -void -eek_symbol_set_label (EekSymbol *symbol, - const gchar *label) -{ - g_free (symbol->label); - symbol->label = g_strdup (label); -} - -/** - * eek_symbol_set_modifier_mask: - * @symbol: an #EekSymbol - * @mask: an #EekModifierType - * - * Set modifier mask that @symbol can trigger. - */ -void -eek_symbol_set_modifier_mask (EekSymbol *symbol, - EekModifierType mask) -{ - symbol->modifier_mask = mask; -} - -/** - * eek_symbol_get_modifier_mask: - * @symbol: an #EekSymbol - * - * Get modifier mask that @symbol can trigger. - */ -EekModifierType -eek_symbol_get_modifier_mask (EekSymbol *symbol) -{ - return 0; - return symbol->modifier_mask; -} - -void -eek_symbol_set_icon_name (EekSymbol *symbol, - const gchar *icon_name) -{ - g_free (symbol->icon_name); - symbol->icon_name = g_strdup (icon_name); -} - -const gchar * -eek_symbol_get_icon_name (EekSymbol *symbol) -{ - return NULL; -} - -void -eek_symbol_set_tooltip (EekSymbol *symbol, - const gchar *tooltip) -{ - g_free (symbol->tooltip); - symbol->tooltip = g_strdup (tooltip); -} - -const gchar * -eek_symbol_get_tooltip (EekSymbol *symbol) -{ - return NULL; - if (symbol->tooltip == NULL || *symbol->tooltip == '\0') - return NULL; - return symbol->tooltip; -} diff --git a/eek/eek-types.c b/eek/eek-types.c index 6bd1b9fa..7d3e69dd 100644 --- a/eek/eek-types.c +++ b/eek/eek-types.c @@ -73,28 +73,6 @@ eek_bounds_free (EekBounds *bounds) g_slice_free (EekBounds, bounds); } -/* EekOutline */ -G_DEFINE_BOXED_TYPE(EekOutline, eek_outline, - eek_outline_copy, eek_outline_free); - -EekOutline * -eek_outline_copy (const EekOutline *outline) -{ - EekOutline *_outline = g_slice_dup (EekOutline, outline); - _outline->corner_radius = outline->corner_radius; - _outline->num_points = outline->num_points; - _outline->points = g_slice_alloc0 (sizeof (EekPoint) * outline->num_points); - memcpy (_outline->points, outline->points, sizeof (EekPoint) * outline->num_points); - return _outline; -} - -void -eek_outline_free (EekOutline *outline) -{ - g_slice_free1 (sizeof (EekPoint) * outline->num_points, outline->points); - g_slice_free (EekOutline, outline); -} - /* EekColor */ G_DEFINE_BOXED_TYPE(EekColor, eek_color, eek_color_copy, eek_color_free); @@ -126,9 +104,3 @@ eek_color_new (gdouble red, return color; } - -GQuark -eek_error_quark (void) -{ - return g_quark_from_static_string ("eek-error-quark"); -} diff --git a/eek/eek-types.h b/eek/eek-types.h index 1d37dfc2..db951831 100644 --- a/eek/eek-types.h +++ b/eek/eek-types.h @@ -1,6 +1,7 @@ /* * Copyright (C) 2010-2011 Daiki Ueno * Copyright (C) 2010-2011 Red Hat, Inc. + * Copyright (C) 2019 Purism, SPC * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License @@ -33,116 +34,9 @@ G_BEGIN_DECLS #define EEK_TYPE_POINT (eek_point_get_type ()) #define EEK_TYPE_BOUNDS (eek_bounds_get_type ()) -#define EEK_TYPE_OUTLINE (eek_outline_get_type ()) #define EEK_TYPE_COLOR (eek_color_get_type ()) - -/** - * EekOrientation: - * @EEK_ORIENTATION_VERTICAL: the elements will be arranged vertically - * @EEK_ORIENTATION_HORIZONTAL: the elements will be arranged horizontally - * @EEK_ORIENTATION_INVALID: used for error reporting - * - * Orientation of rows in sections. Elements in a row will be - * arranged with the specified orientation. - */ -typedef enum { - EEK_ORIENTATION_VERTICAL, - EEK_ORIENTATION_HORIZONTAL, - EEK_ORIENTATION_INVALID = -1 -} EekOrientation; - -/** - * EekModifierBehavior: - * @EEK_MODIFIER_BEHAVIOR_NONE: do nothing when a modifier key is pressed - * @EEK_MODIFIER_BEHAVIOR_LOCK: toggle the modifier status each time a - * modifier key are pressed - * @EEK_MODIFIER_BEHAVIOR_LATCH: enable the modifier when a modifier - * key is pressed and keep it enabled until any key is pressed. - * - * Modifier handling mode. - */ -typedef enum { - EEK_MODIFIER_BEHAVIOR_NONE, - EEK_MODIFIER_BEHAVIOR_LOCK, - EEK_MODIFIER_BEHAVIOR_LATCH -} EekModifierBehavior; - -/** - * EekModifierType: - * @EEK_SHIFT_MASK: the Shift key. - * @EEK_LOCK_MASK: a Lock key (depending on the modifier mapping of the - * X server this may either be CapsLock or ShiftLock). - * @EEK_CONTROL_MASK: the Control key. - * @EEK_MOD1_MASK: the fourth modifier key (it depends on the modifier - * mapping of the X server which key is interpreted as this modifier, but - * normally it is the Alt key). - * @EEK_MOD2_MASK: the fifth modifier key (it depends on the modifier - * mapping of the X server which key is interpreted as this modifier). - * @EEK_MOD3_MASK: the sixth modifier key (it depends on the modifier - * mapping of the X server which key is interpreted as this modifier). - * @EEK_MOD4_MASK: the seventh modifier key (it depends on the modifier - * mapping of the X server which key is interpreted as this modifier). - * @EEK_MOD5_MASK: the eighth modifier key (it depends on the modifier - * mapping of the X server which key is interpreted as this modifier). - * @EEK_BUTTON1_MASK: the first mouse button. - * @EEK_BUTTON2_MASK: the second mouse button. - * @EEK_BUTTON3_MASK: the third mouse button. - * @EEK_BUTTON4_MASK: the fourth mouse button. - * @EEK_BUTTON5_MASK: the fifth mouse button. - * @EEK_SUPER_MASK: the Super modifier. Since 2.10 - * @EEK_HYPER_MASK: the Hyper modifier. Since 2.10 - * @EEK_META_MASK: the Meta modifier. Since 2.10 - * @EEK_RELEASE_MASK: not used in EEK itself. GTK+ uses it to differentiate - * between (keyval, modifiers) pairs from key press and release events. - * @EEK_MODIFIER_MASK: a mask covering all modifier types. - */ -typedef enum -{ - EEK_SHIFT_MASK = 1 << 0, - EEK_LOCK_MASK = 1 << 1, - EEK_CONTROL_MASK = 1 << 2, - EEK_MOD1_MASK = 1 << 3, - EEK_MOD2_MASK = 1 << 4, - EEK_MOD3_MASK = 1 << 5, - EEK_MOD4_MASK = 1 << 6, - EEK_MOD5_MASK = 1 << 7, - EEK_BUTTON1_MASK = 1 << 8, - EEK_BUTTON2_MASK = 1 << 9, - EEK_BUTTON3_MASK = 1 << 10, - EEK_BUTTON4_MASK = 1 << 11, - EEK_BUTTON5_MASK = 1 << 12, - - /* The next few modifiers are used by XKB, so we skip to the end. - * Bits 15 - 25 are currently unused. Bit 29 is used internally. - */ - - EEK_SUPER_MASK = 1 << 26, - EEK_HYPER_MASK = 1 << 27, - EEK_META_MASK = 1 << 28, - - EEK_RELEASE_MASK = 1 << 30, - - EEK_MODIFIER_MASK = 0x5c001fff -} EekModifierType; - -/** - * EEK_INVALID_KEYCODE: - * - * Pseudo keycode used for error reporting. - */ -#define EEK_INVALID_KEYCODE (0) - -typedef struct _EekElement EekElement; -typedef struct _EekSymbol EekSymbol; -typedef struct _EekText EekText; -typedef struct _EekTheme EekTheme; -typedef struct _EekThemeContext EekThemeContext; -typedef struct _EekThemeNode EekThemeNode; - -typedef struct _EekSymbolMatrix EekSymbolMatrix; typedef struct _EekBounds EekBounds; -typedef struct _EekOutline EekOutline; typedef struct _EekColor EekColor; typedef struct _EekboardContextService EekboardContextService; @@ -191,26 +85,6 @@ GType eek_bounds_get_type (void) G_GNUC_CONST; EekBounds *eek_bounds_copy (const EekBounds *bounds); void eek_bounds_free (EekBounds *bounds); -/** - * EekOutline: - * @corner_radius: radius of corners of rounded polygon - * @points: an array of points represents a polygon - * @num_points: the length of @points - * - * 2D rounded polygon used to draw key shape - */ -struct _EekOutline -{ - /*< public >*/ - gdouble corner_radius; - EekPoint *points; - guint num_points; -}; - -GType eek_outline_get_type (void) G_GNUC_CONST; -EekOutline *eek_outline_copy (const EekOutline *outline); -void eek_outline_free (EekOutline *outline); - /** * EekColor: * @red: red component of color, between 0.0 and 1.0 @@ -238,20 +112,5 @@ EekColor *eek_color_new (gdouble red, EekColor *eek_color_copy (const EekColor *color); void eek_color_free (EekColor *color); -typedef enum { - EEK_GRADIENT_NONE, - EEK_GRADIENT_VERTICAL, - EEK_GRADIENT_HORIZONTAL, - EEK_GRADIENT_RADIAL -} EekGradientType; - -GQuark eek_error_quark (void); - -#define EEK_ERROR eek_error_quark () -typedef enum { - EEK_ERROR_LAYOUT_ERROR, - EEK_ERROR_FAILED -} EekErrorEnum; - G_END_DECLS #endif /* EEK_TYPES_H */