mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-05 04:06:08 -05:00
wayland: move wayland struct definitions to a separate file
This commit is contained in:
parent
a2b3cc6cfe
commit
0120c57ed5
3 changed files with 76 additions and 68 deletions
|
|
@ -84,6 +84,7 @@ executable(
|
|||
'tokenize.c', 'tokenize.h',
|
||||
'tllist.h',
|
||||
'vt.c', 'vt.h',
|
||||
'wayland.h',
|
||||
wl_proto_src + wl_proto_headers, version,
|
||||
dependencies: [threads, math, freetype, fontconfig, pixman, wayland_client, wayland_cursor, xkb],
|
||||
install: true)
|
||||
|
|
|
|||
69
terminal.h
69
terminal.h
|
|
@ -15,78 +15,11 @@
|
|||
|
||||
#include "font.h"
|
||||
#include "tllist.h"
|
||||
#include "wayland.h"
|
||||
|
||||
#define likely(c) __builtin_expect(!!(c), 1)
|
||||
#define unlikely(c) __builtin_expect(!!(c), 0)
|
||||
|
||||
struct monitor {
|
||||
struct terminal *term;
|
||||
struct wl_output *output;
|
||||
struct zxdg_output_v1 *xdg;
|
||||
char *name;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
|
||||
int width_mm;
|
||||
int height_mm;
|
||||
|
||||
int width_px;
|
||||
int height_px;
|
||||
|
||||
int scale;
|
||||
float refresh;
|
||||
};
|
||||
|
||||
struct wl_window {
|
||||
struct wl_surface *surface;
|
||||
struct xdg_wm_base *shell;
|
||||
struct xdg_surface *xdg_surface;
|
||||
struct xdg_toplevel *xdg_toplevel;
|
||||
|
||||
struct zxdg_decoration_manager_v1 *xdg_decoration_manager;
|
||||
struct zxdg_toplevel_decoration_v1 *xdg_toplevel_decoration;
|
||||
|
||||
/* Scrollback search */
|
||||
struct wl_surface *search_surface;
|
||||
struct wl_subsurface *search_sub_surface;
|
||||
|
||||
tll(const struct monitor *) on_outputs; /* Outputs we're mapped on */
|
||||
};
|
||||
|
||||
struct wayland {
|
||||
struct wl_display *display;
|
||||
struct wl_registry *registry;
|
||||
struct wl_compositor *compositor;
|
||||
struct wl_subcompositor *sub_compositor;
|
||||
struct wl_shm *shm;
|
||||
|
||||
struct wl_seat *seat;
|
||||
struct wl_keyboard *keyboard;
|
||||
struct zxdg_output_manager_v1 *xdg_output_manager;
|
||||
|
||||
/* Clipboard */
|
||||
struct wl_data_device_manager *data_device_manager;
|
||||
struct wl_data_device *data_device;
|
||||
struct zwp_primary_selection_device_manager_v1 *primary_selection_device_manager;
|
||||
struct zwp_primary_selection_device_v1 *primary_selection_device;
|
||||
|
||||
/* Cursor */
|
||||
struct {
|
||||
struct wl_pointer *pointer;
|
||||
uint32_t serial;
|
||||
|
||||
struct wl_surface *surface;
|
||||
struct wl_cursor_theme *theme;
|
||||
struct wl_cursor *cursor;
|
||||
int size;
|
||||
char *theme_name;
|
||||
} pointer;
|
||||
|
||||
bool have_argb8888;
|
||||
tll(struct monitor) monitors; /* All available outputs */
|
||||
};
|
||||
|
||||
struct rgb { float r, g, b; };
|
||||
|
||||
/*
|
||||
|
|
|
|||
74
wayland.h
Normal file
74
wayland.h
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
#pragma once
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
|
||||
#include "tllist.h"
|
||||
|
||||
struct monitor {
|
||||
struct terminal *term;
|
||||
struct wl_output *output;
|
||||
struct zxdg_output_v1 *xdg;
|
||||
char *name;
|
||||
|
||||
int x;
|
||||
int y;
|
||||
|
||||
int width_mm;
|
||||
int height_mm;
|
||||
|
||||
int width_px;
|
||||
int height_px;
|
||||
|
||||
int scale;
|
||||
float refresh;
|
||||
};
|
||||
|
||||
struct wl_window {
|
||||
struct wl_surface *surface;
|
||||
struct xdg_wm_base *shell;
|
||||
struct xdg_surface *xdg_surface;
|
||||
struct xdg_toplevel *xdg_toplevel;
|
||||
|
||||
struct zxdg_decoration_manager_v1 *xdg_decoration_manager;
|
||||
struct zxdg_toplevel_decoration_v1 *xdg_toplevel_decoration;
|
||||
|
||||
/* Scrollback search */
|
||||
struct wl_surface *search_surface;
|
||||
struct wl_subsurface *search_sub_surface;
|
||||
|
||||
tll(const struct monitor *) on_outputs; /* Outputs we're mapped on */
|
||||
};
|
||||
|
||||
struct wayland {
|
||||
struct wl_display *display;
|
||||
struct wl_registry *registry;
|
||||
struct wl_compositor *compositor;
|
||||
struct wl_subcompositor *sub_compositor;
|
||||
struct wl_shm *shm;
|
||||
|
||||
struct wl_seat *seat;
|
||||
struct wl_keyboard *keyboard;
|
||||
struct zxdg_output_manager_v1 *xdg_output_manager;
|
||||
|
||||
/* Clipboard */
|
||||
struct wl_data_device_manager *data_device_manager;
|
||||
struct wl_data_device *data_device;
|
||||
struct zwp_primary_selection_device_manager_v1 *primary_selection_device_manager;
|
||||
struct zwp_primary_selection_device_v1 *primary_selection_device;
|
||||
|
||||
/* Cursor */
|
||||
struct {
|
||||
struct wl_pointer *pointer;
|
||||
uint32_t serial;
|
||||
|
||||
struct wl_surface *surface;
|
||||
struct wl_cursor_theme *theme;
|
||||
struct wl_cursor *cursor;
|
||||
int size;
|
||||
char *theme_name;
|
||||
} pointer;
|
||||
|
||||
bool have_argb8888;
|
||||
tll(struct monitor) monitors; /* All available outputs */
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue