aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-03-28 15:25:33 -0400
committerGitHub <noreply@github.com>2018-03-28 15:25:33 -0400
commit9070950eecded7bfa64e7bca3bb76b150ccc8b72 (patch)
tree509a9c669bf2679085e27a1ff1b0c95526abf14c /include
parent45a50d5afe013b31d9c94090d990bca49448d396 (diff)
parentd39bda76c4007c42452a81883fefc671b816a74b (diff)
Merge pull request #1638 from swaywm/swaybg-layers
Reimplement swaybg using surface layers
Diffstat (limited to 'include')
-rw-r--r--include/cairo.h (renamed from include/client/cairo.h)10
-rw-r--r--include/client/buffer.h8
-rw-r--r--include/client/pango.h16
-rw-r--r--include/client/registry.h75
-rw-r--r--include/client/window.h67
-rw-r--r--include/meson.build1
-rw-r--r--include/pool-buffer.h21
7 files changed, 28 insertions, 170 deletions
diff --git a/include/client/cairo.h b/include/cairo.h
index e7ef7c7e..31672705 100644
--- a/include/client/cairo.h
+++ b/include/cairo.h
@@ -1,17 +1,19 @@
#ifndef _SWAY_CAIRO_H
#define _SWAY_CAIRO_H
-
#include <stdint.h>
#include <cairo/cairo.h>
void cairo_set_source_u32(cairo_t *cairo, uint32_t color);
-cairo_surface_t *cairo_image_surface_scale(cairo_surface_t *image, int width, int height);
+cairo_surface_t *cairo_image_surface_scale(cairo_surface_t *image,
+ int width, int height);
-#ifdef WITH_GDK_PIXBUF
+#include "config.h"
+#ifdef HAVE_GDK_PIXBUF
#include <gdk-pixbuf/gdk-pixbuf.h>
-cairo_surface_t* gdk_cairo_image_surface_create_from_pixbuf(const GdkPixbuf *gdkbuf);
+cairo_surface_t* gdk_cairo_image_surface_create_from_pixbuf(
+ const GdkPixbuf *gdkbuf);
#endif //WITH_GDK_PIXBUF
#endif
diff --git a/include/client/buffer.h b/include/client/buffer.h
deleted file mode 100644
index eb9973ed..00000000
--- a/include/client/buffer.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _BUFFER_H
-#define _BUFFER_H
-
-#include "client/window.h"
-
-struct buffer *get_next_buffer(struct window *state);
-
-#endif
diff --git a/include/client/pango.h b/include/client/pango.h
deleted file mode 100644
index dd2f53c3..00000000
--- a/include/client/pango.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _SWAY_CLIENT_PANGO_H
-#define _SWAY_CLIENT_PANGO_H
-
-#include <cairo/cairo.h>
-#include <pango/pangocairo.h>
-#include <stdarg.h>
-#include <stdbool.h>
-#include <stdint.h>
-
-PangoLayout *get_pango_layout(cairo_t *cairo, const char *font, const char *text,
- int32_t scale, bool markup);
-void get_text_size(cairo_t *cairo, const char *font, int *width, int *height,
- int32_t scale, bool markup, const char *fmt, ...);
-void pango_printf(cairo_t *cairo, const char *font, int32_t scale, bool markup, const char *fmt, ...);
-
-#endif
diff --git a/include/client/registry.h b/include/client/registry.h
deleted file mode 100644
index 9dfbd835..00000000
--- a/include/client/registry.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _SWAY_CLIENT_REGISTRY_H
-#define _SWAY_CLIENT_REGISTRY_H
-
-#include <wayland-client.h>
-#include <xkbcommon/xkbcommon.h>
-#include "wayland-desktop-shell-client-protocol.h"
-#include "wayland-swaylock-client-protocol.h"
-#include "list.h"
-
-enum mod_bit {
- MOD_SHIFT = 1<<0,
- MOD_CAPS = 1<<1,
- MOD_CTRL = 1<<2,
- MOD_ALT = 1<<3,
- MOD_MOD2 = 1<<4,
- MOD_MOD3 = 1<<5,
- MOD_LOGO = 1<<6,
- MOD_MOD5 = 1<<7,
-};
-
-enum mask {
- MASK_SHIFT,
- MASK_CAPS,
- MASK_CTRL,
- MASK_ALT,
- MASK_MOD2,
- MASK_MOD3,
- MASK_LOGO,
- MASK_MOD5,
- MASK_LAST
-};
-
-struct output_state {
- struct wl_output *output;
- uint32_t flags;
- uint32_t width, height;
- uint32_t scale;
-};
-
-struct xkb {
- struct xkb_state *state;
- struct xkb_context *context;
- struct xkb_keymap *keymap;
- xkb_mod_mask_t masks[MASK_LAST];
-};
-
-struct input {
- struct xkb xkb;
-
- xkb_keysym_t sym;
- uint32_t code;
- uint32_t last_code;
- uint32_t modifiers;
-
- void (*notify)(enum wl_keyboard_key_state state, xkb_keysym_t sym, uint32_t code, uint32_t codepoint);
-};
-
-struct registry {
- struct wl_compositor *compositor;
- struct wl_display *display;
- struct wl_pointer *pointer;
- struct wl_keyboard *keyboard;
- struct wl_seat *seat;
- struct wl_shell *shell;
- struct wl_shm *shm;
- struct desktop_shell *desktop_shell;
- struct lock *swaylock;
- struct input *input;
- list_t *outputs;
-};
-
-struct registry *registry_poll(void);
-void registry_teardown(struct registry *registry);
-
-#endif
diff --git a/include/client/window.h b/include/client/window.h
deleted file mode 100644
index 8af8225c..00000000
--- a/include/client/window.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _CLIENT_H
-#define _CLIENT_H
-
-#include <wayland-client.h>
-#include "wayland-desktop-shell-client-protocol.h"
-#include <cairo/cairo.h>
-#include <pango/pangocairo.h>
-#include <stdbool.h>
-#include "list.h"
-#include "client/registry.h"
-
-struct window;
-
-struct buffer {
- struct wl_buffer *buffer;
- cairo_surface_t *surface;
- cairo_t *cairo;
- PangoContext *pango;
- uint32_t width, height;
- bool busy;
-};
-
-struct cursor {
- struct wl_surface *surface;
- struct wl_cursor_theme *cursor_theme;
- struct wl_cursor *cursor;
- struct wl_pointer *pointer;
-};
-
-enum scroll_direction {
- SCROLL_UP,
- SCROLL_DOWN,
- SCROLL_LEFT,
- SCROLL_RIGHT,
-};
-
-struct pointer_input {
- int last_x;
- int last_y;
-
- void (*notify_button)(struct window *window, int x, int y, uint32_t button, uint32_t state_w);
- void (*notify_scroll)(struct window *window, enum scroll_direction direction);
-};
-
-struct window {
- struct registry *registry;
- struct buffer buffers[2];
- struct buffer *buffer;
- struct wl_surface *surface;
- struct wl_shell_surface *shell_surface;
- struct wl_callback *frame_cb;
- struct cursor cursor;
- uint32_t width, height;
- int32_t scale;
- char *font;
- cairo_t *cairo;
- struct pointer_input pointer_input;
-};
-
-struct window *window_setup(struct registry *registry, uint32_t width, uint32_t height,
- int32_t scale, bool shell_surface);
-void window_teardown(struct window *state);
-int window_prerender(struct window *state);
-int window_render(struct window *state);
-void window_make_shell(struct window *window);
-
-#endif
diff --git a/include/meson.build b/include/meson.build
new file mode 100644
index 00000000..65ed027a
--- /dev/null
+++ b/include/meson.build
@@ -0,0 +1 @@
+configure_file(output: 'config.h', configuration: conf_data)
diff --git a/include/pool-buffer.h b/include/pool-buffer.h
new file mode 100644
index 00000000..cdebd64d
--- /dev/null
+++ b/include/pool-buffer.h
@@ -0,0 +1,21 @@
+#ifndef _SWAY_BUFFERS_H
+#define _SWAY_BUFFERS_H
+#include <cairo/cairo.h>
+#include <pango/pangocairo.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <wayland-client.h>
+
+struct pool_buffer {
+ struct wl_buffer *buffer;
+ cairo_surface_t *surface;
+ cairo_t *cairo;
+ PangoContext *pango;
+ uint32_t width, height;
+ bool busy;
+};
+
+struct pool_buffer *get_next_buffer(struct wl_shm *shm,
+ struct pool_buffer pool[static 2], uint32_t width, uint32_t height);
+
+#endif