Move the CSD metrics initialization into the CSD module
This commit is contained in:
parent
4e6d5d3f1e
commit
253de1eeca
10
glfw/wl_client_side_decorations.c
vendored
10
glfw/wl_client_side_decorations.c
vendored
@ -115,6 +115,16 @@ alloc_buffer_pair(_GLFWWaylandBufferPair *pair, struct wl_shm_pool *pool, uint8_
|
|||||||
}
|
}
|
||||||
|
|
||||||
#define st decs.shadow_tile
|
#define st decs.shadow_tile
|
||||||
|
|
||||||
|
void
|
||||||
|
initialize_csd_metrics(_GLFWwindow *window) {
|
||||||
|
decs.metrics.width = 12;
|
||||||
|
decs.metrics.top = 36;
|
||||||
|
decs.metrics.visible_titlebar_height = window->wl.decorations.metrics.top - window->wl.decorations.metrics.width;
|
||||||
|
decs.metrics.horizontal = 2 * window->wl.decorations.metrics.width;
|
||||||
|
decs.metrics.vertical = window->wl.decorations.metrics.width + window->wl.decorations.metrics.top;
|
||||||
|
}
|
||||||
|
|
||||||
static size_t
|
static size_t
|
||||||
create_shadow_tile(_GLFWwindow *window) {
|
create_shadow_tile(_GLFWwindow *window) {
|
||||||
const size_t margin = decs.bottom.buffer.height;
|
const size_t margin = decs.bottom.buffer.height;
|
||||||
|
|||||||
1
glfw/wl_client_side_decorations.h
vendored
1
glfw/wl_client_side_decorations.h
vendored
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
|
void initialize_csd_metrics(_GLFWwindow *window);
|
||||||
void free_all_csd_resources(_GLFWwindow *window);
|
void free_all_csd_resources(_GLFWwindow *window);
|
||||||
void free_csd_surfaces(_GLFWwindow *window);
|
void free_csd_surfaces(_GLFWwindow *window);
|
||||||
void change_csd_title(_GLFWwindow *window);
|
void change_csd_title(_GLFWwindow *window);
|
||||||
|
|||||||
8
glfw/wl_window.c
vendored
8
glfw/wl_window.c
vendored
@ -712,11 +712,7 @@ int _glfwPlatformCreateWindow(_GLFWwindow* window,
|
|||||||
const _GLFWctxconfig* ctxconfig,
|
const _GLFWctxconfig* ctxconfig,
|
||||||
const _GLFWfbconfig* fbconfig)
|
const _GLFWfbconfig* fbconfig)
|
||||||
{
|
{
|
||||||
window->wl.decorations.metrics.width = 12;
|
initialize_csd_metrics(window);
|
||||||
window->wl.decorations.metrics.top = 36;
|
|
||||||
window->wl.decorations.metrics.visible_titlebar_height = window->wl.decorations.metrics.top - window->wl.decorations.metrics.width;
|
|
||||||
window->wl.decorations.metrics.horizontal = 2 * window->wl.decorations.metrics.width;
|
|
||||||
window->wl.decorations.metrics.vertical = window->wl.decorations.metrics.width + window->wl.decorations.metrics.top;
|
|
||||||
window->wl.transparent = fbconfig->transparent;
|
window->wl.transparent = fbconfig->transparent;
|
||||||
strncpy(window->wl.appId, wndconfig->wl.appId, sizeof(window->wl.appId));
|
strncpy(window->wl.appId, wndconfig->wl.appId, sizeof(window->wl.appId));
|
||||||
|
|
||||||
@ -826,7 +822,7 @@ void _glfwPlatformSetWindowTitle(_GLFWwindow* window, const char* title)
|
|||||||
// ensure they do not happen.
|
// ensure they do not happen.
|
||||||
window->wl.title = utf_8_strndup(title, 2048);
|
window->wl.title = utf_8_strndup(title, 2048);
|
||||||
if (window->wl.xdg.toplevel) xdg_toplevel_set_title(window->wl.xdg.toplevel, window->wl.title);
|
if (window->wl.xdg.toplevel) xdg_toplevel_set_title(window->wl.xdg.toplevel, window->wl.title);
|
||||||
if (window->wl.decorations.top.surface) change_csd_title(window);
|
change_csd_title(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
void _glfwPlatformSetWindowIcon(_GLFWwindow* window UNUSED,
|
void _glfwPlatformSetWindowIcon(_GLFWwindow* window UNUSED,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user