waybox/include/waybox/output.h

64 lines
1.5 KiB
C
Raw Normal View History

2022-01-30 09:24:04 -05:00
#ifndef _WB_OUTPUT_H
#define _WB_OUTPUT_H
2018-06-19 10:26:54 -05:00
#include <stdlib.h>
#include <time.h>
#include <wlr/render/wlr_renderer.h>
#include <wlr/render/wlr_texture.h>
2022-02-27 13:57:34 -05:00
#include <wlr/types/wlr_scene.h>
#include <wlr/types/wlr_xdg_output_v1.h>
2018-06-19 10:26:54 -05:00
#include "waybox/server.h"
struct wb_output {
struct wlr_output *wlr_output;
struct wb_server *server;
struct {
struct wlr_scene_node *shell_background;
struct wlr_scene_node *shell_bottom;
struct wlr_scene_node *shell_fullscreen;
struct wlr_scene_node *shell_overlay;
struct wlr_scene_node *shell_top;
} layers;
2022-02-27 13:57:34 -05:00
struct wlr_scene_rect *background;
struct wlr_box geometry;
2022-01-30 17:37:54 -05:00
2018-06-19 10:26:54 -05:00
struct wl_listener destroy;
struct wl_listener frame;
struct wl_list link;
};
struct wb_view {
struct wl_list link;
struct wb_server *server;
2022-02-17 10:33:15 -05:00
struct wlr_xdg_toplevel *xdg_toplevel;
#if !WLR_CHECK_VERSION(0, 16, 0)
struct wlr_xdg_surface *xdg_surface;
#endif
2022-02-27 13:57:34 -05:00
struct wlr_scene_node *scene_node;
struct wlr_xdg_toplevel_decoration_v1 *decoration;
struct wl_listener map;
struct wl_listener unmap;
struct wl_listener destroy;
2022-02-19 21:03:05 -05:00
struct wl_listener new_popup;
struct wl_listener request_maximize;
2022-02-24 11:00:25 -05:00
struct wl_listener request_minimize;
struct wl_listener request_move;
struct wl_listener request_resize;
2022-02-24 11:00:25 -05:00
2022-02-25 16:28:59 -05:00
struct wlr_box current_position;
2022-02-24 11:00:25 -05:00
struct wlr_box previous_position;
};
2018-06-19 10:26:54 -05:00
void output_frame_notify(struct wl_listener* listener, void *data);
void output_destroy_notify(struct wl_listener* listener, void *data);
void new_output_notify(struct wl_listener* listener, void *data);
2022-01-30 09:24:04 -05:00
#endif /* output.h */