diff options
author | emersion <contact@emersion.fr> | 2017-12-11 16:14:03 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2017-12-11 16:14:03 +0100 |
commit | c67a5824b8831b50e9f3b09cc182f496fb973321 (patch) | |
tree | 0a4f6090819e680bcd611388c8cbe867fbb4983a /backend/x11/backend.c | |
parent | 6001235b0465ba1961f8abd66a860bcf1f14fc22 (diff) | |
parent | 808ab5aa1bd990776ae30d5f9bb171ca7b42d6ef (diff) |
Merge branch 'master' into display-destroy
Diffstat (limited to 'backend/x11/backend.c')
-rw-r--r-- | backend/x11/backend.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/backend/x11/backend.c b/backend/x11/backend.c index 6c75405c..e8006a1a 100644 --- a/backend/x11/backend.c +++ b/backend/x11/backend.c @@ -204,8 +204,8 @@ static bool wlr_x11_backend_start(struct wlr_backend *backend) { snprintf(output->wlr_output.name, sizeof(output->wlr_output.name), "X11-1"); output->win = xcb_generate_id(x11->xcb_conn); - xcb_create_window(x11->xcb_conn, XCB_COPY_FROM_PARENT, output->win, x11->screen->root, - 0, 0, 1024, 768, 1, XCB_WINDOW_CLASS_INPUT_OUTPUT, + xcb_create_window(x11->xcb_conn, XCB_COPY_FROM_PARENT, output->win, + x11->screen->root, 0, 0, 1024, 768, 1, XCB_WINDOW_CLASS_INPUT_OUTPUT, x11->screen->root_visual, mask, values); output->surf = wlr_egl_create_surface(&x11->egl, &output->win); @@ -340,6 +340,17 @@ error_x11: return NULL; } +static bool output_set_custom_mode(struct wlr_output *wlr_output, int32_t width, + int32_t height, int32_t refresh) { + struct wlr_x11_output *output = (struct wlr_x11_output *)wlr_output; + struct wlr_x11_backend *x11 = output->x11; + + const uint32_t values[] = { width, height }; + xcb_configure_window(x11->xcb_conn, output->win, + XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT, values); + return true; +} + static void output_transform(struct wlr_output *wlr_output, enum wl_output_transform transform) { struct wlr_x11_output *output = (struct wlr_x11_output *)wlr_output; output->wlr_output.transform = transform; @@ -373,6 +384,7 @@ static void output_swap_buffers(struct wlr_output *wlr_output) { } static struct wlr_output_impl output_impl = { + .set_custom_mode = output_set_custom_mode, .transform = output_transform, .destroy = output_destroy, .make_current = output_make_current, |