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