[mutter] Rename MetaMonitorInfo MetaLogicalMonitor
- From: Jonas Ådahl <jadahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] Rename MetaMonitorInfo MetaLogicalMonitor
- Date: Wed, 25 Jan 2017 08:30:02 +0000 (UTC)
commit 842ff5d6aae457942eb971b71e848428c1c953f2
Author: Jonas Ådahl <jadahl gmail com>
Date: Fri Nov 25 14:31:38 2016 +0800
Rename MetaMonitorInfo MetaLogicalMonitor
In preparation for further refactorizations, rename the MetaMonitorInfo
struct to MetaLogicalMonitor. Eventually, part of MetaLogicalMonitor
will be split into a MetaMonitor type.
https://bugzilla.gnome.org/show_bug.cgi?id=777732
src/backends/meta-backend.c | 16 ++-
src/backends/meta-input-settings-private.h | 4 +-
src/backends/meta-input-settings.c | 6 +-
src/backends/meta-monitor-manager-private.h | 33 ++--
src/backends/meta-monitor-manager.c | 215 +++++++++++++-----------
src/backends/meta-renderer-view.c | 18 +-
src/backends/meta-renderer-view.h | 2 +-
src/backends/meta-renderer.c | 19 +-
src/backends/meta-renderer.h | 4 +-
src/backends/native/meta-backend-native.c | 32 ++--
src/backends/native/meta-renderer-native.c | 64 ++++----
src/backends/x11/meta-monitor-manager-xrandr.c | 32 ++--
src/backends/x11/meta-renderer-x11.c | 10 +-
src/compositor/meta-surface-actor-wayland.c | 10 +-
src/compositor/meta-surface-actor-wayland.h | 2 +-
src/core/constraints.c | 40 +++---
src/core/display.c | 12 +-
src/core/keybindings.c | 2 +-
src/core/place.c | 32 ++--
src/core/screen-private.h | 37 ++--
src/core/screen.c | 156 +++++++++--------
src/core/window-private.h | 4 +-
src/core/window.c | 51 +++---
src/core/workspace.c | 22 ++--
src/wayland/meta-wayland-outputs.c | 100 ++++++-----
src/wayland/meta-wayland-outputs.h | 2 +-
src/wayland/meta-wayland-surface-role-cursor.c | 20 ++-
src/wayland/meta-wayland-surface.c | 18 +-
src/wayland/meta-wayland-surface.h | 2 +-
src/wayland/meta-window-wayland.c | 14 +-
src/x11/window-x11.c | 8 +-
31 files changed, 520 insertions(+), 467 deletions(-)
---
diff --git a/src/backends/meta-backend.c b/src/backends/meta-backend.c
index 57ca798..c17c123 100644
--- a/src/backends/meta-backend.c
+++ b/src/backends/meta-backend.c
@@ -114,11 +114,17 @@ static void
center_pointer (MetaBackend *backend)
{
MetaBackendPrivate *priv = meta_backend_get_instance_private (backend);
- MetaMonitorInfo *monitors, *primary;
- guint n_monitors;
-
- monitors = meta_monitor_manager_get_monitor_infos (priv->monitor_manager, &n_monitors);
- primary = &monitors[meta_monitor_manager_get_primary_index (priv->monitor_manager)];
+ MetaMonitorManager *monitor_manager = priv->monitor_manager;
+ MetaLogicalMonitor *logical_monitors, *primary;
+ unsigned int n_logical_monitors;
+ int primary_monitor_index;
+
+ logical_monitors =
+ meta_monitor_manager_get_logical_monitors (monitor_manager,
+ &n_logical_monitors);
+ primary_monitor_index =
+ meta_monitor_manager_get_primary_index (monitor_manager);
+ primary = &logical_monitors[primary_monitor_index];
meta_backend_warp_pointer (backend,
primary->rect.x + primary->rect.width / 2,
primary->rect.y + primary->rect.height / 2);
diff --git a/src/backends/meta-input-settings-private.h b/src/backends/meta-input-settings-private.h
index 06f215c..0ab5377 100644
--- a/src/backends/meta-input-settings-private.h
+++ b/src/backends/meta-input-settings-private.h
@@ -125,8 +125,8 @@ MetaInputSettings * meta_input_settings_create (void);
GSettings * meta_input_settings_get_tablet_settings (MetaInputSettings *settings,
ClutterInputDevice *device);
-MetaMonitorInfo * meta_input_settings_get_tablet_monitor_info (MetaInputSettings *settings,
- ClutterInputDevice *device);
+MetaLogicalMonitor * meta_input_settings_get_tablet_logical_monitor (MetaInputSettings *settings,
+ ClutterInputDevice *device);
GDesktopTabletMapping meta_input_settings_get_tablet_mapping (MetaInputSettings *settings,
ClutterInputDevice *device);
diff --git a/src/backends/meta-input-settings.c b/src/backends/meta-input-settings.c
index 0d6a7b1..b8d1979 100644
--- a/src/backends/meta-input-settings.c
+++ b/src/backends/meta-input-settings.c
@@ -1425,9 +1425,9 @@ meta_input_settings_get_tablet_settings (MetaInputSettings *settings,
return info ? g_object_ref (info->settings) : NULL;
}
-MetaMonitorInfo *
-meta_input_settings_get_tablet_monitor_info (MetaInputSettings *settings,
- ClutterInputDevice *device)
+MetaLogicalMonitor *
+meta_input_settings_get_tablet_logical_monitor (MetaInputSettings *settings,
+ ClutterInputDevice *device)
{
MetaInputSettingsPrivate *priv;
DeviceMappingInfo *info;
diff --git a/src/backends/meta-monitor-manager-private.h b/src/backends/meta-monitor-manager-private.h
index 58d232a..efdd76f 100644
--- a/src/backends/meta-monitor-manager-private.h
+++ b/src/backends/meta-monitor-manager-private.h
@@ -50,10 +50,11 @@
typedef struct _MetaMonitorConfigClass MetaMonitorConfigClass;
typedef struct _MetaMonitorConfig MetaMonitorConfig;
+typedef struct _MetaLogicalMonitor MetaLogicalMonitor;
+
typedef struct _MetaCRTC MetaCRTC;
typedef struct _MetaOutput MetaOutput;
typedef struct _MetaMonitorMode MetaMonitorMode;
-typedef struct _MetaMonitorInfo MetaMonitorInfo;
typedef struct _MetaCRTCInfo MetaCRTCInfo;
typedef struct _MetaOutputInfo MetaOutputInfo;
typedef struct _MetaTileInfo MetaTileInfo;
@@ -136,7 +137,7 @@ struct _MetaOutput
gboolean is_dirty;
/* The low-level bits used to build the high-level info
- in MetaMonitorInfo
+ in MetaLogicalMonitor
XXX: flags maybe?
There is a lot of code that uses MonitorInfo->is_primary,
@@ -169,7 +170,7 @@ struct _MetaCRTC
/* Only used to build the logical configuration
from the HW one
*/
- MetaMonitorInfo *logical_monitor;
+ MetaLogicalMonitor *logical_monitor;
/* Used when changing configuration */
gboolean is_dirty;
@@ -198,16 +199,14 @@ struct _MetaMonitorMode
#define META_MAX_OUTPUTS_PER_MONITOR 4
/**
- * MetaMonitorInfo:
+ * MetaLogicalMonitor:
*
- * A structure with high-level information about monitors.
- * This corresponds to a subset of the compositor coordinate space.
- * Clones are only reported once, irrespective of the way
- * they're implemented (two CRTCs configured for the same
- * coordinates or one CRTCs driving two outputs). Inactive CRTCs
- * are ignored, and so are disabled outputs.
+ * A structure with high-level information about regions of the whole screen
+ * output. It corresponds to a subset of the compositor coordinate space, and
+ * may have one or more actual monitors associated with it. No two logical
+ * monitors will cover the same screen output.
*/
-struct _MetaMonitorInfo
+struct _MetaLogicalMonitor
{
int number;
int xinerama_index;
@@ -294,7 +293,7 @@ struct _MetaMonitorManager
/* Outputs refer to physical screens,
CRTCs refer to stuff that can drive outputs
(like encoders, but less tied to the HW),
- while monitor_infos refer to logical ones.
+ while logical_monitors refer to logical ones.
*/
MetaOutput *outputs;
unsigned int n_outputs;
@@ -305,8 +304,8 @@ struct _MetaMonitorManager
MetaCRTC *crtcs;
unsigned int n_crtcs;
- MetaMonitorInfo *monitor_infos;
- unsigned int n_monitor_infos;
+ MetaLogicalMonitor *logical_monitors;
+ unsigned int n_logical_monitors;
int primary_monitor_index;
int dbus_name_id;
@@ -355,7 +354,7 @@ struct _MetaMonitorManagerClass
unsigned short *);
void (*add_monitor) (MetaMonitorManager *,
- MetaMonitorInfo *);
+ MetaLogicalMonitor *);
void (*delete_monitor) (MetaMonitorManager *,
int monitor_winsys_xid);
@@ -364,8 +363,8 @@ struct _MetaMonitorManagerClass
void meta_monitor_manager_rebuild_derived (MetaMonitorManager *manager);
-MetaMonitorInfo *meta_monitor_manager_get_monitor_infos (MetaMonitorManager *manager,
- unsigned int *n_infos);
+MetaLogicalMonitor *meta_monitor_manager_get_logical_monitors (MetaMonitorManager *manager,
+ unsigned int *n_logical_monitors);
MetaOutput *meta_monitor_manager_get_outputs (MetaMonitorManager *manager,
unsigned int *n_outputs);
diff --git a/src/backends/meta-monitor-manager.c b/src/backends/meta-monitor-manager.c
index cefb13d..dfa8766 100644
--- a/src/backends/meta-monitor-manager.c
+++ b/src/backends/meta-monitor-manager.c
@@ -82,35 +82,37 @@ meta_monitor_manager_init (MetaMonitorManager *manager)
*/
static void
construct_tile_monitor (MetaMonitorManager *manager,
- GArray *monitor_infos,
- guint32 tile_group_id)
+ GArray *logical_monitors,
+ uint32_t tile_group_id)
{
- MetaMonitorInfo info;
+ MetaLogicalMonitor new_logical_monitor;
unsigned i;
- for (i = 0; i < monitor_infos->len; i++)
+ for (i = 0; i < logical_monitors->len; i++)
{
- MetaMonitorInfo *pinfo = &g_array_index (monitor_infos, MetaMonitorInfo, i);
+ MetaLogicalMonitor *logical_monitor = &g_array_index (logical_monitors,
+ MetaLogicalMonitor,
+ i);
- if (pinfo->tile_group_id == tile_group_id)
+ if (logical_monitor->tile_group_id == tile_group_id)
return;
}
/* didn't find it */
- info.number = monitor_infos->len;
- info.tile_group_id = tile_group_id;
- info.is_presentation = FALSE;
- info.refresh_rate = 0.0;
- info.width_mm = 0;
- info.height_mm = 0;
- info.is_primary = FALSE;
- info.rect.x = INT_MAX;
- info.rect.y = INT_MAX;
- info.rect.width = 0;
- info.rect.height = 0;
- info.winsys_id = 0;
- info.n_outputs = 0;
- info.monitor_winsys_xid = 0;
+ new_logical_monitor.number = logical_monitors->len;
+ new_logical_monitor.tile_group_id = tile_group_id;
+ new_logical_monitor.is_presentation = FALSE;
+ new_logical_monitor.refresh_rate = 0.0;
+ new_logical_monitor.width_mm = 0;
+ new_logical_monitor.height_mm = 0;
+ new_logical_monitor.is_primary = FALSE;
+ new_logical_monitor.rect.x = INT_MAX;
+ new_logical_monitor.rect.y = INT_MAX;
+ new_logical_monitor.rect.width = 0;
+ new_logical_monitor.rect.height = 0;
+ new_logical_monitor.winsys_id = 0;
+ new_logical_monitor.n_outputs = 0;
+ new_logical_monitor.monitor_winsys_xid = 0;
for (i = 0; i < manager->n_outputs; i++)
{
@@ -131,42 +133,42 @@ construct_tile_monitor (MetaMonitorManager *manager,
if (output->tile_info.loc_h_tile == 0 && output->tile_info.loc_v_tile == 0)
{
- info.refresh_rate = output->crtc->current_mode->refresh_rate;
- info.width_mm = output->width_mm;
- info.height_mm = output->height_mm;
- info.winsys_id = output->winsys_id;
+ new_logical_monitor.refresh_rate = output->crtc->current_mode->refresh_rate;
+ new_logical_monitor.width_mm = output->width_mm;
+ new_logical_monitor.height_mm = output->height_mm;
+ new_logical_monitor.winsys_id = output->winsys_id;
}
/* hack */
- if (output->crtc->rect.x < info.rect.x)
- info.rect.x = output->crtc->rect.x;
- if (output->crtc->rect.y < info.rect.y)
- info.rect.y = output->crtc->rect.y;
+ if (output->crtc->rect.x < new_logical_monitor.rect.x)
+ new_logical_monitor.rect.x = output->crtc->rect.x;
+ if (output->crtc->rect.y < new_logical_monitor.rect.y)
+ new_logical_monitor.rect.y = output->crtc->rect.y;
if (output->tile_info.loc_h_tile == 0)
- info.rect.height += output->tile_info.tile_h;
+ new_logical_monitor.rect.height += output->tile_info.tile_h;
if (output->tile_info.loc_v_tile == 0)
- info.rect.width += output->tile_info.tile_w;
+ new_logical_monitor.rect.width += output->tile_info.tile_w;
- if (info.n_outputs > META_MAX_OUTPUTS_PER_MONITOR)
+ if (new_logical_monitor.n_outputs > META_MAX_OUTPUTS_PER_MONITOR)
continue;
- info.outputs[info.n_outputs++] = output;
+ new_logical_monitor.outputs[new_logical_monitor.n_outputs++] = output;
}
/* if we don't have a winsys id, i.e. we haven't found tile 0,0
don't try and add this to the monitor infos */
- if (!info.winsys_id)
+ if (!new_logical_monitor.winsys_id)
return;
- g_array_append_val (monitor_infos, info);
+ g_array_append_val (logical_monitors, new_logical_monitor);
}
/*
* make_logical_config:
*
- * Turn outputs and CRTCs into logical MetaMonitorInfo,
+ * Turn outputs and CRTCs into logical MetaLogicalMonitor,
* that will be used by the core and API layer (MetaScreen
* and friends)
*/
@@ -174,13 +176,13 @@ static void
make_logical_config (MetaMonitorManager *manager)
{
MetaMonitorManagerClass *manager_class = META_MONITOR_MANAGER_GET_CLASS (manager);
- GArray *monitor_infos;
+ GArray *logical_monitors;
unsigned int i, j;
- monitor_infos = g_array_sized_new (FALSE, TRUE, sizeof (MetaMonitorInfo),
- manager->n_crtcs);
+ logical_monitors = g_array_sized_new (FALSE, TRUE, sizeof (MetaLogicalMonitor),
+ manager->n_crtcs);
- /* Walk the list of MetaCRTCs, and build a MetaMonitorInfo
+ /* Walk the list of MetaCRTCs, and build a MetaLogicalMonitor
for each of them, unless they reference a rectangle that
is already there.
*/
@@ -190,7 +192,8 @@ make_logical_config (MetaMonitorManager *manager)
MetaOutput *output = &manager->outputs[i];
if (output->tile_info.group_id)
- construct_tile_monitor (manager, monitor_infos, output->tile_info.group_id);
+ construct_tile_monitor (manager, logical_monitors,
+ output->tile_info.group_id);
}
for (i = 0; i < manager->n_crtcs; i++)
@@ -201,41 +204,43 @@ make_logical_config (MetaMonitorManager *manager)
if (crtc->current_mode == NULL)
continue;
- for (j = 0; j < monitor_infos->len; j++)
+ for (j = 0; j < logical_monitors->len; j++)
{
- MetaMonitorInfo *info = &g_array_index (monitor_infos, MetaMonitorInfo, j);
- if (meta_rectangle_contains_rect (&info->rect,
+ MetaLogicalMonitor *logical_monitor =
+ &g_array_index (logical_monitors, MetaLogicalMonitor, j);
+ if (meta_rectangle_contains_rect (&logical_monitor->rect,
&crtc->rect))
{
- crtc->logical_monitor = info;
+ crtc->logical_monitor = logical_monitor;
break;
}
}
if (crtc->logical_monitor == NULL)
{
- MetaMonitorInfo info;
-
- info.number = monitor_infos->len;
- info.tile_group_id = 0;
- info.rect = crtc->rect;
- info.refresh_rate = crtc->current_mode->refresh_rate;
- info.scale = 1;
- info.is_primary = FALSE;
+ MetaLogicalMonitor logical_monitor;
+
+ logical_monitor.number = logical_monitors->len;
+ logical_monitor.tile_group_id = 0;
+ logical_monitor.rect = crtc->rect;
+ logical_monitor.refresh_rate = crtc->current_mode->refresh_rate;
+ logical_monitor.scale = 1;
+ logical_monitor.is_primary = FALSE;
/* This starts true because we want
is_presentation only if all outputs are
marked as such (while for primary it's enough
that any is marked)
*/
- info.is_presentation = TRUE;
- info.in_fullscreen = -1;
- info.winsys_id = 0;
- info.n_outputs = 0;
- info.monitor_winsys_xid = 0;
- g_array_append_val (monitor_infos, info);
-
- crtc->logical_monitor = &g_array_index (monitor_infos, MetaMonitorInfo,
- info.number);
+ logical_monitor.is_presentation = TRUE;
+ logical_monitor.in_fullscreen = -1;
+ logical_monitor.winsys_id = 0;
+ logical_monitor.n_outputs = 0;
+ logical_monitor.monitor_winsys_xid = 0;
+ g_array_append_val (logical_monitors, logical_monitor);
+
+ crtc->logical_monitor = &g_array_index (logical_monitors,
+ MetaLogicalMonitor,
+ logical_monitor.number);
}
}
@@ -245,7 +250,7 @@ make_logical_config (MetaMonitorManager *manager)
for (i = 0; i < manager->n_outputs; i++)
{
MetaOutput *output;
- MetaMonitorInfo *info;
+ MetaLogicalMonitor *logical_monitor;
output = &manager->outputs[i];
@@ -259,32 +264,34 @@ make_logical_config (MetaMonitorManager *manager)
/* We must have a logical monitor on every CRTC at this point */
g_assert (output->crtc->logical_monitor != NULL);
- info = output->crtc->logical_monitor;
+ logical_monitor = output->crtc->logical_monitor;
- info->is_primary = info->is_primary || output->is_primary;
- info->is_presentation = info->is_presentation && output->is_presentation;
+ logical_monitor->is_primary =
+ logical_monitor->is_primary || output->is_primary;
+ logical_monitor->is_presentation =
+ logical_monitor->is_presentation && output->is_presentation;
- info->width_mm = output->width_mm;
- info->height_mm = output->height_mm;
+ logical_monitor->width_mm = output->width_mm;
+ logical_monitor->height_mm = output->height_mm;
- info->outputs[0] = output;
- info->n_outputs = 1;
+ logical_monitor->outputs[0] = output;
+ logical_monitor->n_outputs = 1;
- info->scale = output->scale;
+ logical_monitor->scale = output->scale;
- if (output->is_primary || info->winsys_id == 0)
- info->winsys_id = output->winsys_id;
+ if (output->is_primary || logical_monitor->winsys_id == 0)
+ logical_monitor->winsys_id = output->winsys_id;
- if (info->is_primary)
- manager->primary_monitor_index = info->number;
+ if (logical_monitor->is_primary)
+ manager->primary_monitor_index = logical_monitor->number;
}
- manager->n_monitor_infos = monitor_infos->len;
- manager->monitor_infos = (void*)g_array_free (monitor_infos, FALSE);
+ manager->n_logical_monitors = logical_monitors->len;
+ manager->logical_monitors = (void*)g_array_free (logical_monitors, FALSE);
if (manager_class->add_monitor)
- for (i = 0; i < manager->n_monitor_infos; i++)
- manager_class->add_monitor (manager, &manager->monitor_infos[i]);
+ for (i = 0; i < manager->n_logical_monitors; i++)
+ manager_class->add_monitor (manager, &manager->logical_monitors[i]);
}
static void
@@ -426,7 +433,7 @@ meta_monitor_manager_finalize (GObject *object)
meta_monitor_manager_free_output_array (manager->outputs, manager->n_outputs);
meta_monitor_manager_free_mode_array (manager->modes, manager->n_modes);
meta_monitor_manager_free_crtc_array (manager->crtcs, manager->n_crtcs);
- g_free (manager->monitor_infos);
+ g_free (manager->logical_monitors);
G_OBJECT_CLASS (meta_monitor_manager_parent_class)->finalize (object);
}
@@ -1283,12 +1290,12 @@ meta_monitor_manager_get (void)
return meta_backend_get_monitor_manager (backend);
}
-MetaMonitorInfo *
-meta_monitor_manager_get_monitor_infos (MetaMonitorManager *manager,
- unsigned int *n_infos)
+MetaLogicalMonitor *
+meta_monitor_manager_get_logical_monitors (MetaMonitorManager *manager,
+ unsigned int *n_logical_monitors)
{
- *n_infos = manager->n_monitor_infos;
- return manager->monitor_infos;
+ *n_logical_monitors = manager->n_logical_monitors;
+ return manager->logical_monitors;
}
MetaOutput *
@@ -1380,11 +1387,11 @@ meta_monitor_manager_rebuild_derived (MetaMonitorManager *manager)
{
MetaBackend *backend = meta_get_backend ();
MetaMonitorManagerClass *manager_class = META_MONITOR_MANAGER_GET_CLASS (manager);
- MetaMonitorInfo *old_monitor_infos;
- unsigned old_n_monitor_infos;
+ MetaLogicalMonitor *old_logical_monitors;
+ unsigned old_n_logical_monitors;
unsigned i, j;
- old_monitor_infos = manager->monitor_infos;
- old_n_monitor_infos = manager->n_monitor_infos;
+ old_logical_monitors = manager->logical_monitors;
+ old_n_logical_monitors = manager->n_logical_monitors;
if (manager->in_init)
return;
@@ -1393,19 +1400,25 @@ meta_monitor_manager_rebuild_derived (MetaMonitorManager *manager)
if (manager_class->delete_monitor)
{
- for (i = 0; i < old_n_monitor_infos; i++)
+ for (i = 0; i < old_n_logical_monitors; i++)
{
+ int old_monitor_winsys_xid =
+ old_logical_monitors[i].monitor_winsys_xid;
gboolean delete_mon = TRUE;
- for (j = 0; j < manager->n_monitor_infos; j++)
+
+ for (j = 0; j < manager->n_logical_monitors; j++)
{
- if (manager->monitor_infos[j].monitor_winsys_xid == old_monitor_infos[i].monitor_winsys_xid)
+ int new_monitor_winsys_xid =
+ manager->logical_monitors[j].monitor_winsys_xid;
+
+ if (new_monitor_winsys_xid == old_monitor_winsys_xid)
{
delete_mon = FALSE;
break;
}
}
if (delete_mon)
- manager_class->delete_monitor (manager, old_monitor_infos[i].monitor_winsys_xid);
+ manager_class->delete_monitor (manager, old_monitor_winsys_xid);
}
}
@@ -1417,7 +1430,7 @@ meta_monitor_manager_rebuild_derived (MetaMonitorManager *manager)
g_signal_emit_by_name (manager, "monitors-changed");
- g_free (old_monitor_infos);
+ g_free (old_logical_monitors);
}
void
@@ -1576,8 +1589,8 @@ meta_monitor_manager_get_monitor_for_output (MetaMonitorManager *manager,
if (!output || !output->crtc)
return -1;
- for (i = 0; i < manager->n_monitor_infos; i++)
- if (meta_rectangle_contains_rect (&manager->monitor_infos[i].rect,
+ for (i = 0; i < manager->n_logical_monitors; i++)
+ if (meta_rectangle_contains_rect (&manager->logical_monitors[i].rect,
&output->crtc->rect))
return i;
@@ -1591,15 +1604,15 @@ meta_monitor_manager_get_monitor_at_point (MetaMonitorManager *manager,
{
unsigned int i;
- for (i = 0; i < manager->n_monitor_infos; i++)
+ for (i = 0; i < manager->n_logical_monitors; i++)
{
- MetaMonitorInfo *monitor = &manager->monitor_infos[i];
+ MetaLogicalMonitor *logical_monitor = &manager->logical_monitors[i];
int left, right, top, bottom;
- left = monitor->rect.x;
- right = left + monitor->rect.width;
- top = monitor->rect.y;
- bottom = top + monitor->rect.height;
+ left = logical_monitor->rect.x;
+ right = left + logical_monitor->rect.width;
+ top = logical_monitor->rect.y;
+ bottom = top + logical_monitor->rect.height;
if ((x >= left) && (x < right) && (y >= top) && (y < bottom))
return i;
diff --git a/src/backends/meta-renderer-view.c b/src/backends/meta-renderer-view.c
index a379a89..54ba80a 100644
--- a/src/backends/meta-renderer-view.c
+++ b/src/backends/meta-renderer-view.c
@@ -39,16 +39,16 @@ struct _MetaRendererView
ClutterStageViewCogl parent;
MetaMonitorTransform transform;
- MetaMonitorInfo *monitor_info;
+ MetaLogicalMonitor *logical_monitor;
};
G_DEFINE_TYPE (MetaRendererView, meta_renderer_view,
CLUTTER_TYPE_STAGE_VIEW_COGL)
-MetaMonitorInfo *
-meta_renderer_view_get_monitor_info (MetaRendererView *view)
+MetaLogicalMonitor *
+meta_renderer_view_get_logical_monitor (MetaRendererView *view)
{
- return view->monitor_info;
+ return view->logical_monitor;
}
static void
@@ -128,7 +128,7 @@ meta_renderer_view_get_property (GObject *object,
switch (prop_id)
{
case PROP_MONITOR_INFO:
- g_value_set_pointer (value, view->monitor_info);
+ g_value_set_pointer (value, view->logical_monitor);
break;
case PROP_TRANSFORM:
g_value_set_uint (value, view->transform);
@@ -150,7 +150,7 @@ meta_renderer_view_set_property (GObject *object,
switch (prop_id)
{
case PROP_MONITOR_INFO:
- view->monitor_info = g_value_get_pointer (value);
+ view->logical_monitor = g_value_get_pointer (value);
break;
case PROP_TRANSFORM:
meta_renderer_view_set_transform (view, g_value_get_uint (value));
@@ -181,9 +181,9 @@ meta_renderer_view_class_init (MetaRendererViewClass *klass)
object_class->set_property = meta_renderer_view_set_property;
obj_props[PROP_MONITOR_INFO] =
- g_param_spec_pointer ("monitor-info",
- "MetaMonitorInfo",
- "The monitor info of the view",
+ g_param_spec_pointer ("logical-monitor",
+ "MetaLogicalMonitor",
+ "The logical monitor of the view",
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS |
G_PARAM_CONSTRUCT_ONLY);
diff --git a/src/backends/meta-renderer-view.h b/src/backends/meta-renderer-view.h
index 9c43fbb..ccab17e 100644
--- a/src/backends/meta-renderer-view.h
+++ b/src/backends/meta-renderer-view.h
@@ -26,6 +26,6 @@ G_DECLARE_FINAL_TYPE (MetaRendererView, meta_renderer_view,
META, RENDERER_VIEW,
ClutterStageViewCogl)
-MetaMonitorInfo *meta_renderer_view_get_monitor_info (MetaRendererView *view);
+MetaLogicalMonitor *meta_renderer_view_get_logical_monitor (MetaRendererView *view);
#endif /* META_RENDERER_VIEW_H */
diff --git a/src/backends/meta-renderer.c b/src/backends/meta-renderer.c
index ff5fd6e..9228aef 100644
--- a/src/backends/meta-renderer.c
+++ b/src/backends/meta-renderer.c
@@ -43,11 +43,11 @@ meta_renderer_create_cogl_renderer (MetaRenderer *renderer)
}
static MetaRendererView *
-meta_renderer_create_view (MetaRenderer *renderer,
- MetaMonitorInfo *monitor_info)
+meta_renderer_create_view (MetaRenderer *renderer,
+ MetaLogicalMonitor *logical_monitor)
{
return META_RENDERER_GET_CLASS (renderer)->create_view (renderer,
- monitor_info);
+ logical_monitor);
}
void
@@ -57,21 +57,22 @@ meta_renderer_rebuild_views (MetaRenderer *renderer)
MetaBackend *backend = meta_get_backend ();
MetaMonitorManager *monitor_manager =
meta_backend_get_monitor_manager (backend);
- MetaMonitorInfo *monitor_infos;
- unsigned int num_monitor_infos;
+ MetaLogicalMonitor *logical_monitors;
+ unsigned int n_logical_monitors;
unsigned int i;
g_list_free_full (priv->views, g_object_unref);
priv->views = NULL;
- monitor_infos = meta_monitor_manager_get_monitor_infos (monitor_manager,
- &num_monitor_infos);
+ logical_monitors =
+ meta_monitor_manager_get_logical_monitors (monitor_manager,
+ &n_logical_monitors);
- for (i = 0; i < num_monitor_infos; i++)
+ for (i = 0; i < n_logical_monitors; i++)
{
MetaRendererView *view;
- view = meta_renderer_create_view (renderer, &monitor_infos[i]);
+ view = meta_renderer_create_view (renderer, &logical_monitors[i]);
priv->views = g_list_append (priv->views, view);
}
}
diff --git a/src/backends/meta-renderer.h b/src/backends/meta-renderer.h
index ca6868b..bf51b51 100644
--- a/src/backends/meta-renderer.h
+++ b/src/backends/meta-renderer.h
@@ -40,8 +40,8 @@ struct _MetaRendererClass
GObjectClass parent_class;
CoglRenderer * (* create_cogl_renderer) (MetaRenderer *renderer);
- MetaRendererView * (* create_view) (MetaRenderer *renderer,
- MetaMonitorInfo *monitor_info);
+ MetaRendererView * (* create_view) (MetaRenderer *renderer,
+ MetaLogicalMonitor *logical_monitor);
};
CoglRenderer * meta_renderer_create_cogl_renderer (MetaRenderer *renderer);
diff --git a/src/backends/native/meta-backend-native.c b/src/backends/native/meta-backend-native.c
index 5c32b51..b23aec1 100644
--- a/src/backends/native/meta-backend-native.c
+++ b/src/backends/native/meta-backend-native.c
@@ -174,10 +174,10 @@ constrain_to_client_constraint (ClutterInputDevice *device,
static void
constrain_all_screen_monitors (ClutterInputDevice *device,
- MetaMonitorInfo *monitors,
- unsigned n_monitors,
- float *x,
- float *y)
+ MetaLogicalMonitor *logical_monitors,
+ unsigned int n_logical_monitors,
+ float *x,
+ float *y)
{
ClutterPoint current;
unsigned int i;
@@ -189,15 +189,15 @@ constrain_all_screen_monitors (ClutterInputDevice *device,
cy = current.y;
/* if we're trying to escape, clamp to the CRTC we're coming from */
- for (i = 0; i < n_monitors; i++)
+ for (i = 0; i < n_logical_monitors; i++)
{
- MetaMonitorInfo *monitor = &monitors[i];
+ MetaLogicalMonitor *logical_monitor = &logical_monitors[i];
int left, right, top, bottom;
- left = monitor->rect.x;
- right = left + monitor->rect.width;
- top = monitor->rect.y;
- bottom = top + monitor->rect.height;
+ left = logical_monitor->rect.x;
+ right = left + logical_monitor->rect.width;
+ top = logical_monitor->rect.y;
+ bottom = top + logical_monitor->rect.height;
if ((cx >= left) && (cx < right) && (cy >= top) && (cy < bottom))
{
@@ -225,8 +225,8 @@ pointer_constrain_callback (ClutterInputDevice *device,
gpointer user_data)
{
MetaMonitorManager *monitor_manager;
- MetaMonitorInfo *monitors;
- unsigned int n_monitors;
+ MetaLogicalMonitor *logical_monitors;
+ unsigned int n_logical_monitors;
/* Constrain to barriers */
constrain_to_barriers (device, time, new_x, new_y);
@@ -235,14 +235,18 @@ pointer_constrain_callback (ClutterInputDevice *device,
constrain_to_client_constraint (device, time, prev_x, prev_y, new_x, new_y);
monitor_manager = meta_monitor_manager_get ();
- monitors = meta_monitor_manager_get_monitor_infos (monitor_manager, &n_monitors);
+ logical_monitors =
+ meta_monitor_manager_get_logical_monitors (monitor_manager,
+ &n_logical_monitors);
/* if we're moving inside a monitor, we're fine */
if (meta_monitor_manager_get_monitor_at_point (monitor_manager, *new_x, *new_y) >= 0)
return;
/* if we're trying to escape, clamp to the CRTC we're coming from */
- constrain_all_screen_monitors(device, monitors, n_monitors, new_x, new_y);
+ constrain_all_screen_monitors (device,
+ logical_monitors, n_logical_monitors,
+ new_x, new_y);
}
static ClutterBackend *
diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c
index a5cbe74..c330d20 100644
--- a/src/backends/native/meta-renderer-native.c
+++ b/src/backends/native/meta-renderer-native.c
@@ -617,7 +617,7 @@ meta_onscreen_native_set_crtc_modes (MetaOnscreenNative *onscreen_native)
META_MONITOR_MANAGER_KMS (monitor_manager);
MetaRendererView *view = onscreen_native->view;
uint32_t fb_id = 0;
- MetaMonitorInfo *monitor_info;
+ MetaLogicalMonitor *logical_monitor;
switch (renderer_native->mode)
{
@@ -633,18 +633,18 @@ meta_onscreen_native_set_crtc_modes (MetaOnscreenNative *onscreen_native)
g_assert (fb_id != 0);
- monitor_info = meta_renderer_view_get_monitor_info (view);
- if (monitor_info)
+ logical_monitor = meta_renderer_view_get_logical_monitor (view);
+ if (logical_monitor)
{
unsigned int i;
for (i = 0; i < monitor_manager->n_crtcs; i++)
{
MetaCRTC *crtc = &monitor_manager->crtcs[i];
- int x = crtc->rect.x - monitor_info->rect.x;
- int y = crtc->rect.y - monitor_info->rect.y;
+ int x = crtc->rect.x - logical_monitor->rect.x;
+ int y = crtc->rect.y - logical_monitor->rect.y;
- if (crtc->logical_monitor != monitor_info)
+ if (crtc->logical_monitor != logical_monitor)
continue;
meta_monitor_manager_kms_apply_crtc_mode (monitor_manager_kms,
@@ -679,7 +679,7 @@ meta_onscreen_native_flip_crtcs (CoglOnscreen *onscreen)
meta_backend_get_monitor_manager (backend);
MetaRendererView *view = onscreen_native->view;
GClosure *flip_closure;
- MetaMonitorInfo *monitor_info;
+ MetaLogicalMonitor *logical_monitor;
gboolean fb_in_use = FALSE;
/*
@@ -700,18 +700,18 @@ meta_onscreen_native_flip_crtcs (CoglOnscreen *onscreen)
/* Either flip the CRTC's of the monitor info, if we are drawing just part
* of the stage, or all of the CRTC's if we are drawing the whole stage.
*/
- monitor_info = meta_renderer_view_get_monitor_info (view);
- if (monitor_info)
+ logical_monitor = meta_renderer_view_get_logical_monitor (view);
+ if (logical_monitor)
{
unsigned int i;
for (i = 0; i < monitor_manager->n_crtcs; i++)
{
MetaCRTC *crtc = &monitor_manager->crtcs[i];
- int x = crtc->rect.x - monitor_info->rect.x;
- int y = crtc->rect.y - monitor_info->rect.y;
+ int x = crtc->rect.x - logical_monitor->rect.x;
+ int y = crtc->rect.y - logical_monitor->rect.y;
- if (crtc->logical_monitor != monitor_info)
+ if (crtc->logical_monitor != logical_monitor)
continue;
meta_onscreen_native_flip_crtc (onscreen_native, flip_closure,
@@ -951,7 +951,7 @@ meta_renderer_native_create_surface_gbm (MetaRendererNative *renderer_native,
#ifdef HAVE_EGL_DEVICE
static gboolean
meta_renderer_native_create_surface_egl_device (MetaRendererNative *renderer_native,
- MetaMonitorInfo *monitor_info,
+ MetaLogicalMonitor *logical_monitor,
int width,
int height,
EGLStreamKHR *out_egl_stream,
@@ -974,11 +974,11 @@ meta_renderer_native_create_surface_egl_device (MetaRendererNative *renderer_nat
EGLOutputLayerEXT output_layer;
EGLAttrib output_attribs[] = {
/*
- * An "monitor_info" may have multiple outputs/crtcs in case its tiled,
+ * An "logical_monitor" may have multiple outputs/crtcs in case its tiled,
* but as far as I can tell, EGL only allows you to pass one crtc_id, so
* lets pass the first one.
*/
- EGL_DRM_CRTC_EXT, monitor_info->outputs[0]->crtc->crtc_id,
+ EGL_DRM_CRTC_EXT, logical_monitor->outputs[0]->crtc->crtc_id,
EGL_NONE,
};
EGLint stream_attribs[] = {
@@ -1222,7 +1222,7 @@ meta_onscreen_native_allocate (CoglOnscreen *onscreen,
int height;
#ifdef HAVE_EGL_DEVICE
MetaRendererView *view;
- MetaMonitorInfo *monitor_info;
+ MetaLogicalMonitor *logical_monitor;
EGLStreamKHR egl_stream;
#endif
@@ -1258,9 +1258,9 @@ meta_onscreen_native_allocate (CoglOnscreen *onscreen,
return FALSE;
view = onscreen_native->view;
- monitor_info = meta_renderer_view_get_monitor_info (view);
+ logical_monitor = meta_renderer_view_get_logical_monitor (view);
if (!meta_renderer_native_create_surface_egl_device (renderer_native,
- monitor_info,
+ logical_monitor,
width, height,
&egl_stream,
&egl_surface,
@@ -1385,8 +1385,8 @@ meta_renderer_native_queue_modes_reset (MetaRendererNative *renderer_native)
}
static MetaMonitorTransform
-meta_renderer_native_get_monitor_info_transform (MetaRenderer *renderer,
- MetaMonitorInfo *monitor_info)
+meta_renderer_native_get_logical_monitor_transform (MetaRenderer *renderer,
+ MetaLogicalMonitor *logical_monitor)
{
MetaBackend *backend = meta_get_backend ();
MetaMonitorManager *monitor_manager =
@@ -1394,10 +1394,10 @@ meta_renderer_native_get_monitor_info_transform (MetaRenderer *renderer,
MetaMonitorManagerKms *monitor_manager_kms =
META_MONITOR_MANAGER_KMS (monitor_manager);
- g_assert (monitor_info->n_outputs > 0);
+ g_assert (logical_monitor->n_outputs > 0);
return meta_monitor_manager_kms_get_view_transform (monitor_manager_kms,
- monitor_info->outputs[0]->crtc);
+ logical_monitor->outputs[0]->crtc);
}
static CoglOnscreen *
@@ -1673,8 +1673,8 @@ meta_renderer_native_create_legacy_view (MetaRendererNative *renderer_native)
}
static MetaRendererView *
-meta_renderer_native_create_view (MetaRenderer *renderer,
- MetaMonitorInfo *monitor_info)
+meta_renderer_native_create_view (MetaRenderer *renderer,
+ MetaLogicalMonitor *logical_monitor)
{
MetaBackend *backend = meta_get_backend ();
ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
@@ -1688,14 +1688,14 @@ meta_renderer_native_create_view (MetaRenderer *renderer,
MetaRendererView *view;
GError *error = NULL;
- transform = meta_renderer_native_get_monitor_info_transform (renderer,
- monitor_info);
+ transform = meta_renderer_native_get_logical_monitor_transform (renderer,
+ logical_monitor);
onscreen = meta_renderer_native_create_onscreen (META_RENDERER_NATIVE (renderer),
cogl_context,
transform,
- monitor_info->rect.width,
- monitor_info->rect.height);
+ logical_monitor->rect.width,
+ logical_monitor->rect.height);
if (!onscreen)
meta_fatal ("Failed to allocate onscreen framebuffer\n");
@@ -1704,17 +1704,17 @@ meta_renderer_native_create_view (MetaRenderer *renderer,
offscreen = meta_renderer_native_create_offscreen (META_RENDERER_NATIVE (renderer),
cogl_context,
transform,
- monitor_info->rect.width,
- monitor_info->rect.height);
+ logical_monitor->rect.width,
+ logical_monitor->rect.height);
if (!offscreen)
meta_fatal ("Failed to allocate back buffer texture\n");
}
view = g_object_new (META_TYPE_RENDERER_VIEW,
- "layout", &monitor_info->rect,
+ "layout", &logical_monitor->rect,
"framebuffer", onscreen,
"offscreen", offscreen,
- "monitor-info", monitor_info,
+ "logical-monitor", logical_monitor,
"transform", transform,
NULL);
g_clear_pointer (&offscreen, cogl_object_unref);
diff --git a/src/backends/x11/meta-monitor-manager-xrandr.c b/src/backends/x11/meta-monitor-manager-xrandr.c
index b0a77da..eb3c9d3 100644
--- a/src/backends/x11/meta-monitor-manager-xrandr.c
+++ b/src/backends/x11/meta-monitor-manager-xrandr.c
@@ -1332,8 +1332,8 @@ meta_monitor_manager_xrandr_set_crtc_gamma (MetaMonitorManager *manager,
#ifdef HAVE_XRANDR15
static void
-meta_monitor_manager_xrandr_add_monitor(MetaMonitorManager *manager,
- MetaMonitorInfo *monitor)
+meta_monitor_manager_xrandr_add_monitor (MetaMonitorManager *manager,
+ MetaLogicalMonitor *logical_monitor)
{
MetaMonitorManagerXrandr *manager_xrandr = META_MONITOR_MANAGER_XRANDR (manager);
XRRMonitorInfo *m;
@@ -1344,25 +1344,29 @@ meta_monitor_manager_xrandr_add_monitor(MetaMonitorManager *manager,
if (manager_xrandr->has_randr15 == FALSE)
return;
- if (monitor->n_outputs <= 1)
+ if (logical_monitor->n_outputs <= 1)
return;
- if (monitor->outputs[0]->product)
- snprintf (name_buf, 40, "%s-%d", monitor->outputs[0]->product, monitor->outputs[0]->tile_info.group_id);
+ if (logical_monitor->outputs[0]->product)
+ snprintf (name_buf, 40, "%s-%d",
+ logical_monitor->outputs[0]->product,
+ logical_monitor->outputs[0]->tile_info.group_id);
else
- snprintf (name_buf, 40, "Tiled-%d", monitor->outputs[0]->tile_info.group_id);
+ snprintf (name_buf, 40, "Tiled-%d",
+ logical_monitor->outputs[0]->tile_info.group_id);
name = XInternAtom (manager_xrandr->xdisplay, name_buf, False);
- monitor->monitor_winsys_xid = name;
- m = XRRAllocateMonitor (manager_xrandr->xdisplay, monitor->n_outputs);
+ logical_monitor->monitor_winsys_xid = name;
+ m = XRRAllocateMonitor (manager_xrandr->xdisplay,
+ logical_monitor->n_outputs);
if (!m)
return;
m->name = name;
- m->primary = monitor->is_primary;
+ m->primary = logical_monitor->is_primary;
m->automatic = True;
- for (o = 0; o < monitor->n_outputs; o++) {
- MetaOutput *output = monitor->outputs[o];
+ for (o = 0; o < logical_monitor->n_outputs; o++) {
+ MetaOutput *output = logical_monitor->outputs[o];
m->outputs[o] = output->winsys_id;
}
XRRSetMonitor (manager_xrandr->xdisplay,
@@ -1372,8 +1376,8 @@ meta_monitor_manager_xrandr_add_monitor(MetaMonitorManager *manager,
}
static void
-meta_monitor_manager_xrandr_delete_monitor(MetaMonitorManager *manager,
- int monitor_winsys_xid)
+meta_monitor_manager_xrandr_delete_monitor (MetaMonitorManager *manager,
+ int monitor_winsys_xid)
{
MetaMonitorManagerXrandr *manager_xrandr = META_MONITOR_MANAGER_XRANDR (manager);
@@ -1385,7 +1389,7 @@ meta_monitor_manager_xrandr_delete_monitor(MetaMonitorManager *manager,
}
static void
-meta_monitor_manager_xrandr_init_monitors(MetaMonitorManagerXrandr *manager_xrandr)
+meta_monitor_manager_xrandr_init_monitors (MetaMonitorManagerXrandr *manager_xrandr)
{
XRRMonitorInfo *m;
int n, i;
diff --git a/src/backends/x11/meta-renderer-x11.c b/src/backends/x11/meta-renderer-x11.c
index c0405be..bdafc2e 100644
--- a/src/backends/x11/meta-renderer-x11.c
+++ b/src/backends/x11/meta-renderer-x11.c
@@ -69,8 +69,8 @@ meta_renderer_x11_create_cogl_renderer (MetaRenderer *renderer)
}
static MetaRendererView *
-meta_renderer_x11_create_view (MetaRenderer *renderer,
- MetaMonitorInfo *monitor_info)
+meta_renderer_x11_create_view (MetaRenderer *renderer,
+ MetaLogicalMonitor *logical_monitor)
{
MetaBackend *backend = meta_get_backend ();
ClutterBackend *clutter_backend = meta_backend_get_clutter_backend (backend);
@@ -82,8 +82,8 @@ meta_renderer_x11_create_view (MetaRenderer *renderer,
g_assert (meta_is_wayland_compositor ());
- width = monitor_info->rect.width;
- height = monitor_info->rect.height;
+ width = logical_monitor->rect.width;
+ height = logical_monitor->rect.height;
texture_2d = cogl_texture_2d_new_with_size (cogl_context, width, height);
offscreen = cogl_offscreen_new_with_texture (COGL_TEXTURE (texture_2d));
@@ -91,7 +91,7 @@ meta_renderer_x11_create_view (MetaRenderer *renderer,
meta_fatal ("Couldn't allocate framebuffer: %s", error->message);
return g_object_new (META_TYPE_RENDERER_VIEW,
- "layout", &monitor_info->rect,
+ "layout", &logical_monitor->rect,
"framebuffer", COGL_FRAMEBUFFER (offscreen),
NULL);
}
diff --git a/src/compositor/meta-surface-actor-wayland.c b/src/compositor/meta-surface-actor-wayland.c
index 8acc8e8..cd89759 100644
--- a/src/compositor/meta-surface-actor-wayland.c
+++ b/src/compositor/meta-surface-actor-wayland.c
@@ -267,7 +267,7 @@ meta_surface_actor_wayland_sync_state_recursive (MetaSurfaceActorWayland *self)
gboolean
meta_surface_actor_wayland_is_on_monitor (MetaSurfaceActorWayland *self,
- MetaMonitorInfo *monitor)
+ MetaLogicalMonitor *logical_monitor)
{
float x, y, width, height;
cairo_rectangle_int_t actor_rect;
@@ -287,10 +287,10 @@ meta_surface_actor_wayland_is_on_monitor (MetaSurfaceActorWayland *self,
cairo_region_intersect_rectangle (region,
&((cairo_rectangle_int_t) {
- .x = monitor->rect.x,
- .y = monitor->rect.y,
- .width = monitor->rect.width,
- .height = monitor->rect.height,
+ .x = logical_monitor->rect.x,
+ .y = logical_monitor->rect.y,
+ .width = logical_monitor->rect.width,
+ .height = logical_monitor->rect.height,
}));
is_on_monitor = !cairo_region_is_empty (region);
diff --git a/src/compositor/meta-surface-actor-wayland.h b/src/compositor/meta-surface-actor-wayland.h
index 5f98317..58943cf 100644
--- a/src/compositor/meta-surface-actor-wayland.h
+++ b/src/compositor/meta-surface-actor-wayland.h
@@ -74,7 +74,7 @@ void meta_surface_actor_wayland_sync_state_recursive (MetaSurfaceActorWayland *s
void meta_surface_actor_wayland_sync_subsurface_state (MetaSurfaceActorWayland *self);
gboolean meta_surface_actor_wayland_is_on_monitor (MetaSurfaceActorWayland *self,
- MetaMonitorInfo *monitor);
+ MetaLogicalMonitor *logical_monitor);
void meta_surface_actor_wayland_add_frame_callbacks (MetaSurfaceActorWayland *self,
struct wl_list *frame_callbacks);
diff --git a/src/core/constraints.c b/src/core/constraints.c
index e7dcacd..14ab7c3 100644
--- a/src/core/constraints.c
+++ b/src/core/constraints.c
@@ -328,7 +328,7 @@ setup_constraint_info (ConstraintInfo *info,
const MetaRectangle *orig,
MetaRectangle *new)
{
- const MetaMonitorInfo *monitor_info;
+ const MetaLogicalMonitor *logical_monitor;
MetaWorkspace *cur_workspace;
info->orig = *orig;
@@ -376,15 +376,15 @@ setup_constraint_info (ConstraintInfo *info,
if (!info->is_user_action)
info->fixed_directions = FIXED_DIRECTION_NONE;
- monitor_info =
- meta_screen_get_monitor_for_rect (window->screen, &info->current);
+ logical_monitor =
+ meta_screen_get_logical_monitor_for_rect (window->screen, &info->current);
meta_window_get_work_area_for_monitor (window,
- monitor_info->number,
+ logical_monitor->number,
&info->work_area_monitor);
if (!window->fullscreen || window->fullscreen_monitors[0] == -1)
{
- info->entire_monitor = monitor_info->rect;
+ info->entire_monitor = logical_monitor->rect;
}
else
{
@@ -393,12 +393,12 @@ setup_constraint_info (ConstraintInfo *info,
monitor = window->fullscreen_monitors[i];
info->entire_monitor =
- window->screen->monitor_infos[monitor].rect;
+ window->screen->logical_monitors[monitor].rect;
for (i = 1; i <= 3; i++)
{
monitor = window->fullscreen_monitors[i];
meta_rectangle_union (&info->entire_monitor,
- &window->screen->monitor_infos[monitor].rect,
+ &window->screen->logical_monitors[monitor].rect,
&info->entire_monitor);
}
}
@@ -408,7 +408,7 @@ setup_constraint_info (ConstraintInfo *info,
meta_workspace_get_onscreen_region (cur_workspace);
info->usable_monitor_region =
meta_workspace_get_onmonitor_region (cur_workspace,
- monitor_info->number);
+ logical_monitor->number);
/* Log all this information for debugging */
meta_topic (META_DEBUG_GEOMETRY,
@@ -463,7 +463,7 @@ place_window_if_needed(MetaWindow *window,
MetaRectangle orig_rect;
MetaRectangle placed_rect;
MetaWorkspace *cur_workspace;
- const MetaMonitorInfo *monitor_info;
+ const MetaLogicalMonitor *logical_monitor;
placed_rect = (MetaRectangle) {
.x = window->rect.x,
@@ -481,16 +481,16 @@ place_window_if_needed(MetaWindow *window,
/* placing the window may have changed the monitor. Find the
* new monitor and update the ConstraintInfo
*/
- monitor_info =
- meta_screen_get_monitor_for_rect (window->screen, &placed_rect);
- info->entire_monitor = monitor_info->rect;
+ logical_monitor =
+ meta_screen_get_logical_monitor_for_rect (window->screen, &placed_rect);
+ info->entire_monitor = logical_monitor->rect;
meta_window_get_work_area_for_monitor (window,
- monitor_info->number,
+ logical_monitor->number,
&info->work_area_monitor);
cur_workspace = window->screen->active_workspace;
info->usable_monitor_region =
meta_workspace_get_onmonitor_region (cur_workspace,
- monitor_info->number);
+ logical_monitor->number);
info->current.x = placed_rect.x;
info->current.y = placed_rect.y;
@@ -1449,12 +1449,12 @@ constrain_to_single_monitor (MetaWindow *window,
* "onscreen" by their own strut) and we can't apply it to frameless windows
* or else users will be unable to move windows such as XMMS across monitors.
*/
- if (window->type == META_WINDOW_DESKTOP ||
- window->type == META_WINDOW_DOCK ||
- window->screen->n_monitor_infos == 1 ||
- !window->require_on_single_monitor ||
- !window->frame ||
- info->is_user_action ||
+ if (window->type == META_WINDOW_DESKTOP ||
+ window->type == META_WINDOW_DOCK ||
+ window->screen->n_logical_monitors == 1 ||
+ !window->require_on_single_monitor ||
+ !window->frame ||
+ info->is_user_action ||
meta_window_get_placement_rule (window))
return TRUE;
diff --git a/src/core/display.c b/src/core/display.c
index d8f95df..ee1352c 100644
--- a/src/core/display.c
+++ b/src/core/display.c
@@ -3088,7 +3088,7 @@ meta_display_request_pad_osd (MetaDisplay *display,
MetaInputSettings *input_settings;
const gchar *layout_path = NULL;
ClutterActor *osd;
- MetaMonitorInfo *monitor;
+ MetaLogicalMonitor *logical_monitor;
gint monitor_idx;
GSettings *settings;
#ifdef HAVE_LIBWACOM
@@ -3107,7 +3107,8 @@ meta_display_request_pad_osd (MetaDisplay *display,
if (input_settings)
{
settings = meta_input_settings_get_tablet_settings (input_settings, pad);
- monitor = meta_input_settings_get_tablet_monitor_info (input_settings, pad);
+ logical_monitor =
+ meta_input_settings_get_tablet_logical_monitor (input_settings, pad);
#ifdef HAVE_LIBWACOM
wacom_device = meta_input_settings_get_tablet_wacom_device (input_settings,
pad);
@@ -3118,10 +3119,11 @@ meta_display_request_pad_osd (MetaDisplay *display,
if (!layout_path || !settings)
return;
- if (monitor)
+ if (logical_monitor)
{
- monitor_idx = meta_screen_get_monitor_index_for_rect (display->screen,
- &monitor->rect);
+ monitor_idx =
+ meta_screen_get_monitor_index_for_rect (display->screen,
+ &logical_monitor->rect);
}
else
{
diff --git a/src/core/keybindings.c b/src/core/keybindings.c
index 59d3c40..6ee5607 100644
--- a/src/core/keybindings.c
+++ b/src/core/keybindings.c
@@ -3155,7 +3155,7 @@ handle_move_to_monitor (MetaDisplay *display,
gpointer dummy)
{
gint which = binding->handler->data;
- const MetaMonitorInfo *current, *new;
+ const MetaLogicalMonitor *current, *new;
current = window->monitor;
new = meta_screen_get_monitor_neighbor (screen, current->number, which);
diff --git a/src/core/place.c b/src/core/place.c
index db71b83..10db54a 100644
--- a/src/core/place.c
+++ b/src/core/place.c
@@ -517,7 +517,7 @@ find_first_fit (MetaWindow *window,
#ifdef WITH_VERBOSE_MODE
{
char monitor_location_string[RECT_LENGTH];
- meta_rectangle_to_string (&window->screen->monitor_infos[monitor].rect,
+ meta_rectangle_to_string (&window->screen->logical_monitors[monitor].rect,
monitor_location_string);
meta_topic (META_DEBUG_XINERAMA,
"Natural monitor is %s\n",
@@ -661,7 +661,7 @@ meta_window_place (MetaWindow *window,
int *new_y)
{
GList *windows = NULL;
- const MetaMonitorInfo *xi;
+ const MetaLogicalMonitor *logical_monitor;
meta_topic (META_DEBUG_PLACEMENT, "Placing window %s\n", window->desc);
@@ -810,19 +810,19 @@ meta_window_place (MetaWindow *window,
meta_window_get_frame_rect (window, &frame_rect);
/* Warning, this function is a round trip! */
- xi = meta_screen_get_current_monitor_info (window->screen);
+ logical_monitor = meta_screen_get_current_logical_monitor (window->screen);
- w = xi->rect.width;
- h = xi->rect.height;
+ w = logical_monitor->rect.width;
+ h = logical_monitor->rect.height;
x = (w - frame_rect.width) / 2;
y = (h - frame_rect.height) / 2;
- x += xi->rect.x;
- y += xi->rect.y;
+ x += logical_monitor->rect.x;
+ y += logical_monitor->rect.y;
meta_topic (META_DEBUG_PLACEMENT, "Centered window %s on monitor %d\n",
- window->desc, xi->number);
+ window->desc, logical_monitor->number);
goto done_check_denied_focus;
}
@@ -855,7 +855,7 @@ meta_window_place (MetaWindow *window,
}
/* Warning, this is a round trip! */
- xi = meta_screen_get_current_monitor_info (window->screen);
+ logical_monitor = meta_screen_get_current_logical_monitor (window->screen);
/* Maximize windows if they are too big for their work area (bit of
* a hack here). Assume undecorated windows probably don't intend to
@@ -868,7 +868,7 @@ meta_window_place (MetaWindow *window,
MetaRectangle frame_rect;
meta_window_get_work_area_for_monitor (window,
- xi->number,
+ logical_monitor->number,
&workarea);
meta_window_get_frame_rect (window, &frame_rect);
@@ -883,11 +883,11 @@ meta_window_place (MetaWindow *window,
}
/* "Origin" placement algorithm */
- x = xi->rect.x;
- y = xi->rect.y;
+ x = logical_monitor->rect.x;
+ y = logical_monitor->rect.y;
if (find_first_fit (window, windows,
- xi->number,
+ logical_monitor->number,
x, y, &x, &y))
goto done_check_denied_focus;
@@ -920,11 +920,11 @@ meta_window_place (MetaWindow *window,
focus_window_list = g_list_prepend (NULL, focus_window);
/* Reset x and y ("origin" placement algorithm) */
- x = xi->rect.x;
- y = xi->rect.y;
+ x = logical_monitor->rect.x;
+ y = logical_monitor->rect.y;
found_fit = find_first_fit (window, focus_window_list,
- xi->number,
+ logical_monitor->number,
x, y, &x, &y);
g_list_free (focus_window_list);
}
diff --git a/src/core/screen-private.h b/src/core/screen-private.h
index 2e26a9e..e4cc063 100644
--- a/src/core/screen-private.h
+++ b/src/core/screen-private.h
@@ -75,8 +75,8 @@ struct _MetaScreen
Atom wm_sn_atom;
guint32 wm_sn_timestamp;
- MetaMonitorInfo *monitor_infos;
- int n_monitor_infos;
+ MetaLogicalMonitor *logical_monitors;
+ int n_logical_monitors;
int primary_monitor_index;
gboolean has_xinerama_indices;
@@ -136,23 +136,22 @@ void meta_screen_hide_tile_preview (MetaScreen *screen);
MetaWindow* meta_screen_get_mouse_window (MetaScreen *screen,
MetaWindow *not_this_one);
-const MetaMonitorInfo* meta_screen_get_current_monitor_info (MetaScreen *screen);
-const MetaMonitorInfo* meta_screen_get_current_monitor_info_for_pos (MetaScreen *screen,
- int x,
- int y);
-const MetaMonitorInfo* meta_screen_get_monitor_for_rect (MetaScreen *screen,
- MetaRectangle *rect);
-const MetaMonitorInfo* meta_screen_calculate_monitor_for_window (MetaScreen *screen,
- MetaWindow *window);
-
-const MetaMonitorInfo* meta_screen_get_monitor_for_point (MetaScreen *screen,
- int x,
- int y);
-
-
-const MetaMonitorInfo* meta_screen_get_monitor_neighbor (MetaScreen *screen,
- int which_monitor,
- MetaScreenDirection dir);
+const MetaLogicalMonitor * meta_screen_get_current_logical_monitor (MetaScreen *screen);
+const MetaLogicalMonitor * meta_screen_get_current_logical_monitor_for_pos (MetaScreen *screen,
+ int x,
+ int y);
+const MetaLogicalMonitor * meta_screen_get_logical_monitor_for_rect (MetaScreen *screen,
+ MetaRectangle *rect);
+const MetaLogicalMonitor * meta_screen_calculate_logical_monitor_for_window (MetaScreen *screen,
+ MetaWindow *window);
+
+const MetaLogicalMonitor * meta_screen_get_logical_monitor_for_point (MetaScreen *screen,
+ int x,
+ int y);
+
+const MetaLogicalMonitor * meta_screen_get_monitor_neighbor (MetaScreen *screen,
+ int which_monitor,
+ MetaScreenDirection dir);
void meta_screen_update_workspace_layout (MetaScreen *screen);
void meta_screen_update_workspace_names (MetaScreen *screen);
diff --git a/src/core/screen.c b/src/core/screen.c
index 0da4a02..a07bd06 100644
--- a/src/core/screen.c
+++ b/src/core/screen.c
@@ -358,15 +358,15 @@ meta_screen_ensure_xinerama_indices (MetaScreen *screen)
return;
}
- for (i = 0; i < screen->n_monitor_infos; ++i)
+ for (i = 0; i < screen->n_logical_monitors; ++i)
{
for (j = 0; j < n_infos; ++j)
{
- if (screen->monitor_infos[i].rect.x == infos[j].x_org &&
- screen->monitor_infos[i].rect.y == infos[j].y_org &&
- screen->monitor_infos[i].rect.width == infos[j].width &&
- screen->monitor_infos[i].rect.height == infos[j].height)
- screen->monitor_infos[i].xinerama_index = j;
+ if (screen->logical_monitors[i].rect.x == infos[j].x_org &&
+ screen->logical_monitors[i].rect.y == infos[j].y_org &&
+ screen->logical_monitors[i].rect.width == infos[j].width &&
+ screen->logical_monitors[i].rect.height == infos[j].height)
+ screen->logical_monitors[i].xinerama_index = j;
}
}
@@ -377,11 +377,11 @@ int
meta_screen_monitor_index_to_xinerama_index (MetaScreen *screen,
int index)
{
- g_return_val_if_fail (index >= 0 && index < screen->n_monitor_infos, -1);
+ g_return_val_if_fail (index >= 0 && index < screen->n_logical_monitors, -1);
meta_screen_ensure_xinerama_indices (screen);
- return screen->monitor_infos[index].xinerama_index;
+ return screen->logical_monitors[index].xinerama_index;
}
int
@@ -392,18 +392,19 @@ meta_screen_xinerama_index_to_monitor_index (MetaScreen *screen,
meta_screen_ensure_xinerama_indices (screen);
- for (i = 0; i < screen->n_monitor_infos; i++)
- if (screen->monitor_infos[i].xinerama_index == index)
+ for (i = 0; i < screen->n_logical_monitors; i++)
+ if (screen->logical_monitors[i].xinerama_index == index)
return i;
return -1;
}
static void
-reload_monitor_infos (MetaScreen *screen)
+reload_logical_monitors (MetaScreen *screen)
{
GList *l;
MetaMonitorManager *manager;
+ unsigned int n_logical_monitors;
for (l = screen->workspaces; l != NULL; l = l->next)
{
@@ -411,7 +412,7 @@ reload_monitor_infos (MetaScreen *screen)
meta_workspace_invalidate_work_area (space);
}
- /* Any previous screen->monitor_infos or screen->outputs is freed by the caller */
+ /* Any previous screen->logical_monitors or screen->outputs is freed by the caller */
screen->last_monitor_index = 0;
screen->has_xinerama_indices = FALSE;
@@ -419,8 +420,9 @@ reload_monitor_infos (MetaScreen *screen)
manager = meta_monitor_manager_get ();
- screen->monitor_infos = meta_monitor_manager_get_monitor_infos (manager,
- (unsigned*)&screen->n_monitor_infos);
+ screen->logical_monitors =
+ meta_monitor_manager_get_logical_monitors (manager, &n_logical_monitors);
+ screen->n_logical_monitors = (unsigned int) n_logical_monitors;
screen->primary_monitor_index = meta_monitor_manager_get_primary_index (manager);
}
@@ -684,7 +686,7 @@ meta_screen_new (MetaDisplay *display,
* can close the helper that is holding on to it */
meta_restart_finish ();
- reload_monitor_infos (screen);
+ reload_logical_monitors (screen);
meta_screen_set_cursor (screen, META_CURSOR_DEFAULT);
@@ -805,7 +807,7 @@ meta_screen_free (MetaScreen *screen,
if (screen->check_fullscreen_later != 0)
meta_later_remove (screen->check_fullscreen_later);
- g_free (screen->monitor_infos);
+ g_free (screen->logical_monitors);
if (screen->tile_preview_timeout_id)
g_source_remove (screen->tile_preview_timeout_id);
@@ -1228,13 +1230,13 @@ root_cursor_prepare_at (MetaCursorSprite *cursor_sprite,
int y,
MetaScreen *screen)
{
- const MetaMonitorInfo *monitor;
+ const MetaLogicalMonitor *logical_monitor;
- monitor = meta_screen_get_monitor_for_point (screen, x, y);
+ logical_monitor = meta_screen_get_logical_monitor_for_point (screen, x, y);
/* Reload the cursor texture if the scale has changed. */
- if (monitor)
- meta_cursor_sprite_set_theme_scale (cursor_sprite, monitor->scale);
+ if (logical_monitor)
+ meta_cursor_sprite_set_theme_scale (cursor_sprite, logical_monitor->scale);
}
static void
@@ -1388,21 +1390,21 @@ meta_screen_get_mouse_window (MetaScreen *screen,
return window;
}
-const MetaMonitorInfo*
-meta_screen_get_monitor_for_rect (MetaScreen *screen,
- MetaRectangle *rect)
+const MetaLogicalMonitor *
+meta_screen_get_logical_monitor_for_rect (MetaScreen *screen,
+ MetaRectangle *rect)
{
int i;
int best_monitor, monitor_score, rect_area;
- if (screen->n_monitor_infos == 1)
- return &screen->monitor_infos[0];
+ if (screen->n_logical_monitors == 1)
+ return &screen->logical_monitors[0];
best_monitor = 0;
monitor_score = -1;
rect_area = meta_rectangle_area (rect);
- for (i = 0; i < screen->n_monitor_infos; i++)
+ for (i = 0; i < screen->n_logical_monitors; i++)
{
gboolean result;
int cur;
@@ -1410,14 +1412,14 @@ meta_screen_get_monitor_for_rect (MetaScreen *screen,
if (rect_area > 0)
{
MetaRectangle dest;
- result = meta_rectangle_intersect (&screen->monitor_infos[i].rect,
+ result = meta_rectangle_intersect (&screen->logical_monitors[i].rect,
rect,
&dest);
cur = meta_rectangle_area (&dest);
}
else
{
- result = meta_rectangle_contains_rect (&screen->monitor_infos[i].rect,
+ result = meta_rectangle_contains_rect (&screen->logical_monitors[i].rect,
rect);
cur = rect_area;
}
@@ -1429,59 +1431,61 @@ meta_screen_get_monitor_for_rect (MetaScreen *screen,
}
}
- return &screen->monitor_infos[best_monitor];
+ return &screen->logical_monitors[best_monitor];
}
-const MetaMonitorInfo*
-meta_screen_calculate_monitor_for_window (MetaScreen *screen,
- MetaWindow *window)
+const MetaLogicalMonitor *
+meta_screen_calculate_logical_monitor_for_window (MetaScreen *screen,
+ MetaWindow *window)
{
MetaRectangle window_rect;
meta_window_get_frame_rect (window, &window_rect);
- return meta_screen_get_monitor_for_rect (screen, &window_rect);
+ return meta_screen_get_logical_monitor_for_rect (screen, &window_rect);
}
int
meta_screen_get_monitor_index_for_rect (MetaScreen *screen,
MetaRectangle *rect)
{
- const MetaMonitorInfo *monitor = meta_screen_get_monitor_for_rect (screen, rect);
+ const MetaLogicalMonitor *monitor;
+
+ monitor = meta_screen_get_logical_monitor_for_rect (screen, rect);
return monitor->number;
}
-const MetaMonitorInfo *
-meta_screen_get_monitor_for_point (MetaScreen *screen,
- int x,
- int y)
+const MetaLogicalMonitor *
+meta_screen_get_logical_monitor_for_point (MetaScreen *screen,
+ int x,
+ int y)
{
int i;
- if (screen->n_monitor_infos == 1)
- return &screen->monitor_infos[0];
+ if (screen->n_logical_monitors == 1)
+ return &screen->logical_monitors[0];
- for (i = 0; i < screen->n_monitor_infos; i++)
+ for (i = 0; i < screen->n_logical_monitors; i++)
{
- if (POINT_IN_RECT (x, y, screen->monitor_infos[i].rect))
- return &screen->monitor_infos[i];
+ if (POINT_IN_RECT (x, y, screen->logical_monitors[i].rect))
+ return &screen->logical_monitors[i];
}
return NULL;
}
-const MetaMonitorInfo*
+const MetaLogicalMonitor *
meta_screen_get_monitor_neighbor (MetaScreen *screen,
int which_monitor,
MetaScreenDirection direction)
{
- MetaMonitorInfo* input = screen->monitor_infos + which_monitor;
- MetaMonitorInfo* current;
+ MetaLogicalMonitor *input = screen->logical_monitors + which_monitor;
+ MetaLogicalMonitor *current;
int i;
- for (i = 0; i < screen->n_monitor_infos; i++)
+ for (i = 0; i < screen->n_logical_monitors; i++)
{
- current = screen->monitor_infos + i;
+ current = screen->logical_monitors + i;
if ((direction == META_SCREEN_RIGHT &&
current->rect.x == input->rect.x + input->rect.width &&
@@ -1508,27 +1512,32 @@ meta_screen_get_monitor_neighbor_index (MetaScreen *screen,
int which_monitor,
MetaScreenDirection direction)
{
- const MetaMonitorInfo *monitor;
- monitor = meta_screen_get_monitor_neighbor (screen, which_monitor, direction);
- return monitor ? monitor->number : -1;
+ const MetaLogicalMonitor *logical_monitor;
+
+ logical_monitor = meta_screen_get_monitor_neighbor (screen,
+ which_monitor,
+ direction);
+ return logical_monitor ? logical_monitor->number : -1;
}
-const MetaMonitorInfo*
-meta_screen_get_current_monitor_info (MetaScreen *screen)
+const MetaLogicalMonitor *
+meta_screen_get_current_logical_monitor (MetaScreen *screen)
{
int monitor_index;
+
monitor_index = meta_screen_get_current_monitor (screen);
- return &screen->monitor_infos[monitor_index];
+ return &screen->logical_monitors[monitor_index];
}
-const MetaMonitorInfo*
-meta_screen_get_current_monitor_info_for_pos (MetaScreen *screen,
- int x,
- int y)
+const MetaLogicalMonitor *
+meta_screen_get_current_logical_monitor_for_pos (MetaScreen *screen,
+ int x,
+ int y)
{
int monitor_index;
+
monitor_index = meta_screen_get_current_monitor_for_pos (screen, x, y);
- return &screen->monitor_infos[monitor_index];
+ return &screen->logical_monitors[monitor_index];
}
@@ -1547,7 +1556,7 @@ meta_screen_get_current_monitor_for_pos (MetaScreen *screen,
int x,
int y)
{
- if (screen->n_monitor_infos == 1)
+ if (screen->n_logical_monitors == 1)
return 0;
else if (screen->display->monitor_cache_invalidated)
{
@@ -1560,9 +1569,9 @@ meta_screen_get_current_monitor_for_pos (MetaScreen *screen,
screen->display->monitor_cache_invalidated = FALSE;
screen->last_monitor_index = 0;
- for (i = 0; i < screen->n_monitor_infos; i++)
+ for (i = 0; i < screen->n_logical_monitors; i++)
{
- if (meta_rectangle_contains_rect (&screen->monitor_infos[i].rect,
+ if (meta_rectangle_contains_rect (&screen->logical_monitors[i].rect,
&pointer_position))
{
screen->last_monitor_index = i;
@@ -1593,7 +1602,7 @@ meta_screen_get_current_monitor (MetaScreen *screen)
{
MetaCursorTracker *tracker = meta_cursor_tracker_get_for_screen (screen);
- if (screen->n_monitor_infos == 1)
+ if (screen->n_logical_monitors == 1)
return 0;
/* Sadly, we have to do it this way. Yuck.
@@ -1623,7 +1632,7 @@ meta_screen_get_n_monitors (MetaScreen *screen)
{
g_return_val_if_fail (META_IS_SCREEN (screen), 0);
- return screen->n_monitor_infos;
+ return screen->n_logical_monitors;
}
/**
@@ -1656,10 +1665,10 @@ meta_screen_get_monitor_geometry (MetaScreen *screen,
MetaRectangle *geometry)
{
g_return_if_fail (META_IS_SCREEN (screen));
- g_return_if_fail (monitor >= 0 && monitor < screen->n_monitor_infos);
+ g_return_if_fail (monitor >= 0 && monitor < screen->n_logical_monitors);
g_return_if_fail (geometry != NULL);
- *geometry = screen->monitor_infos[monitor].rect;
+ *geometry = screen->logical_monitors[monitor].rect;
}
#define _NET_WM_ORIENTATION_HORZ 0
@@ -2286,7 +2295,7 @@ on_monitors_changed (MetaMonitorManager *manager,
&screen->rect.width,
&screen->rect.height);
- reload_monitor_infos (screen);
+ reload_logical_monitors (screen);
set_desktop_geometry_hint (screen);
/* Resize the guard window to fill the screen again. */
@@ -2779,13 +2788,13 @@ check_fullscreen_func (gpointer data)
g_slist_free (obscured_monitors);
- for (i = 0; i < screen->n_monitor_infos; i++)
+ for (i = 0; i < screen->n_logical_monitors; i++)
{
- MetaMonitorInfo *info = &screen->monitor_infos[i];
+ MetaLogicalMonitor *logical_monitor = &screen->logical_monitors[i];
gboolean in_fullscreen = g_slist_find (fullscreen_monitors, GINT_TO_POINTER (i + 1)) != NULL;
- if (in_fullscreen != info->in_fullscreen)
+ if (in_fullscreen != logical_monitor->in_fullscreen)
{
- info->in_fullscreen = in_fullscreen;
+ logical_monitor->in_fullscreen = in_fullscreen;
in_fullscreen_changed = TRUE;
}
}
@@ -2834,10 +2843,11 @@ meta_screen_get_monitor_in_fullscreen (MetaScreen *screen,
int monitor)
{
g_return_val_if_fail (META_IS_SCREEN (screen), FALSE);
- g_return_val_if_fail (monitor >= 0 && monitor < screen->n_monitor_infos, FALSE);
+ g_return_val_if_fail (monitor >= 0 &&
+ monitor < screen->n_logical_monitors, FALSE);
/* We use -1 as a flag to mean "not known yet" for notification purposes */
- return screen->monitor_infos[monitor].in_fullscreen == TRUE;
+ return screen->logical_monitors[monitor].in_fullscreen == TRUE;
}
gboolean
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 711097c..776ecca 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -135,7 +135,7 @@ struct _MetaWindow
MetaDisplay *display;
MetaScreen *screen;
guint64 stamp;
- const MetaMonitorInfo *monitor;
+ const MetaLogicalMonitor *monitor;
MetaWorkspace *workspace;
MetaWindowClientType client_type;
MetaWaylandSurface *surface;
@@ -527,7 +527,7 @@ struct _MetaWindowClass
uint32_t (*get_client_pid) (MetaWindow *window);
void (*update_main_monitor) (MetaWindow *window);
void (*main_monitor_changed) (MetaWindow *window,
- const MetaMonitorInfo *old);
+ const MetaLogicalMonitor *old);
};
/* These differ from window->has_foo_func in that they consider
diff --git a/src/core/window.c b/src/core/window.c
index 1ffd484..0b01706 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -816,8 +816,8 @@ meta_window_update_desc (MetaWindow *window)
}
static void
-meta_window_main_monitor_changed (MetaWindow *window,
- const MetaMonitorInfo *old)
+meta_window_main_monitor_changed (MetaWindow *window,
+ const MetaLogicalMonitor *old)
{
META_WINDOW_GET_CLASS (window)->main_monitor_changed (window, old);
@@ -1027,8 +1027,8 @@ _meta_window_shared_new (MetaDisplay *display,
window->compositor_private = NULL;
- window->monitor = meta_screen_calculate_monitor_for_window (window->screen,
- window);
+ window->monitor =
+ meta_screen_calculate_logical_monitor_for_window (window->screen, window);
window->preferred_output_winsys_id = window->monitor->winsys_id;
window->tile_match = NULL;
@@ -1437,7 +1437,7 @@ meta_window_unmanage (MetaWindow *window,
if (window->monitor)
{
- const MetaMonitorInfo *old = window->monitor;
+ const MetaLogicalMonitor *old = window->monitor;
window->monitor = NULL;
meta_window_main_monitor_changed (window, old);
@@ -2805,9 +2805,9 @@ meta_window_get_all_monitors (MetaWindow *window, gsize *length)
monitors = g_array_new (FALSE, FALSE, sizeof (int));
meta_window_get_frame_rect (window, &window_rect);
- for (i = 0; i < window->screen->n_monitor_infos; i++)
+ for (i = 0; i < window->screen->n_logical_monitors; i++)
{
- MetaRectangle *monitor_rect = &window->screen->monitor_infos[i].rect;
+ MetaRectangle *monitor_rect = &window->screen->logical_monitors[i].rect;
if (meta_rectangle_overlap (&window_rect, monitor_rect))
g_array_append_val (monitors, i);
@@ -3277,10 +3277,10 @@ meta_window_update_fullscreen_monitors (MetaWindow *window,
unsigned long left,
unsigned long right)
{
- if ((int)top < window->screen->n_monitor_infos &&
- (int)bottom < window->screen->n_monitor_infos &&
- (int)left < window->screen->n_monitor_infos &&
- (int)right < window->screen->n_monitor_infos)
+ if ((int) top < window->screen->n_logical_monitors &&
+ (int) bottom < window->screen->n_logical_monitors &&
+ (int) left < window->screen->n_logical_monitors &&
+ (int) right < window->screen->n_logical_monitors)
{
window->fullscreen_monitors[0] = top;
window->fullscreen_monitors[1] = bottom;
@@ -3516,18 +3516,18 @@ meta_window_get_monitor (MetaWindow *window)
return window->monitor->number;
}
-static MetaMonitorInfo *
+static MetaLogicalMonitor *
find_monitor_by_winsys_id (MetaWindow *window,
guint winsys_id)
{
int i;
- for (i = 0; i < window->screen->n_monitor_infos; i++)
+ for (i = 0; i < window->screen->n_logical_monitors; i++)
{
- MetaMonitorInfo *info = &window->screen->monitor_infos[i];
+ MetaLogicalMonitor *logical_monitor = &window->screen->logical_monitors[i];
- if (info->winsys_id == winsys_id)
- return info;
+ if (logical_monitor->winsys_id == winsys_id)
+ return logical_monitor;
}
return NULL;
@@ -3538,7 +3538,7 @@ find_monitor_by_winsys_id (MetaWindow *window,
void
meta_window_update_for_monitors_changed (MetaWindow *window)
{
- const MetaMonitorInfo *old, *new;
+ const MetaLogicalMonitor *old, *new;
if (window->override_redirect || window->type == META_WINDOW_DESKTOP)
{
@@ -3557,14 +3557,14 @@ meta_window_update_for_monitors_changed (MetaWindow *window)
/* Fall back to primary if everything else failed */
if (!new)
- new = &window->screen->monitor_infos[window->screen->primary_monitor_index];
+ new = &window->screen->logical_monitors[window->screen->primary_monitor_index];
if (window->tile_mode != META_TILE_NONE)
window->tile_monitor_number = new->number;
/* This will eventually reach meta_window_update_monitor that
* will send leave/enter-monitor events. The old != new monitor
- * check will always fail (due to the new monitor_infos set) so
+ * check will always fail (due to the new logical_monitors set) so
* we will always send the events, even if the new and old monitor
* index is the same. That is right, since the enumeration of the
* monitors changed and the same index could be refereing
@@ -3578,7 +3578,7 @@ void
meta_window_update_monitor (MetaWindow *window,
gboolean user_op)
{
- const MetaMonitorInfo *old;
+ const MetaLogicalMonitor *old;
old = window->monitor;
META_WINDOW_GET_CLASS (window)->update_main_monitor (window);
@@ -5598,7 +5598,7 @@ update_move (MetaWindow *window,
!META_WINDOW_MAXIMIZED (window) &&
!META_WINDOW_TILED_SIDE_BY_SIDE (window))
{
- const MetaMonitorInfo *monitor;
+ const MetaLogicalMonitor *monitor;
MetaRectangle work_area;
/* For side-by-side tiling we are interested in the inside vertical
@@ -5614,7 +5614,8 @@ update_move (MetaWindow *window,
* refers to the monitor which contains the largest part of the window,
* the latter to the one where the pointer is located.
*/
- monitor = meta_screen_get_current_monitor_info_for_pos (window->screen, x, y);
+ monitor = meta_screen_get_current_logical_monitor_for_pos (window->screen,
+ x, y);
meta_window_get_work_area_for_monitor (window,
monitor->number,
&work_area);
@@ -5686,14 +5687,14 @@ update_move (MetaWindow *window,
else if ((window->shaken_loose || META_WINDOW_MAXIMIZED (window)) &&
window->tile_mode != META_TILE_LEFT && window->tile_mode != META_TILE_RIGHT)
{
- const MetaMonitorInfo *wmonitor;
+ const MetaLogicalMonitor *wmonitor;
MetaRectangle work_area;
int monitor;
window->tile_mode = META_TILE_NONE;
wmonitor = window->monitor;
- for (monitor = 0; monitor < window->screen->n_monitor_infos; monitor++)
+ for (monitor = 0; monitor < window->screen->n_logical_monitors; monitor++)
{
meta_window_get_work_area_for_monitor (window, monitor, &work_area);
@@ -6068,7 +6069,7 @@ get_work_area_monitor (MetaWindow *window,
g_assert (which_monitor >= 0);
/* Initialize to the whole monitor */
- *area = window->screen->monitor_infos[which_monitor].rect;
+ *area = window->screen->logical_monitors[which_monitor].rect;
tmp = meta_window_get_workspaces (window);
while (tmp != NULL)
diff --git a/src/core/workspace.c b/src/core/workspace.c
index cfac7dc..3aec3af 100644
--- a/src/core/workspace.c
+++ b/src/core/workspace.c
@@ -294,7 +294,7 @@ meta_workspace_remove (MetaWorkspace *workspace)
if (!workspace->work_areas_invalid)
{
workspace_free_all_struts (workspace);
- for (i = 0; i < screen->n_monitor_infos; i++)
+ for (i = 0; i < screen->n_logical_monitors; i++)
meta_rectangle_free_list_and_elements (workspace->monitor_region[i]);
g_free (workspace->monitor_region);
meta_rectangle_free_list_and_elements (workspace->screen_region);
@@ -704,7 +704,7 @@ meta_workspace_invalidate_work_area (MetaWorkspace *workspace)
workspace_free_all_struts (workspace);
- for (i = 0; i < workspace->screen->n_monitor_infos; i++)
+ for (i = 0; i < workspace->screen->n_logical_monitors; i++)
meta_rectangle_free_list_and_elements (workspace->monitor_region[i]);
g_free (workspace->monitor_region);
meta_rectangle_free_list_and_elements (workspace->screen_region);
@@ -789,12 +789,12 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
g_assert (workspace->screen_region == NULL);
workspace->monitor_region = g_new (GList*,
- workspace->screen->n_monitor_infos);
- for (i = 0; i < workspace->screen->n_monitor_infos; i++)
+ workspace->screen->n_logical_monitors);
+ for (i = 0; i < workspace->screen->n_logical_monitors; i++)
{
workspace->monitor_region[i] =
meta_rectangle_get_minimal_spanning_set_for_region (
- &workspace->screen->monitor_infos[i].rect,
+ &workspace->screen->logical_monitors[i].rect,
workspace->all_struts);
}
workspace->screen_region =
@@ -861,11 +861,11 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
/* Now find the work areas for each monitor */
g_free (workspace->work_area_monitor);
workspace->work_area_monitor = g_new (MetaRectangle,
- workspace->screen->n_monitor_infos);
+ workspace->screen->n_logical_monitors);
- for (i = 0; i < workspace->screen->n_monitor_infos; i++)
+ for (i = 0; i < workspace->screen->n_logical_monitors; i++)
{
- work_area = workspace->screen->monitor_infos[i].rect;
+ work_area = workspace->screen->logical_monitors[i].rect;
if (workspace->monitor_region[i] == NULL)
/* FIXME: constraints.c untested with this, but it might be nice for
@@ -907,8 +907,8 @@ ensure_work_areas_validated (MetaWorkspace *workspace)
meta_rectangle_find_onscreen_edges (&workspace->screen->rect,
workspace->all_struts);
tmp = NULL;
- for (i = 0; i < workspace->screen->n_monitor_infos; i++)
- tmp = g_list_prepend (tmp, &workspace->screen->monitor_infos[i].rect);
+ for (i = 0; i < workspace->screen->n_logical_monitors; i++)
+ tmp = g_list_prepend (tmp, &workspace->screen->logical_monitors[i].rect);
workspace->monitor_edges =
meta_rectangle_find_nonintersected_monitor_edges (tmp,
workspace->all_struts);
@@ -1016,7 +1016,7 @@ meta_workspace_get_work_area_for_monitor (MetaWorkspace *workspace,
g_assert (which_monitor >= 0);
ensure_work_areas_validated (workspace);
- g_assert (which_monitor < workspace->screen->n_monitor_infos);
+ g_assert (which_monitor < workspace->screen->n_logical_monitors);
*area = workspace->work_area_monitor[which_monitor];
}
diff --git a/src/wayland/meta-wayland-outputs.c b/src/wayland/meta-wayland-outputs.c
index ba1bc09..a6fb724 100644
--- a/src/wayland/meta-wayland-outputs.c
+++ b/src/wayland/meta-wayland-outputs.c
@@ -56,23 +56,21 @@ output_resource_destroy (struct wl_resource *res)
static void
send_output_events (struct wl_resource *resource,
MetaWaylandOutput *wayland_output,
- MetaMonitorInfo *monitor_info,
+ MetaLogicalMonitor *logical_monitor,
gboolean need_all_events)
{
int version = wl_resource_get_version (resource);
-
- MetaOutput *output = monitor_info->outputs[0];
+ MetaOutput *output = logical_monitor->outputs[0];
guint mode_flags = WL_OUTPUT_MODE_CURRENT;
-
- MetaMonitorInfo *old_monitor_info = wayland_output->monitor_info;
+ MetaLogicalMonitor *old_logical_monitor = wayland_output->logical_monitor;
guint old_mode_flags = wayland_output->mode_flags;
gint old_scale = wayland_output->scale;
gboolean need_done = FALSE;
if (need_all_events ||
- old_monitor_info->rect.x != monitor_info->rect.x ||
- old_monitor_info->rect.y != monitor_info->rect.y)
+ old_logical_monitor->rect.x != logical_monitor->rect.x ||
+ old_logical_monitor->rect.y != logical_monitor->rect.y)
{
/*
* TODO: When we support wl_surface.set_buffer_transform, pass along
@@ -81,10 +79,10 @@ send_output_events (struct wl_resource *resource,
* transform other than 'normal'.
*/
wl_output_send_geometry (resource,
- (int)monitor_info->rect.x,
- (int)monitor_info->rect.y,
- monitor_info->width_mm,
- monitor_info->height_mm,
+ logical_monitor->rect.x,
+ logical_monitor->rect.y,
+ logical_monitor->width_mm,
+ logical_monitor->height_mm,
output->subpixel_order,
output->vendor,
output->product,
@@ -96,16 +94,16 @@ send_output_events (struct wl_resource *resource,
mode_flags |= WL_OUTPUT_MODE_PREFERRED;
if (need_all_events ||
- old_monitor_info->rect.width != monitor_info->rect.width ||
- old_monitor_info->rect.height != monitor_info->rect.height ||
- old_monitor_info->refresh_rate != monitor_info->refresh_rate ||
+ old_logical_monitor->rect.width != logical_monitor->rect.width ||
+ old_logical_monitor->rect.height != logical_monitor->rect.height ||
+ old_logical_monitor->refresh_rate != logical_monitor->refresh_rate ||
old_mode_flags != mode_flags)
{
wl_output_send_mode (resource,
mode_flags,
- (int)monitor_info->rect.width,
- (int)monitor_info->rect.height,
- (int)(monitor_info->refresh_rate * 1000));
+ logical_monitor->rect.width,
+ logical_monitor->rect.height,
+ (int32_t) (logical_monitor->refresh_rate * 1000));
need_done = TRUE;
}
@@ -130,9 +128,9 @@ bind_output (struct wl_client *client,
guint32 id)
{
MetaWaylandOutput *wayland_output = data;
- MetaMonitorInfo *monitor_info = wayland_output->monitor_info;
+ MetaLogicalMonitor *logical_monitor = wayland_output->logical_monitor;
struct wl_resource *resource;
- MetaOutput *output = monitor_info->outputs[0];
+ MetaOutput *output = logical_monitor->outputs[0];
resource = wl_resource_create (client, &wl_output_interface, version, id);
wayland_output->resources = g_list_prepend (wayland_output->resources, resource);
@@ -141,12 +139,12 @@ bind_output (struct wl_client *client,
wl_resource_set_destructor (resource, output_resource_destroy);
meta_verbose ("Binding monitor %p/%s (%u, %u, %u, %u) x %f\n",
- monitor_info, output->name,
- monitor_info->rect.x, monitor_info->rect.y,
- monitor_info->rect.width, monitor_info->rect.height,
- monitor_info->refresh_rate);
+ logical_monitor, output->name,
+ logical_monitor->rect.x, logical_monitor->rect.y,
+ logical_monitor->rect.width, logical_monitor->rect.height,
+ logical_monitor->refresh_rate);
- send_output_events (resource, wayland_output, monitor_info, TRUE);
+ send_output_events (resource, wayland_output, logical_monitor, TRUE);
}
static void
@@ -159,12 +157,12 @@ wayland_output_destroy_notify (gpointer data)
}
static void
-wayland_output_set_monitor_info (MetaWaylandOutput *wayland_output,
- MetaMonitorInfo *monitor_info)
+meta_wayland_output_set_logical_monitor (MetaWaylandOutput *wayland_output,
+ MetaLogicalMonitor *logical_monitor)
{
- MetaOutput *output = monitor_info->outputs[0];
+ MetaOutput *output = logical_monitor->outputs[0];
- wayland_output->monitor_info = monitor_info;
+ wayland_output->logical_monitor = logical_monitor;
wayland_output->mode_flags = WL_OUTPUT_MODE_CURRENT;
if (output->crtc->current_mode == output->preferred_mode)
wayland_output->mode_flags |= WL_OUTPUT_MODE_PREFERRED;
@@ -172,25 +170,25 @@ wayland_output_set_monitor_info (MetaWaylandOutput *wayland_output,
}
static void
-wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
- MetaMonitorInfo *monitor_info)
+wayland_output_update_for_output (MetaWaylandOutput *wayland_output,
+ MetaLogicalMonitor *logical_monitor)
{
GList *iter;
for (iter = wayland_output->resources; iter; iter = iter->next)
{
struct wl_resource *resource = iter->data;
- send_output_events (resource, wayland_output, monitor_info, FALSE);
+ send_output_events (resource, wayland_output, logical_monitor, FALSE);
}
/* It's very important that we change the output pointer here, as
the old structure is about to be freed by MetaMonitorManager */
- wayland_output_set_monitor_info (wayland_output, monitor_info);
+ meta_wayland_output_set_logical_monitor (wayland_output, logical_monitor);
}
static MetaWaylandOutput *
meta_wayland_output_new (MetaWaylandCompositor *compositor,
- MetaMonitorInfo *monitor_info)
+ MetaLogicalMonitor *logical_monitor)
{
MetaWaylandOutput *wayland_output;
@@ -199,7 +197,7 @@ meta_wayland_output_new (MetaWaylandCompositor *compositor,
&wl_output_interface,
META_WL_OUTPUT_VERSION,
wayland_output, bind_output);
- wayland_output_set_monitor_info (wayland_output, monitor_info);
+ meta_wayland_output_set_logical_monitor (wayland_output, logical_monitor);
return wayland_output;
}
@@ -210,30 +208,40 @@ meta_wayland_compositor_update_outputs (MetaWaylandCompositor *compositor,
{
unsigned int i;
GHashTable *new_table;
- MetaMonitorInfo *monitor_infos;
- unsigned int n_monitor_infos;
+ MetaLogicalMonitor *logical_monitors;
+ unsigned int n_logical_monitors;
- monitor_infos = meta_monitor_manager_get_monitor_infos (monitors, &n_monitor_infos);
- new_table = g_hash_table_new_full (NULL, NULL, NULL, wayland_output_destroy_notify);
+ logical_monitors = meta_monitor_manager_get_logical_monitors (monitors,
+ &n_logical_monitors);
+ new_table = g_hash_table_new_full (NULL, NULL, NULL,
+ wayland_output_destroy_notify);
- for (i = 0; i < n_monitor_infos; i++)
+ for (i = 0; i < n_logical_monitors; i++)
{
- MetaMonitorInfo *info = &monitor_infos[i];
+ MetaLogicalMonitor *logical_monitor = &logical_monitors[i];
MetaWaylandOutput *wayland_output;
- if (info->winsys_id == 0)
+ if (logical_monitor->winsys_id == 0)
continue;
- wayland_output = g_hash_table_lookup (compositor->outputs, GSIZE_TO_POINTER (info->winsys_id));
+
+ wayland_output =
+ g_hash_table_lookup (compositor->outputs,
+ GSIZE_TO_POINTER (logical_monitor->winsys_id));
if (wayland_output)
{
- g_hash_table_steal (compositor->outputs, GSIZE_TO_POINTER (info->winsys_id));
+ g_hash_table_steal (compositor->outputs,
+ GSIZE_TO_POINTER (logical_monitor->winsys_id));
}
else
- wayland_output = meta_wayland_output_new (compositor, info);
+ {
+ wayland_output = meta_wayland_output_new (compositor, logical_monitor);
+ }
- wayland_output_update_for_output (wayland_output, info);
- g_hash_table_insert (new_table, GSIZE_TO_POINTER (info->winsys_id), wayland_output);
+ wayland_output_update_for_output (wayland_output, logical_monitor);
+ g_hash_table_insert (new_table,
+ GSIZE_TO_POINTER (logical_monitor->winsys_id),
+ wayland_output);
}
g_hash_table_destroy (compositor->outputs);
diff --git a/src/wayland/meta-wayland-outputs.h b/src/wayland/meta-wayland-outputs.h
index 9d9869b..d5b779b 100644
--- a/src/wayland/meta-wayland-outputs.h
+++ b/src/wayland/meta-wayland-outputs.h
@@ -37,7 +37,7 @@ struct _MetaWaylandOutput
GObject parent;
struct wl_global *global;
- MetaMonitorInfo *monitor_info;
+ MetaLogicalMonitor *logical_monitor;
guint mode_flags;
gint scale;
diff --git a/src/wayland/meta-wayland-surface-role-cursor.c b/src/wayland/meta-wayland-surface-role-cursor.c
index cc645fb..121e9e5 100644
--- a/src/wayland/meta-wayland-surface-role-cursor.c
+++ b/src/wayland/meta-wayland-surface-role-cursor.c
@@ -98,14 +98,20 @@ cursor_sprite_prepare_at (MetaCursorSprite *cursor_sprite,
MetaWaylandSurface *surface = meta_wayland_surface_role_get_surface (role);
MetaDisplay *display = meta_get_display ();
MetaScreen *screen = display->screen;
- const MetaMonitorInfo *monitor;
if (!meta_xwayland_is_xwayland_surface (surface))
{
- monitor = meta_screen_get_monitor_for_point (screen, x, y);
- if (monitor)
- meta_cursor_sprite_set_texture_scale (cursor_sprite,
- (float) monitor->scale / surface->scale);
+ const MetaLogicalMonitor *logical_monitor;
+
+ logical_monitor = meta_screen_get_logical_monitor_for_point (screen,
+ x, y);
+ if (logical_monitor)
+ {
+ float texture_scale;
+
+ texture_scale = (float) logical_monitor->scale / surface->scale;
+ meta_cursor_sprite_set_texture_scale (cursor_sprite, texture_scale);
+ }
}
meta_wayland_surface_update_outputs (surface);
}
@@ -172,7 +178,7 @@ cursor_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
static gboolean
cursor_surface_role_is_on_output (MetaWaylandSurfaceRole *role,
- MetaMonitorInfo *monitor)
+ MetaLogicalMonitor *logical_monitor)
{
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (role);
@@ -184,7 +190,7 @@ cursor_surface_role_is_on_output (MetaWaylandSurfaceRole *role,
rect = meta_cursor_renderer_calculate_rect (priv->cursor_renderer,
priv->cursor_sprite);
- return meta_rectangle_overlap (&rect, &monitor->rect);
+ return meta_rectangle_overlap (&rect, &logical_monitor->rect);
}
static void
diff --git a/src/wayland/meta-wayland-surface.c b/src/wayland/meta-wayland-surface.c
index fcbdc7d..90fa239 100644
--- a/src/wayland/meta-wayland-surface.c
+++ b/src/wayland/meta-wayland-surface.c
@@ -148,7 +148,7 @@ meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
static gboolean
meta_wayland_surface_role_is_on_output (MetaWaylandSurfaceRole *surface_role,
- MetaMonitorInfo *info);
+ MetaLogicalMonitor *logical_monitor);
static MetaWaylandSurface *
meta_wayland_surface_role_get_toplevel (MetaWaylandSurfaceRole *surface_role);
@@ -1171,14 +1171,14 @@ set_surface_is_on_output (MetaWaylandSurface *surface,
static gboolean
actor_surface_is_on_output (MetaWaylandSurfaceRole *surface_role,
- MetaMonitorInfo *monitor)
+ MetaLogicalMonitor *logical_monitor)
{
MetaWaylandSurface *surface =
meta_wayland_surface_role_get_surface (surface_role);
MetaSurfaceActorWayland *actor =
META_SURFACE_ACTOR_WAYLAND (surface->surface_actor);
- return meta_surface_actor_wayland_is_on_monitor (actor, monitor);
+ return meta_surface_actor_wayland_is_on_monitor (actor, logical_monitor);
}
static void
@@ -1186,19 +1186,19 @@ update_surface_output_state (gpointer key, gpointer value, gpointer user_data)
{
MetaWaylandOutput *wayland_output = value;
MetaWaylandSurface *surface = user_data;
- MetaMonitorInfo *monitor;
+ MetaLogicalMonitor *logical_monitor;
gboolean is_on_output;
g_assert (surface->role);
- monitor = wayland_output->monitor_info;
- if (!monitor)
+ logical_monitor = wayland_output->logical_monitor;
+ if (!logical_monitor)
{
set_surface_is_on_output (surface, wayland_output, FALSE);
return;
}
- is_on_output = meta_wayland_surface_role_is_on_output (surface->role, monitor);
+ is_on_output = meta_wayland_surface_role_is_on_output (surface->role, logical_monitor);
set_surface_is_on_output (surface, wayland_output, is_on_output);
}
@@ -1925,13 +1925,13 @@ meta_wayland_surface_role_commit (MetaWaylandSurfaceRole *surface_role,
static gboolean
meta_wayland_surface_role_is_on_output (MetaWaylandSurfaceRole *surface_role,
- MetaMonitorInfo *monitor)
+ MetaLogicalMonitor *logical_monitor)
{
MetaWaylandSurfaceRoleClass *klass;
klass = META_WAYLAND_SURFACE_ROLE_GET_CLASS (surface_role);
if (klass->is_on_output)
- return klass->is_on_output (surface_role, monitor);
+ return klass->is_on_output (surface_role, logical_monitor);
else
return FALSE;
}
diff --git a/src/wayland/meta-wayland-surface.h b/src/wayland/meta-wayland-surface.h
index bac94c3..1f4ecdd 100644
--- a/src/wayland/meta-wayland-surface.h
+++ b/src/wayland/meta-wayland-surface.h
@@ -61,7 +61,7 @@ struct _MetaWaylandSurfaceRoleClass
void (*commit) (MetaWaylandSurfaceRole *surface_role,
MetaWaylandPendingState *pending);
gboolean (*is_on_output) (MetaWaylandSurfaceRole *surface_role,
- MetaMonitorInfo *monitor);
+ MetaLogicalMonitor *logical_monitor);
MetaWaylandSurface * (*get_toplevel) (MetaWaylandSurfaceRole *surface_role);
};
diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
index 6d8727a..20d2c06 100644
--- a/src/wayland/meta-window-wayland.c
+++ b/src/wayland/meta-window-wayland.c
@@ -335,9 +335,9 @@ static void
meta_window_wayland_update_main_monitor (MetaWindow *window)
{
MetaWindow *toplevel_window;
- const MetaMonitorInfo *from;
- const MetaMonitorInfo *to;
- const MetaMonitorInfo *scaled_new;
+ const MetaLogicalMonitor *from;
+ const MetaLogicalMonitor *to;
+ const MetaLogicalMonitor *scaled_new;
float scale;
MetaRectangle rect;
@@ -357,7 +357,7 @@ meta_window_wayland_update_main_monitor (MetaWindow *window)
* needed to avoid jumping back and forth between the new and the old, since
* changing main monitor may cause the window to be resized so that it no
* longer have that same new main monitor. */
- to = meta_screen_calculate_monitor_for_window (window->screen, window);
+ to = meta_screen_calculate_logical_monitor_for_window (window->screen, window);
if (from == to)
return;
@@ -376,7 +376,7 @@ meta_window_wayland_update_main_monitor (MetaWindow *window)
scale = (float)to->scale / from->scale;
rect = window->rect;
scale_rect_size (&rect, scale);
- scaled_new = meta_screen_get_monitor_for_rect (window->screen, &rect);
+ scaled_new = meta_screen_get_logical_monitor_for_rect (window->screen, &rect);
if (to != scaled_new)
return;
@@ -384,8 +384,8 @@ meta_window_wayland_update_main_monitor (MetaWindow *window)
}
static void
-meta_window_wayland_main_monitor_changed (MetaWindow *window,
- const MetaMonitorInfo *old)
+meta_window_wayland_main_monitor_changed (MetaWindow *window,
+ const MetaLogicalMonitor *old)
{
float scale_factor;
MetaWaylandSurface *surface;
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index 376d73c..2c375be 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -1457,13 +1457,13 @@ meta_window_x11_update_icon (MetaWindow *window,
static void
meta_window_x11_update_main_monitor (MetaWindow *window)
{
- window->monitor = meta_screen_calculate_monitor_for_window (window->screen,
- window);
+ window->monitor =
+ meta_screen_calculate_logical_monitor_for_window (window->screen, window);
}
static void
-meta_window_x11_main_monitor_changed (MetaWindow *window,
- const MetaMonitorInfo *old)
+meta_window_x11_main_monitor_changed (MetaWindow *window,
+ const MetaLogicalMonitor *old)
{
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]