monitor: Don't use wl_output_transform in our APIs

Invent our own API so we can build without Wayland headers.
This commit is contained in:
Jasper St. Pierre 2014-07-10 17:39:47 -04:00
parent d7d8c92a9a
commit eb952819c2
7 changed files with 88 additions and 72 deletions

View File

@ -60,7 +60,7 @@ typedef struct {
gboolean enabled; gboolean enabled;
MetaRectangle rect; MetaRectangle rect;
float refresh_rate; float refresh_rate;
enum wl_output_transform transform; MetaMonitorTransform transform;
gboolean is_primary; gboolean is_primary;
gboolean is_presentation; gboolean is_presentation;
@ -656,20 +656,20 @@ handle_text (GMarkupParseContext *context,
else if (strcmp (parser->output_field, "rotation") == 0) else if (strcmp (parser->output_field, "rotation") == 0)
{ {
if (strncmp (text, "normal", text_len) == 0) if (strncmp (text, "normal", text_len) == 0)
parser->output.transform = WL_OUTPUT_TRANSFORM_NORMAL; parser->output.transform = META_MONITOR_TRANSFORM_NORMAL;
else if (strncmp (text, "left", text_len) == 0) else if (strncmp (text, "left", text_len) == 0)
parser->output.transform = WL_OUTPUT_TRANSFORM_90; parser->output.transform = META_MONITOR_TRANSFORM_90;
else if (strncmp (text, "upside_down", text_len) == 0) else if (strncmp (text, "upside_down", text_len) == 0)
parser->output.transform = WL_OUTPUT_TRANSFORM_180; parser->output.transform = META_MONITOR_TRANSFORM_180;
else if (strncmp (text, "right", text_len) == 0) else if (strncmp (text, "right", text_len) == 0)
parser->output.transform = WL_OUTPUT_TRANSFORM_270; parser->output.transform = META_MONITOR_TRANSFORM_270;
else else
g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT, g_set_error (error, G_MARKUP_ERROR, G_MARKUP_ERROR_INVALID_CONTENT,
"Invalid rotation type %.*s", (int)text_len, text); "Invalid rotation type %.*s", (int)text_len, text);
} }
else if (strcmp (parser->output_field, "reflect_x") == 0) else if (strcmp (parser->output_field, "reflect_x") == 0)
parser->output.transform += read_bool (text, text_len, error) ? parser->output.transform += read_bool (text, text_len, error) ?
WL_OUTPUT_TRANSFORM_FLIPPED : 0; META_MONITOR_TRANSFORM_FLIPPED : 0;
else if (strcmp (parser->output_field, "reflect_y") == 0) else if (strcmp (parser->output_field, "reflect_y") == 0)
{ {
/* FIXME (look at the rotation map in monitor.c) */ /* FIXME (look at the rotation map in monitor.c) */
@ -1115,7 +1115,7 @@ make_default_config (MetaMonitorConfig *self,
ret->outputs[0].rect.width = outputs[0].preferred_mode->width; ret->outputs[0].rect.width = outputs[0].preferred_mode->width;
ret->outputs[0].rect.height = outputs[0].preferred_mode->height; ret->outputs[0].rect.height = outputs[0].preferred_mode->height;
ret->outputs[0].refresh_rate = outputs[0].preferred_mode->refresh_rate; ret->outputs[0].refresh_rate = outputs[0].preferred_mode->refresh_rate;
ret->outputs[0].transform = WL_OUTPUT_TRANSFORM_NORMAL; ret->outputs[0].transform = META_MONITOR_TRANSFORM_NORMAL;
ret->outputs[0].is_primary = TRUE; ret->outputs[0].is_primary = TRUE;
return ret; return ret;
@ -1167,7 +1167,7 @@ make_default_config (MetaMonitorConfig *self,
ret->outputs[j].rect.width = outputs[0].preferred_mode->width; ret->outputs[j].rect.width = outputs[0].preferred_mode->width;
ret->outputs[j].rect.height = outputs[0].preferred_mode->height; ret->outputs[j].rect.height = outputs[0].preferred_mode->height;
ret->outputs[j].refresh_rate = outputs[0].preferred_mode->refresh_rate; ret->outputs[j].refresh_rate = outputs[0].preferred_mode->refresh_rate;
ret->outputs[j].transform = WL_OUTPUT_TRANSFORM_NORMAL; ret->outputs[j].transform = META_MONITOR_TRANSFORM_NORMAL;
ret->outputs[j].is_primary = FALSE; ret->outputs[j].is_primary = FALSE;
ret->outputs[j].is_presentation = FALSE; ret->outputs[j].is_presentation = FALSE;
} }
@ -1202,7 +1202,7 @@ make_default_config (MetaMonitorConfig *self,
ret->outputs[i].rect.width = output->preferred_mode->width; ret->outputs[i].rect.width = output->preferred_mode->width;
ret->outputs[i].rect.height = output->preferred_mode->height; ret->outputs[i].rect.height = output->preferred_mode->height;
ret->outputs[i].refresh_rate = output->preferred_mode->refresh_rate; ret->outputs[i].refresh_rate = output->preferred_mode->refresh_rate;
ret->outputs[i].transform = WL_OUTPUT_TRANSFORM_NORMAL; ret->outputs[i].transform = META_MONITOR_TRANSFORM_NORMAL;
ret->outputs[i].is_primary = (output == primary); ret->outputs[i].is_primary = (output == primary);
/* Disable outputs that would go beyond framebuffer limits */ /* Disable outputs that would go beyond framebuffer limits */
@ -1250,7 +1250,7 @@ ensure_at_least_one_output (MetaMonitorConfig *self,
ret->outputs[i].rect.width = output->preferred_mode->width; ret->outputs[i].rect.width = output->preferred_mode->width;
ret->outputs[i].rect.height = output->preferred_mode->height; ret->outputs[i].rect.height = output->preferred_mode->height;
ret->outputs[i].refresh_rate = output->preferred_mode->refresh_rate; ret->outputs[i].refresh_rate = output->preferred_mode->refresh_rate;
ret->outputs[i].transform = WL_OUTPUT_TRANSFORM_NORMAL; ret->outputs[i].transform = META_MONITOR_TRANSFORM_NORMAL;
ret->outputs[i].is_primary = TRUE; ret->outputs[i].is_primary = TRUE;
} }
else else
@ -1512,7 +1512,7 @@ meta_monitor_config_save (MetaMonitorConfig *self)
output->rect.x, output->rect.x,
output->rect.y, output->rect.y,
rotation_map[output->transform & 0x3], rotation_map[output->transform & 0x3],
output->transform >= WL_OUTPUT_TRANSFORM_FLIPPED ? "yes" : "no", output->transform >= META_MONITOR_TRANSFORM_FLIPPED ? "yes" : "no",
output->is_primary ? "yes" : "no", output->is_primary ? "yes" : "no",
output->is_presentation ? "yes" : "no"); output->is_presentation ? "yes" : "no");
} }
@ -1626,7 +1626,7 @@ crtc_assignment_assign (CrtcAssignment *assign,
MetaMonitorMode *mode, MetaMonitorMode *mode,
int x, int x,
int y, int y,
enum wl_output_transform transform, MetaMonitorTransform transform,
MetaOutput *output) MetaOutput *output)
{ {
MetaCRTCInfo *info = g_hash_table_lookup (assign->info, crtc); MetaCRTCInfo *info = g_hash_table_lookup (assign->info, crtc);

View File

@ -27,7 +27,7 @@
#include "meta-monitor-manager-dummy.h" #include "meta-monitor-manager-dummy.h"
#define ALL_WL_TRANSFORMS ((1 << (WL_OUTPUT_TRANSFORM_FLIPPED_270 + 1)) - 1) #define ALL_TRANSFORMS ((1 << (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)) - 1)
struct _MetaMonitorManagerDummy struct _MetaMonitorManagerDummy
{ {
@ -66,8 +66,8 @@ meta_monitor_manager_dummy_read_current (MetaMonitorManager *manager)
manager->crtcs[0].rect.width = manager->modes[0].width; manager->crtcs[0].rect.width = manager->modes[0].width;
manager->crtcs[0].rect.height = manager->modes[0].height; manager->crtcs[0].rect.height = manager->modes[0].height;
manager->crtcs[0].current_mode = &manager->modes[0]; manager->crtcs[0].current_mode = &manager->modes[0];
manager->crtcs[0].transform = WL_OUTPUT_TRANSFORM_NORMAL; manager->crtcs[0].transform = META_MONITOR_TRANSFORM_NORMAL;
manager->crtcs[0].all_transforms = ALL_WL_TRANSFORMS; manager->crtcs[0].all_transforms = ALL_TRANSFORMS;
manager->crtcs[0].is_dirty = FALSE; manager->crtcs[0].is_dirty = FALSE;
manager->crtcs[0].logical_monitor = NULL; manager->crtcs[0].logical_monitor = NULL;

View File

@ -477,7 +477,7 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton,
GVariantBuilder transforms; GVariantBuilder transforms;
g_variant_builder_init (&transforms, G_VARIANT_TYPE ("au")); g_variant_builder_init (&transforms, G_VARIANT_TYPE ("au"));
for (j = 0; j <= WL_OUTPUT_TRANSFORM_FLIPPED_270; j++) for (j = 0; j <= META_MONITOR_TRANSFORM_FLIPPED_270; j++)
if (crtc->all_transforms & (1 << j)) if (crtc->all_transforms & (1 << j))
g_variant_builder_add (&transforms, "u", j); g_variant_builder_add (&transforms, "u", j);
@ -755,8 +755,8 @@ meta_monitor_manager_handle_apply_configuration (MetaDBusDisplayConfig *skeleto
crtc_info->y = 0; crtc_info->y = 0;
} }
if (transform < WL_OUTPUT_TRANSFORM_NORMAL || if (transform < META_MONITOR_TRANSFORM_NORMAL ||
transform > WL_OUTPUT_TRANSFORM_FLIPPED_270 || transform > META_MONITOR_TRANSFORM_FLIPPED_270 ||
((crtc->all_transforms & (1 << transform)) == 0)) ((crtc->all_transforms & (1 << transform)) == 0))
{ {
g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR, g_dbus_method_invocation_return_error (invocation, G_DBUS_ERROR,

View File

@ -42,7 +42,6 @@
#include <meta/screen.h> #include <meta/screen.h>
#include "stack-tracker.h" #include "stack-tracker.h"
#include "ui.h" #include "ui.h"
#include <wayland-server.h>
#include "meta-display-config-shared.h" #include "meta-display-config-shared.h"
#include "meta-dbus-display-config.h" #include "meta-dbus-display-config.h"
@ -60,6 +59,17 @@ typedef struct _MetaMonitorInfo MetaMonitorInfo;
typedef struct _MetaCRTCInfo MetaCRTCInfo; typedef struct _MetaCRTCInfo MetaCRTCInfo;
typedef struct _MetaOutputInfo MetaOutputInfo; typedef struct _MetaOutputInfo MetaOutputInfo;
typedef enum {
META_MONITOR_TRANSFORM_NORMAL,
META_MONITOR_TRANSFORM_90,
META_MONITOR_TRANSFORM_180,
META_MONITOR_TRANSFORM_270,
META_MONITOR_TRANSFORM_FLIPPED,
META_MONITOR_TRANSFORM_FLIPPED_90,
META_MONITOR_TRANSFORM_FLIPPED_180,
META_MONITOR_TRANSFORM_FLIPPED_270,
} MetaMonitorTransform;
struct _MetaOutput struct _MetaOutput
{ {
/* The CRTC driving this output, NULL if the output is not enabled */ /* The CRTC driving this output, NULL if the output is not enabled */
@ -114,7 +124,7 @@ struct _MetaCRTC
glong crtc_id; glong crtc_id;
MetaRectangle rect; MetaRectangle rect;
MetaMonitorMode *current_mode; MetaMonitorMode *current_mode;
enum wl_output_transform transform; MetaMonitorTransform transform;
unsigned int all_transforms; unsigned int all_transforms;
/* Only used to build the logical configuration /* Only used to build the logical configuration
@ -185,7 +195,7 @@ struct _MetaCRTCInfo {
MetaMonitorMode *mode; MetaMonitorMode *mode;
int x; int x;
int y; int y;
enum wl_output_transform transform; MetaMonitorTransform transform;
GPtrArray *outputs; GPtrArray *outputs;
}; };
@ -339,7 +349,7 @@ gboolean meta_monitor_manager_has_hotplug_mode_update (MetaMonitorMana
/* Returns true if transform causes width and height to be inverted /* Returns true if transform causes width and height to be inverted
This is true for the odd transforms in the enum */ This is true for the odd transforms in the enum */
static inline gboolean static inline gboolean
meta_monitor_transform_is_rotated (enum wl_output_transform transform) meta_monitor_transform_is_rotated (MetaMonitorTransform transform)
{ {
return (transform % 2); return (transform % 2);
} }

View File

@ -40,8 +40,6 @@
#include <meta/errors.h> #include <meta/errors.h>
#include "edid.h" #include "edid.h"
#define ALL_WL_TRANSFORMS ((1 << (WL_OUTPUT_TRANSFORM_FLIPPED_270 + 1)) - 1)
typedef struct { typedef struct {
drmModeConnector *connector; drmModeConnector *connector;
@ -363,9 +361,9 @@ meta_monitor_manager_kms_read_current (MetaMonitorManager *manager)
meta_crtc->rect.width = crtc->width; meta_crtc->rect.width = crtc->width;
meta_crtc->rect.height = crtc->height; meta_crtc->rect.height = crtc->height;
meta_crtc->is_dirty = FALSE; meta_crtc->is_dirty = FALSE;
meta_crtc->transform = WL_OUTPUT_TRANSFORM_NORMAL; meta_crtc->transform = META_MONITOR_TRANSFORM_NORMAL;
/* FIXME: implement! */ /* FIXME: implement! */
meta_crtc->all_transforms = 1 << WL_OUTPUT_TRANSFORM_NORMAL; meta_crtc->all_transforms = 1 << META_MONITOR_TRANSFORM_NORMAL;
if (crtc->mode_valid) if (crtc->mode_valid)
{ {

View File

@ -42,7 +42,7 @@
#include "edid.h" #include "edid.h"
#include "meta-monitor-config.h" #include "meta-monitor-config.h"
#define ALL_WL_TRANSFORMS ((1 << (WL_OUTPUT_TRANSFORM_FLIPPED_270 + 1)) - 1) #define ALL_TRANSFORMS ((1 << (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)) - 1)
/* Look for DPI_FALLBACK in: /* Look for DPI_FALLBACK in:
* http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/xsettings/gsd-xsettings-manager.c * http://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/xsettings/gsd-xsettings-manager.c
@ -67,31 +67,31 @@ struct _MetaMonitorManagerXrandrClass
G_DEFINE_TYPE (MetaMonitorManagerXrandr, meta_monitor_manager_xrandr, META_TYPE_MONITOR_MANAGER); G_DEFINE_TYPE (MetaMonitorManagerXrandr, meta_monitor_manager_xrandr, META_TYPE_MONITOR_MANAGER);
static enum wl_output_transform static MetaMonitorTransform
wl_transform_from_xrandr (Rotation rotation) meta_monitor_transform_from_xrandr (Rotation rotation)
{ {
static const enum wl_output_transform y_reflected_map[4] = { static const MetaMonitorTransform y_reflected_map[4] = {
WL_OUTPUT_TRANSFORM_FLIPPED_180, META_MONITOR_TRANSFORM_FLIPPED_180,
WL_OUTPUT_TRANSFORM_FLIPPED_90, META_MONITOR_TRANSFORM_FLIPPED_90,
WL_OUTPUT_TRANSFORM_FLIPPED, META_MONITOR_TRANSFORM_FLIPPED,
WL_OUTPUT_TRANSFORM_FLIPPED_270 META_MONITOR_TRANSFORM_FLIPPED_270
}; };
enum wl_output_transform ret; MetaMonitorTransform ret;
switch (rotation & 0x7F) switch (rotation & 0x7F)
{ {
default: default:
case RR_Rotate_0: case RR_Rotate_0:
ret = WL_OUTPUT_TRANSFORM_NORMAL; ret = META_MONITOR_TRANSFORM_NORMAL;
break; break;
case RR_Rotate_90: case RR_Rotate_90:
ret = WL_OUTPUT_TRANSFORM_90; ret = META_MONITOR_TRANSFORM_90;
break; break;
case RR_Rotate_180: case RR_Rotate_180:
ret = WL_OUTPUT_TRANSFORM_180; ret = META_MONITOR_TRANSFORM_180;
break; break;
case RR_Rotate_270: case RR_Rotate_270:
ret = WL_OUTPUT_TRANSFORM_270; ret = META_MONITOR_TRANSFORM_270;
break; break;
} }
@ -105,35 +105,35 @@ wl_transform_from_xrandr (Rotation rotation)
#define ALL_ROTATIONS (RR_Rotate_0 | RR_Rotate_90 | RR_Rotate_180 | RR_Rotate_270) #define ALL_ROTATIONS (RR_Rotate_0 | RR_Rotate_90 | RR_Rotate_180 | RR_Rotate_270)
static unsigned int static MetaMonitorTransform
wl_transform_from_xrandr_all (Rotation rotation) meta_monitor_transform_from_xrandr_all (Rotation rotation)
{ {
unsigned ret; unsigned ret;
/* Handle the common cases first (none or all) */ /* Handle the common cases first (none or all) */
if (rotation == 0 || rotation == RR_Rotate_0) if (rotation == 0 || rotation == RR_Rotate_0)
return (1 << WL_OUTPUT_TRANSFORM_NORMAL); return (1 << META_MONITOR_TRANSFORM_NORMAL);
/* All rotations and one reflection -> all of them by composition */ /* All rotations and one reflection -> all of them by composition */
if ((rotation & ALL_ROTATIONS) && if ((rotation & ALL_ROTATIONS) &&
((rotation & RR_Reflect_X) || (rotation & RR_Reflect_Y))) ((rotation & RR_Reflect_X) || (rotation & RR_Reflect_Y)))
return ALL_WL_TRANSFORMS; return ALL_TRANSFORMS;
ret = 1 << WL_OUTPUT_TRANSFORM_NORMAL; ret = 1 << META_MONITOR_TRANSFORM_NORMAL;
if (rotation & RR_Rotate_90) if (rotation & RR_Rotate_90)
ret |= 1 << WL_OUTPUT_TRANSFORM_90; ret |= 1 << META_MONITOR_TRANSFORM_90;
if (rotation & RR_Rotate_180) if (rotation & RR_Rotate_180)
ret |= 1 << WL_OUTPUT_TRANSFORM_180; ret |= 1 << META_MONITOR_TRANSFORM_180;
if (rotation & RR_Rotate_270) if (rotation & RR_Rotate_270)
ret |= 1 << WL_OUTPUT_TRANSFORM_270; ret |= 1 << META_MONITOR_TRANSFORM_270;
if (rotation & (RR_Rotate_0 | RR_Reflect_X)) if (rotation & (RR_Rotate_0 | RR_Reflect_X))
ret |= 1 << WL_OUTPUT_TRANSFORM_FLIPPED; ret |= 1 << META_MONITOR_TRANSFORM_FLIPPED;
if (rotation & (RR_Rotate_90 | RR_Reflect_X)) if (rotation & (RR_Rotate_90 | RR_Reflect_X))
ret |= 1 << WL_OUTPUT_TRANSFORM_FLIPPED_90; ret |= 1 << META_MONITOR_TRANSFORM_FLIPPED_90;
if (rotation & (RR_Rotate_180 | RR_Reflect_X)) if (rotation & (RR_Rotate_180 | RR_Reflect_X))
ret |= 1 << WL_OUTPUT_TRANSFORM_FLIPPED_180; ret |= 1 << META_MONITOR_TRANSFORM_FLIPPED_180;
if (rotation & (RR_Rotate_270 | RR_Reflect_X)) if (rotation & (RR_Rotate_270 | RR_Reflect_X))
ret |= 1 << WL_OUTPUT_TRANSFORM_FLIPPED_270; ret |= 1 << META_MONITOR_TRANSFORM_FLIPPED_270;
return ret; return ret;
} }
@ -434,8 +434,8 @@ meta_monitor_manager_xrandr_read_current (MetaMonitorManager *manager)
meta_crtc->rect.width = crtc->width; meta_crtc->rect.width = crtc->width;
meta_crtc->rect.height = crtc->height; meta_crtc->rect.height = crtc->height;
meta_crtc->is_dirty = FALSE; meta_crtc->is_dirty = FALSE;
meta_crtc->transform = wl_transform_from_xrandr (crtc->rotation); meta_crtc->transform = meta_monitor_transform_from_xrandr (crtc->rotation);
meta_crtc->all_transforms = wl_transform_from_xrandr_all (crtc->rotations); meta_crtc->all_transforms = meta_monitor_transform_from_xrandr_all (crtc->rotations);
for (j = 0; j < (unsigned)resources->nmode; j++) for (j = 0; j < (unsigned)resources->nmode; j++)
{ {
@ -637,25 +637,25 @@ meta_monitor_manager_xrandr_set_power_save_mode (MetaMonitorManager *manager,
} }
static Rotation static Rotation
wl_transform_to_xrandr (enum wl_output_transform transform) meta_monitor_transform_to_xrandr (MetaMonitorTransform transform)
{ {
switch (transform) switch (transform)
{ {
case WL_OUTPUT_TRANSFORM_NORMAL: case META_MONITOR_TRANSFORM_NORMAL:
return RR_Rotate_0; return RR_Rotate_0;
case WL_OUTPUT_TRANSFORM_90: case META_MONITOR_TRANSFORM_90:
return RR_Rotate_90; return RR_Rotate_90;
case WL_OUTPUT_TRANSFORM_180: case META_MONITOR_TRANSFORM_180:
return RR_Rotate_180; return RR_Rotate_180;
case WL_OUTPUT_TRANSFORM_270: case META_MONITOR_TRANSFORM_270:
return RR_Rotate_270; return RR_Rotate_270;
case WL_OUTPUT_TRANSFORM_FLIPPED: case META_MONITOR_TRANSFORM_FLIPPED:
return RR_Reflect_X | RR_Rotate_0; return RR_Reflect_X | RR_Rotate_0;
case WL_OUTPUT_TRANSFORM_FLIPPED_90: case META_MONITOR_TRANSFORM_FLIPPED_90:
return RR_Reflect_X | RR_Rotate_90; return RR_Reflect_X | RR_Rotate_90;
case WL_OUTPUT_TRANSFORM_FLIPPED_180: case META_MONITOR_TRANSFORM_FLIPPED_180:
return RR_Reflect_X | RR_Rotate_180; return RR_Reflect_X | RR_Rotate_180;
case WL_OUTPUT_TRANSFORM_FLIPPED_270: case META_MONITOR_TRANSFORM_FLIPPED_270:
return RR_Reflect_X | RR_Rotate_270; return RR_Reflect_X | RR_Rotate_270;
} }
@ -847,7 +847,7 @@ meta_monitor_manager_xrandr_apply_configuration (MetaMonitorManager *manager,
manager_xrandr->time, manager_xrandr->time,
crtc_info->x, crtc_info->y, crtc_info->x, crtc_info->y,
(XID)mode->mode_id, (XID)mode->mode_id,
wl_transform_to_xrandr (crtc_info->transform), meta_monitor_transform_to_xrandr (crtc_info->transform),
outputs, n_outputs); outputs, n_outputs);
if (ok != Success) if (ok != Success)

View File

@ -168,12 +168,20 @@ wayland_output_destroy_notify (gpointer data)
g_slice_free (MetaWaylandOutput, wayland_output); g_slice_free (MetaWaylandOutput, wayland_output);
} }
static inline enum wl_output_transform
wl_output_transform_from_meta_monitor_transform (MetaMonitorTransform transform)
{
/* The enums are the same. */
return (enum wl_output_transform) transform;
}
static void static void
wayland_output_update_for_output (MetaWaylandOutput *wayland_output, wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
MetaOutput *output) MetaOutput *output)
{ {
GList *iter; GList *iter;
guint mode_flags; guint mode_flags;
enum wl_output_transform wl_transform = wl_output_transform_from_meta_monitor_transform (output->crtc->transform);
g_assert (output->crtc->current_mode != NULL); g_assert (output->crtc->current_mode != NULL);
@ -187,7 +195,7 @@ wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
if (wayland_output->x != output->crtc->rect.x || if (wayland_output->x != output->crtc->rect.x ||
wayland_output->y != output->crtc->rect.y || wayland_output->y != output->crtc->rect.y ||
wayland_output->transform != output->crtc->transform) wayland_output->transform != wl_transform)
{ {
wl_resource_post_event (resource, wl_resource_post_event (resource,
WL_OUTPUT_GEOMETRY, WL_OUTPUT_GEOMETRY,
@ -198,7 +206,7 @@ wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
output->subpixel_order, output->subpixel_order,
output->vendor, output->vendor,
output->product, output->product,
output->crtc->transform); wl_transform);
} }
wl_resource_post_event (resource, wl_resource_post_event (resource,
@ -214,7 +222,7 @@ wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
wayland_output->output = output; wayland_output->output = output;
wayland_output->x = output->crtc->rect.x; wayland_output->x = output->crtc->rect.x;
wayland_output->y = output->crtc->rect.y; wayland_output->y = output->crtc->rect.y;
wayland_output->transform = output->crtc->transform; wayland_output->transform = wl_transform;
} }
static GHashTable * static GHashTable *