locking: Move to squeek_key
This commit is contained in:
@ -46,7 +46,6 @@ typedef struct _EekKeyPrivate
|
|||||||
{
|
{
|
||||||
gulong oref; // UI outline reference
|
gulong oref; // UI outline reference
|
||||||
struct squeek_key *state;
|
struct squeek_key *state;
|
||||||
gboolean is_locked;
|
|
||||||
} EekKeyPrivate;
|
} EekKeyPrivate;
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_PRIVATE (EekKey, eek_key, EEK_TYPE_ELEMENT)
|
G_DEFINE_TYPE_WITH_PRIVATE (EekKey, eek_key, EEK_TYPE_ELEMENT)
|
||||||
@ -55,7 +54,7 @@ void
|
|||||||
eek_key_set_locked (EekKey *self, gboolean value)
|
eek_key_set_locked (EekKey *self, gboolean value)
|
||||||
{
|
{
|
||||||
EekKeyPrivate *priv = eek_key_get_instance_private (self);
|
EekKeyPrivate *priv = eek_key_get_instance_private (self);
|
||||||
priv->is_locked = value;
|
squeek_key_set_pressed(priv->state, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -261,7 +260,7 @@ eek_key_is_locked (EekKey *key)
|
|||||||
|
|
||||||
EekKeyPrivate *priv = eek_key_get_instance_private (key);
|
EekKeyPrivate *priv = eek_key_get_instance_private (key);
|
||||||
|
|
||||||
return priv->is_locked;
|
return (bool)squeek_key_is_locked(priv->state);
|
||||||
}
|
}
|
||||||
|
|
||||||
void eek_key_set_pressed(EekKey *key, gboolean value)
|
void eek_key_set_pressed(EekKey *key, gboolean value)
|
||||||
|
|||||||
@ -59,8 +59,6 @@ enum {
|
|||||||
VIEW_SYMBOLS
|
VIEW_SYMBOLS
|
||||||
};
|
};
|
||||||
|
|
||||||
static guint signals[LAST_SIGNAL] = { 0, };
|
|
||||||
|
|
||||||
#define EEK_KEYBOARD_GET_PRIVATE(obj) \
|
#define EEK_KEYBOARD_GET_PRIVATE(obj) \
|
||||||
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_KEYBOARD, EekKeyboardPrivate))
|
(G_TYPE_INSTANCE_GET_PRIVATE ((obj), EEK_TYPE_KEYBOARD, EekKeyboardPrivate))
|
||||||
|
|
||||||
|
|||||||
@ -15,6 +15,8 @@ void squeek_key_add_symbol(struct squeek_key* key,
|
|||||||
const char *tooltip);
|
const char *tooltip);
|
||||||
uint32_t squeek_key_is_pressed(struct squeek_key *key);
|
uint32_t squeek_key_is_pressed(struct squeek_key *key);
|
||||||
void squeek_key_set_pressed(struct squeek_key *key, uint32_t pressed);
|
void squeek_key_set_pressed(struct squeek_key *key, uint32_t pressed);
|
||||||
|
uint32_t squeek_key_is_locked(struct squeek_key *key);
|
||||||
|
void squeek_key_set_locked(struct squeek_key *key, uint32_t pressed);
|
||||||
uint32_t squeek_key_get_keycode(struct squeek_key *key);
|
uint32_t squeek_key_get_keycode(struct squeek_key *key);
|
||||||
void squeek_key_set_keycode(struct squeek_key *key, uint32_t keycode);
|
void squeek_key_set_keycode(struct squeek_key *key, uint32_t keycode);
|
||||||
|
|
||||||
|
|||||||
@ -27,6 +27,7 @@ pub mod c {
|
|||||||
Box::into_raw(Box::new(
|
Box::into_raw(Box::new(
|
||||||
KeyState {
|
KeyState {
|
||||||
pressed: false,
|
pressed: false,
|
||||||
|
locked: false,
|
||||||
keycode: keycode,
|
keycode: keycode,
|
||||||
symbols: Vec::new(),
|
symbols: Vec::new(),
|
||||||
}
|
}
|
||||||
@ -53,6 +54,20 @@ pub mod c {
|
|||||||
key.pressed = pressed != 0;
|
key.pressed = pressed != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub extern "C"
|
||||||
|
fn squeek_key_is_locked(key: *const KeyState) -> u32 {
|
||||||
|
let key = unsafe { &*key };
|
||||||
|
return key.locked as u32;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub extern "C"
|
||||||
|
fn squeek_key_set_locked(key: *mut KeyState, locked: u32) {
|
||||||
|
let key = unsafe { &mut *key };
|
||||||
|
key.locked = locked != 0;
|
||||||
|
}
|
||||||
|
|
||||||
#[no_mangle]
|
#[no_mangle]
|
||||||
pub extern "C"
|
pub extern "C"
|
||||||
fn squeek_key_get_keycode(key: *const KeyState) -> u32 {
|
fn squeek_key_get_keycode(key: *const KeyState) -> u32 {
|
||||||
@ -232,6 +247,7 @@ pub mod c {
|
|||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
pub struct KeyState {
|
pub struct KeyState {
|
||||||
pressed: bool,
|
pressed: bool,
|
||||||
|
locked: bool,
|
||||||
keycode: u32,
|
keycode: u32,
|
||||||
symbols: Vec<symbol::Symbol>,
|
symbols: Vec<symbol::Symbol>,
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user