main
44ceea7 ยท 1 month ago 7 commits
 1#ifndef _SWAY_BACKGROUND_IMAGE_H
 2#define _SWAY_BACKGROUND_IMAGE_H
 3#include <wayland-client.h>
 4#include "cairo.h"
 5
 6enum background_mode {
 7	BACKGROUND_MODE_STRETCH,
 8	BACKGROUND_MODE_FILL,
 9	BACKGROUND_MODE_FIT,
10	BACKGROUND_MODE_CENTER,
11	BACKGROUND_MODE_TILE,
12	BACKGROUND_MODE_SOLID_COLOR,
13	BACKGROUND_MODE_INVALID,
14};
15
16struct swaylock_surface;
17
18enum background_mode parse_background_mode(const char *mode);
19cairo_surface_t *load_background_image(const char *path);
20cairo_surface_t *load_background_from_buffer(void *buf, uint32_t format,
21		uint32_t width, uint32_t height, uint32_t stride, enum wl_output_transform transform);
22cairo_surface_t *scale_background_image(cairo_surface_t *image,
23		enum background_mode mode, int buffer_width, int buffer_height);
24void render_background_image(cairo_t *cairo, cairo_surface_t *image, double alpha);
25
26#endif