mirror of
https://github.com/NickHu/sway
synced 2025-01-03 23:03:42 +01:00
34e2c70abc
Colors are configured through the command line so that swaylock conforms to the i3lock fork 'github.com/chrjguill/i3lock-color'. Differences from it are that one letter options '-r' and '-s' are not implimentend because '-s' is already used by '--scaling' in swaylock. This commit also fixed whitespace in 'include/swaylock/swaylock.h' and changed `parse_color` in 'common/util.h' so that it can accept colors that do not start with a hash. This was done to keep compatability with the i3lock fork.
57 lines
1,005 B
C
57 lines
1,005 B
C
#ifndef _SWAYLOCK_H
|
|
#define _SWAYLOCK_H
|
|
|
|
#include "client/cairo.h"
|
|
|
|
enum scaling_mode {
|
|
SCALING_MODE_STRETCH,
|
|
SCALING_MODE_FILL,
|
|
SCALING_MODE_FIT,
|
|
SCALING_MODE_CENTER,
|
|
SCALING_MODE_TILE,
|
|
};
|
|
|
|
enum auth_state {
|
|
AUTH_STATE_IDLE,
|
|
AUTH_STATE_INPUT,
|
|
AUTH_STATE_BACKSPACE,
|
|
AUTH_STATE_VALIDATING,
|
|
AUTH_STATE_INVALID,
|
|
};
|
|
|
|
struct render_data {
|
|
list_t *surfaces;
|
|
// Output specific images
|
|
cairo_surface_t **images;
|
|
// OR one image for all outputs:
|
|
cairo_surface_t *image;
|
|
int num_images;
|
|
int color_set;
|
|
uint32_t color;
|
|
enum scaling_mode scaling_mode;
|
|
enum auth_state auth_state;
|
|
};
|
|
|
|
struct lock_colors {
|
|
uint32_t inner_ring;
|
|
uint32_t outer_ring;
|
|
};
|
|
|
|
struct lock_config {
|
|
char *font;
|
|
|
|
struct {
|
|
uint32_t text;
|
|
uint32_t line;
|
|
uint32_t separator;
|
|
uint32_t input_cursor;
|
|
uint32_t backspace_cursor;
|
|
struct lock_colors normal;
|
|
struct lock_colors validating;
|
|
struct lock_colors invalid;
|
|
} colors;
|
|
};
|
|
|
|
void render(struct render_data* render_data, struct lock_config *config);
|
|
|
|
#endif
|