2012-01-03 15:56:05 -05:00
|
|
|
#ifndef _UNLOCK_INDICATOR_H
|
|
|
|
#define _UNLOCK_INDICATOR_H
|
|
|
|
|
2017-05-30 18:34:02 -04:00
|
|
|
#include <ev.h>
|
|
|
|
|
2017-11-19 15:12:43 -05:00
|
|
|
typedef struct rgb {
|
|
|
|
uint32_t red;
|
|
|
|
uint32_t green;
|
|
|
|
uint32_t blue;
|
|
|
|
} rgb_t;
|
|
|
|
|
|
|
|
typedef struct rgb_str {
|
|
|
|
char red[3];
|
|
|
|
char green[3];
|
|
|
|
char blue[3];
|
|
|
|
} rgb_str_t;
|
|
|
|
|
|
|
|
typedef struct rgba {
|
|
|
|
uint32_t red;
|
|
|
|
uint32_t green;
|
|
|
|
uint32_t blue;
|
|
|
|
uint32_t alpha;
|
|
|
|
} rgba_t;
|
|
|
|
|
|
|
|
typedef struct rgba_str {
|
|
|
|
char red[3];
|
|
|
|
char green[3];
|
|
|
|
char blue[3];
|
|
|
|
char alpha[3];
|
|
|
|
} rgba_str_t;
|
|
|
|
|
2012-01-03 15:56:05 -05:00
|
|
|
typedef enum {
|
2015-03-16 13:47:16 -04:00
|
|
|
STATE_STARTED = 0, /* default state */
|
|
|
|
STATE_KEY_PRESSED = 1, /* key was pressed, show unlock indicator */
|
|
|
|
STATE_KEY_ACTIVE = 2, /* a key was pressed recently, highlight part
|
2012-01-03 15:56:05 -05:00
|
|
|
of the unlock indicator. */
|
2015-03-16 13:47:16 -04:00
|
|
|
STATE_BACKSPACE_ACTIVE = 3 /* backspace was pressed recently, highlight
|
2012-01-03 15:56:05 -05:00
|
|
|
part of the unlock indicator in red. */
|
|
|
|
} unlock_state_t;
|
|
|
|
|
|
|
|
typedef enum {
|
2017-04-15 08:41:32 -04:00
|
|
|
STATE_AUTH_IDLE = 0, /* no authenticator interaction at the moment */
|
|
|
|
STATE_AUTH_VERIFY = 1, /* currently verifying the password via authenticator */
|
|
|
|
STATE_AUTH_LOCK = 2, /* currently locking the screen */
|
|
|
|
STATE_AUTH_WRONG = 3, /* the password was wrong */
|
2016-10-11 16:40:51 -04:00
|
|
|
STATE_I3LOCK_LOCK_FAILED = 4 /* i3lock failed to load */
|
2017-04-15 03:39:13 -04:00
|
|
|
} auth_state_t;
|
2012-01-03 15:56:05 -05:00
|
|
|
|
|
|
|
xcb_pixmap_t draw_image(uint32_t* resolution);
|
2017-11-19 15:12:43 -05:00
|
|
|
void init_colors_once(void);
|
2012-04-01 06:28:28 -04:00
|
|
|
void redraw_screen(void);
|
2014-03-06 15:22:02 -05:00
|
|
|
void clear_indicator(void);
|
2016-10-14 14:48:43 -04:00
|
|
|
void start_time_redraw_timeout(void);
|
2016-10-14 20:57:34 -04:00
|
|
|
void start_time_redraw_tick(struct ev_loop*);
|
2012-01-03 15:56:05 -05:00
|
|
|
#endif
|