mirror of
https://github.com/swaywm/sway.git
synced 2026-03-10 05:34:03 -04:00
Implement borders
The borders are implemented as a surface/buffer attached to each view which is sent to and rendered by wlc in the view_pre_render callback. All the drawing logic is handled in sway/border.c and all the logic for calculating the geometry of the border/view is handled in `update_geometry` in sway/layout.c (same place as gaps are calculated).
This commit is contained in:
parent
3b05f92f76
commit
5a13cb0ed1
12 changed files with 386 additions and 149 deletions
|
|
@ -1,9 +1,10 @@
|
|||
#ifndef _SWAY_RENDER_H
|
||||
#define _SWAY_RENDER_H
|
||||
#ifndef _SWAY_BORDER_H
|
||||
#define _SWAY_BORDER_H
|
||||
#include <wlc/wlc.h>
|
||||
#include "container.h"
|
||||
|
||||
void render_view_borders(wlc_handle view);
|
||||
void update_view_border(swayc_t *view);
|
||||
int get_font_text_height(const char *font);
|
||||
|
||||
#endif
|
||||
|
|
@ -184,6 +184,7 @@ struct sway_config {
|
|||
enum swayc_layouts default_orientation;
|
||||
enum swayc_layouts default_layout;
|
||||
char *font;
|
||||
int font_height;
|
||||
|
||||
// Flags
|
||||
bool focus_follows_mouse;
|
||||
|
|
|
|||
|
|
@ -115,15 +115,16 @@ struct sway_container {
|
|||
* If this container's children include a fullscreen view, this is that view.
|
||||
*/
|
||||
struct sway_container *fullscreen;
|
||||
/**
|
||||
* If this container is a view, this may be set to the window's decoration
|
||||
* buffer (or NULL).
|
||||
*/
|
||||
unsigned char *border;
|
||||
enum swayc_border_types border_type;
|
||||
/**
|
||||
* If this container is a view, this may be set to the window's decoration
|
||||
* buffer (or NULL).
|
||||
*/
|
||||
unsigned char *border;
|
||||
enum swayc_border_types border_type;
|
||||
struct wlc_geometry border_geometry;
|
||||
struct wlc_geometry presumed_geometry;
|
||||
int border_thickness;
|
||||
struct wlc_geometry title_bar_geometry;
|
||||
struct wlc_geometry actual_geometry;
|
||||
int border_thickness;
|
||||
};
|
||||
|
||||
enum visibility_mask {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue