.xwayland = false,
.width = 320,
.height = 240,
+ .scale = 1,
+ .transform = WL_OUTPUT_TRANSFORM_NORMAL,
.config_file = NULL,
.extra_module = NULL,
.logging_scopes = NULL,
return names[t];
}
+static const char *
+transform_to_str(enum wl_output_transform t)
+{
+ static const char * const names[] = {
+ [WL_OUTPUT_TRANSFORM_NORMAL] = "normal",
+ [WL_OUTPUT_TRANSFORM_90] = "rotate-90",
+ [WL_OUTPUT_TRANSFORM_180] = "rotate-180",
+ [WL_OUTPUT_TRANSFORM_270] = "rotate-270",
+ [WL_OUTPUT_TRANSFORM_FLIPPED] = "flipped",
+ [WL_OUTPUT_TRANSFORM_FLIPPED_90] = "flipped-rotate-90",
+ [WL_OUTPUT_TRANSFORM_FLIPPED_180] = "flipped-rotate-180",
+ [WL_OUTPUT_TRANSFORM_FLIPPED_270] = "flipped-rotate-270",
+ };
+
+ assert(t < ARRAY_LENGTH(names) && names[t]);
+ return names[t];
+}
+
/** Execute compositor
*
* Manufactures the compositor command line and calls wet_main().
asprintf(&tmp, "--height=%d", setup->height);
prog_args_take(&args, tmp);
+ if (setup->scale != 1) {
+ asprintf(&tmp, "--scale=%d", setup->scale);
+ prog_args_take(&args, tmp);
+ }
+
+ if (setup->transform != WL_OUTPUT_TRANSFORM_NORMAL) {
+ asprintf(&tmp, "--transform=%s",
+ transform_to_str(setup->transform));
+ prog_args_take(&args, tmp);
+ }
+
if (setup->config_file) {
asprintf(&tmp, "--config=%s", setup->config_file);
prog_args_take(&args, tmp);
#ifndef WESTON_TEST_FIXTURE_COMPOSITOR_H
#define WESTON_TEST_FIXTURE_COMPOSITOR_H
+#include <wayland-client-protocol.h>
#include <libweston/libweston.h>
#include "weston-testsuite-data.h"
unsigned width;
/** Default output height. */
unsigned height;
+ /** Default output scale. */
+ int scale;
+ /** Default output transform, one of WL_OUTPUT_TRANSFORM_*. */
+ enum wl_output_transform transform;
/** The absolute path to \c weston.ini to use,
* or NULL for \c --no-config . */
const char *config_file;
* - xwayland: no
* - width: 320
* - height: 240
+ * - scale: 1
+ * - transform: WL_OUTPUT_TRANSFORM_NORMAL
* - config_file: none
* - extra_module: none
* - logging_scopes: compositor defaults