mirror of
https://github.com/swaywm/sway.git
synced 2026-02-25 01:40:48 -05:00
Split seat code into its own file
This commit is contained in:
parent
0bd40ce86b
commit
1008d4cc91
5 changed files with 262 additions and 300 deletions
|
|
@ -1,66 +1,41 @@
|
|||
#ifndef _SWAYLOCK_H
|
||||
#define _SWAYLOCK_H
|
||||
#include <stdbool.h>
|
||||
#include <stdint.h>
|
||||
#include <wayland-client.h>
|
||||
#include "background-image.h"
|
||||
#include "cairo.h"
|
||||
#include "pool-buffer.h"
|
||||
#include "swaylock/seat.h"
|
||||
#include "wlr-layer-shell-unstable-v1-client-protocol.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,
|
||||
};
|
||||
|
||||
enum line_source {
|
||||
LINE_SOURCE_DEFAULT,
|
||||
LINE_SOURCE_RING,
|
||||
LINE_SOURCE_INSIDE,
|
||||
};
|
||||
|
||||
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;
|
||||
struct swaylock_args {
|
||||
uint32_t color;
|
||||
enum scaling_mode scaling_mode;
|
||||
enum auth_state auth_state;
|
||||
enum background_mode mode;
|
||||
bool show_indicator;
|
||||
};
|
||||
|
||||
struct lock_colors {
|
||||
uint32_t inner_ring;
|
||||
uint32_t outer_ring;
|
||||
struct swaylock_state {
|
||||
struct wl_display *display;
|
||||
struct wl_compositor *compositor;
|
||||
struct zwlr_layer_shell_v1 *layer_shell;
|
||||
struct wl_shm *shm;
|
||||
struct wl_list contexts;
|
||||
struct swaylock_args args;
|
||||
struct swaylock_xkb xkb;
|
||||
bool run_display;
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
int radius;
|
||||
int thickness;
|
||||
struct swaylock_context {
|
||||
cairo_surface_t *image;
|
||||
struct swaylock_state *state;
|
||||
struct wl_output *output;
|
||||
struct wl_surface *surface;
|
||||
struct zwlr_layer_surface_v1 *layer_surface;
|
||||
struct pool_buffer buffers[2];
|
||||
struct pool_buffer *current_buffer;
|
||||
uint32_t width, height;
|
||||
struct wl_list link;
|
||||
};
|
||||
|
||||
void render(struct render_data* render_data, struct lock_config *config);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue