Merge branch 'cleanup' into 'master'
cleanup: Unused types See merge request Librem5/squeekboard!222
This commit is contained in:
@ -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);
|
||||
|
||||
@ -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++;
|
||||
|
||||
@ -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);
|
||||
|
||||
|
||||
113
eek/eek-symbol.c
113
eek/eek-symbol.c
@ -1,113 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) 2011 Daiki Ueno <ueno@unixuser.org>
|
||||
* 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;
|
||||
}
|
||||
@ -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");
|
||||
}
|
||||
|
||||
143
eek/eek-types.h
143
eek/eek-types.h
@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright (C) 2010-2011 Daiki Ueno <ueno@unixuser.org>
|
||||
* 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 */
|
||||
|
||||
Reference in New Issue
Block a user