/*
- * Copyright © 2012-2021 Collabora, Ltd.
+ * Copyright © 2012-2024 Collabora, Ltd.
*
* Permission is hereby granted, free of charge, to any person obtaining
* a copy of this software and associated documentation files (the
output->name = name;
output->config = config;
- if (ivi->simple_output_configure) {
- output->output =
- weston_compositor_create_output(ivi->compositor, head, head->name);
- if (!output->output) {
- free(output->name);
- free(output);
- return NULL;
- }
+ output->output =
+ weston_compositor_create_output(ivi->compositor, head, head->name);
+ if (!output->output) {
+ free(output->name);
+ free(output);
+ return NULL;
+ }
+ if (ivi->simple_output_configure) {
int ret = ivi->simple_output_configure(output->output);
if (ret < 0) {
weston_log("Configuring output \"%s\" failed.\n",
ivi->init_failed = true;
return NULL;
}
-
- } else {
- output->output =
- weston_compositor_create_output(ivi->compositor, head, name);
- if (!output->output) {
- free(output->name);
- free(output);
- return NULL;
- }
}
output->output_destroy.notify = handle_output_destroy;
int output_count;
struct weston_compositor *c = ivi->compositor;
+ struct weston_backend *wb = NULL;
const struct weston_option options[] = {
{ WESTON_OPTION_BOOLEAN, "use-pixman", false, &force_pixman },
return -1;
}
- if (ivi->window_api->create_head(c->backend, "headless") < 0) {
+ wb = weston_compositor_load_backend(ivi->compositor, WESTON_BACKEND_HEADLESS, &config.base);
+ if (!wb)
+ return -1;
+
+ if (ivi->window_api->create_head(wb, "headless") < 0) {
weston_log("Cannot create headless back-end\n");
return -1;
}
struct weston_config_section *section;
uint32_t transform = WL_OUTPUT_TRANSFORM_NORMAL;
char *transform_string;
+ struct weston_mode new_mode = {};
assert(parsed_options);
return -1;
}
- weston_output_set_transform(output, transform);
- if (api->output_set_size(output, width, height) < 0) {
- weston_log("Cannot configure output \"%s\" using weston_rdp_output_api.\n",
- output->name);
- return -1;
- }
+ new_mode.width = width;
+ new_mode.height = height;
+
+ api->output_set_mode(output, &new_mode);
+ weston_output_set_transform(output, transform);
return 0;
}