mirror of
https://gitlab.freedesktop.org/wlroots/wlroots.git
synced 2025-12-16 08:56:26 -05:00
Add dynamic output resizing for Wayland backend
This allows outputs to: - Not support modesetting - Resize themselves
This commit is contained in:
parent
c9d5a0b2fb
commit
b9d36c8149
10 changed files with 75 additions and 90 deletions
|
|
@ -110,15 +110,14 @@ int main(int argc, char *argv[]) {
|
|||
.default_color = { 0.25f, 0.25f, 0.25f, 1 },
|
||||
.clear_color = { 0.25f, 0.25f, 0.25f, 1 }
|
||||
};
|
||||
struct compositor_state compositor = { 0,
|
||||
.data = &state,
|
||||
.output_add_cb = handle_output_add,
|
||||
.output_frame_cb = handle_output_frame,
|
||||
.keyboard_key_cb = handle_keyboard_key,
|
||||
.pointer_motion_cb = handle_pointer_motion,
|
||||
.pointer_button_cb = handle_pointer_button,
|
||||
.pointer_axis_cb = handle_pointer_axis,
|
||||
};
|
||||
struct compositor_state compositor = { 0 };
|
||||
compositor.data = &state;
|
||||
compositor.output_add_cb = handle_output_add;
|
||||
compositor.output_frame_cb = handle_output_frame;
|
||||
compositor.keyboard_key_cb = handle_keyboard_key;
|
||||
compositor.pointer_motion_cb = handle_pointer_motion;
|
||||
compositor.pointer_button_cb = handle_pointer_button;
|
||||
compositor.pointer_axis_cb = handle_pointer_axis;
|
||||
compositor_init(&compositor);
|
||||
|
||||
state.renderer = wlr_gles3_renderer_init();
|
||||
|
|
|
|||
|
|
@ -197,13 +197,12 @@ int main(int argc, char *argv[]) {
|
|||
wl_list_init(&state.config);
|
||||
parse_args(argc, argv, &state.config);
|
||||
|
||||
struct compositor_state compositor = { 0,
|
||||
.data = &state,
|
||||
.output_add_cb = handle_output_add,
|
||||
.output_remove_cb = handle_output_remove,
|
||||
.output_frame_cb = handle_output_frame,
|
||||
.keyboard_key_cb = handle_keyboard_key,
|
||||
};
|
||||
struct compositor_state compositor = { 0 };
|
||||
compositor.data = &state;
|
||||
compositor.output_add_cb = handle_output_add;
|
||||
compositor.output_remove_cb = handle_output_remove;
|
||||
compositor.output_frame_cb = handle_output_frame;
|
||||
compositor.keyboard_key_cb = handle_keyboard_key;
|
||||
compositor_init(&compositor);
|
||||
|
||||
state.renderer = wlr_gles3_renderer_init();
|
||||
|
|
|
|||
|
|
@ -383,7 +383,9 @@ static void output_add_notify(struct wl_listener *listener, void *data) {
|
|||
fprintf(stderr, "Output '%s' added\n", output->name);
|
||||
fprintf(stderr, "%s %s %"PRId32"mm x %"PRId32"mm\n", output->make, output->model,
|
||||
output->phys_width, output->phys_height);
|
||||
wlr_output_set_mode(output, output->modes->items[0]);
|
||||
if (output->modes->length > 0) {
|
||||
wlr_output_set_mode(output, output->modes->items[0]);
|
||||
}
|
||||
struct output_state *ostate = calloc(1, sizeof(struct output_state));
|
||||
clock_gettime(CLOCK_MONOTONIC, &ostate->last_frame);
|
||||
ostate->output = output;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue