mirror of
https://github.com/brl/mutter.git
synced 2024-11-26 01:50:42 -05:00
monitor-manager: Move logical monitor into its own file
https://bugzilla.gnome.org/show_bug.cgi?id=777732
This commit is contained in:
parent
0873e3812b
commit
4e812410cc
@ -101,6 +101,8 @@ libmutter_la_SOURCES = \
|
||||
backends/meta-idle-monitor-dbus.h \
|
||||
backends/meta-input-settings.c \
|
||||
backends/meta-input-settings-private.h \
|
||||
backends/meta-logical-monitor.c \
|
||||
backends/meta-logical-monitor.h \
|
||||
backends/meta-monitor-config.c \
|
||||
backends/meta-monitor-config.h \
|
||||
backends/meta-monitor-manager.c \
|
||||
|
@ -41,7 +41,7 @@
|
||||
#endif
|
||||
|
||||
#include "backends/meta-idle-monitor-private.h"
|
||||
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/meta-monitor-manager-dummy.h"
|
||||
|
||||
static MetaBackend *_backend;
|
||||
|
36
src/backends/meta-logical-monitor.c
Normal file
36
src/backends/meta-logical-monitor.c
Normal file
@ -0,0 +1,36 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2016 Red Hat
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
|
||||
G_DEFINE_TYPE (MetaLogicalMonitor, meta_logical_monitor, G_TYPE_OBJECT)
|
||||
|
||||
static void
|
||||
meta_logical_monitor_init (MetaLogicalMonitor *logical_monitor)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
meta_logical_monitor_class_init (MetaLogicalMonitorClass *klass)
|
||||
{
|
||||
}
|
69
src/backends/meta-logical-monitor.h
Normal file
69
src/backends/meta-logical-monitor.h
Normal file
@ -0,0 +1,69 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/*
|
||||
* Copyright (C) 2016 Red Hat
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
* 02111-1307, USA.
|
||||
*/
|
||||
|
||||
#ifndef META_LOGICAL_MONITOR_H
|
||||
#define META_LOGICAL_MONITOR_H
|
||||
|
||||
#include <glib-object.h>
|
||||
|
||||
#include "backends/meta-monitor-manager-private.h"
|
||||
#include "meta/boxes.h"
|
||||
|
||||
#define META_MAX_OUTPUTS_PER_MONITOR 4
|
||||
|
||||
struct _MetaLogicalMonitor
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
int number;
|
||||
MetaRectangle rect;
|
||||
/* for tiled monitors these are calculated, from untiled just copied */
|
||||
float refresh_rate;
|
||||
int width_mm;
|
||||
int height_mm;
|
||||
gboolean is_primary;
|
||||
gboolean is_presentation; /* XXX: not yet used */
|
||||
gboolean in_fullscreen;
|
||||
int scale;
|
||||
|
||||
/* The primary or first output for this monitor, 0 if we can't figure out.
|
||||
It can be matched to a winsys_id of a MetaOutput.
|
||||
|
||||
This is used as an opaque token on reconfiguration when switching from
|
||||
clone to extened, to decide on what output the windows should go next
|
||||
(it's an attempt to keep windows on the same monitor, and preferably on
|
||||
the primary one).
|
||||
*/
|
||||
glong winsys_id;
|
||||
|
||||
guint32 tile_group_id;
|
||||
|
||||
int monitor_winsys_xid;
|
||||
int n_outputs;
|
||||
MetaOutput *outputs[META_MAX_OUTPUTS_PER_MONITOR];
|
||||
};
|
||||
|
||||
#define META_TYPE_LOGICAL_MONITOR (meta_logical_monitor_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaLogicalMonitor, meta_logical_monitor,
|
||||
META, LOGICAL_MONITOR,
|
||||
GObject)
|
||||
|
||||
#endif /* META_LOGICAL_MONITOR_H */
|
@ -59,11 +59,6 @@ typedef struct _MetaCrtcInfo MetaCrtcInfo;
|
||||
typedef struct _MetaOutputInfo MetaOutputInfo;
|
||||
typedef struct _MetaTileInfo MetaTileInfo;
|
||||
|
||||
#define META_TYPE_LOGICAL_MONITOR (meta_logical_monitor_get_type ())
|
||||
G_DECLARE_FINAL_TYPE (MetaLogicalMonitor, meta_logical_monitor,
|
||||
META, LOGICAL_MONITOR,
|
||||
GObject)
|
||||
|
||||
typedef enum {
|
||||
META_MONITOR_TRANSFORM_NORMAL,
|
||||
META_MONITOR_TRANSFORM_90,
|
||||
@ -202,47 +197,6 @@ struct _MetaCrtcMode
|
||||
GDestroyNotify driver_notify;
|
||||
};
|
||||
|
||||
#define META_MAX_OUTPUTS_PER_MONITOR 4
|
||||
/**
|
||||
* MetaLogicalMonitor:
|
||||
*
|
||||
* 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 _MetaLogicalMonitor
|
||||
{
|
||||
GObject parent;
|
||||
|
||||
int number;
|
||||
MetaRectangle rect;
|
||||
/* for tiled monitors these are calculated, from untiled just copied */
|
||||
float refresh_rate;
|
||||
int width_mm;
|
||||
int height_mm;
|
||||
gboolean is_primary;
|
||||
gboolean is_presentation; /* XXX: not yet used */
|
||||
gboolean in_fullscreen;
|
||||
int scale;
|
||||
|
||||
/* The primary or first output for this monitor, 0 if we can't figure out.
|
||||
It can be matched to a winsys_id of a MetaOutput.
|
||||
|
||||
This is used as an opaque token on reconfiguration when switching from
|
||||
clone to extened, to decide on what output the windows should go next
|
||||
(it's an attempt to keep windows on the same monitor, and preferably on
|
||||
the primary one).
|
||||
*/
|
||||
glong winsys_id;
|
||||
|
||||
guint32 tile_group_id;
|
||||
|
||||
int monitor_winsys_xid;
|
||||
int n_outputs;
|
||||
MetaOutput *outputs[META_MAX_OUTPUTS_PER_MONITOR];
|
||||
};
|
||||
|
||||
/*
|
||||
* MetaCrtcInfo:
|
||||
* This represents the writable part of a CRTC, as deserialized from DBus
|
||||
|
@ -37,11 +37,10 @@
|
||||
#include <meta/errors.h>
|
||||
#include "edid.h"
|
||||
#include "meta-monitor-config.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/x11/meta-monitor-manager-xrandr.h"
|
||||
#include "meta-backend-private.h"
|
||||
|
||||
G_DEFINE_TYPE (MetaLogicalMonitor, meta_logical_monitor, G_TYPE_OBJECT)
|
||||
|
||||
enum {
|
||||
CONFIRM_DISPLAY_CHANGE,
|
||||
SIGNALS_LAST
|
||||
@ -1756,13 +1755,3 @@ meta_monitor_manager_get_is_builtin_display_on (MetaMonitorManager *manager)
|
||||
|
||||
return meta_monitor_config_get_is_builtin_display_on (manager->config);
|
||||
}
|
||||
|
||||
static void
|
||||
meta_logical_monitor_init (MetaLogicalMonitor *logical_monitor)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
meta_logical_monitor_class_init (MetaLogicalMonitorClass *klass)
|
||||
{
|
||||
}
|
||||
|
@ -37,6 +37,7 @@
|
||||
#include "meta-cursor-renderer-native.h"
|
||||
#include "meta-launcher.h"
|
||||
#include "backends/meta-cursor-tracker-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/meta-monitor-manager-private.h"
|
||||
#include "backends/meta-pointer-constraint.h"
|
||||
#include "backends/meta-stage.h"
|
||||
|
@ -50,6 +50,7 @@
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-egl.h"
|
||||
#include "backends/meta-egl-ext.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/meta-renderer-view.h"
|
||||
#include "backends/native/meta-monitor-manager-kms.h"
|
||||
#include "backends/native/meta-renderer-native.h"
|
||||
|
@ -42,6 +42,7 @@
|
||||
#include <meta/main.h>
|
||||
#include <meta/errors.h>
|
||||
#include "meta-monitor-config.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
|
||||
#define ALL_TRANSFORMS ((1 << (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)) - 1)
|
||||
|
||||
|
@ -32,6 +32,7 @@
|
||||
#include "cogl/winsys/cogl-winsys-glx-private.h"
|
||||
#include "cogl/winsys/cogl-winsys-egl-x11-private.h"
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/meta-renderer.h"
|
||||
#include "backends/meta-renderer-view.h"
|
||||
#include "backends/x11/meta-renderer-x11.h"
|
||||
|
@ -30,6 +30,7 @@
|
||||
#include <cogl/cogl-wayland-server.h>
|
||||
#include "meta-shaped-texture-private.h"
|
||||
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "wayland/meta-wayland-buffer.h"
|
||||
#include "wayland/meta-wayland-private.h"
|
||||
#include "wayland/meta-window-wayland.h"
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "meta-window-actor-private.h"
|
||||
#include "meta-texture-rectangle.h"
|
||||
#include "region-utils.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "meta-monitor-manager-private.h"
|
||||
#include "meta-cullable.h"
|
||||
|
||||
|
@ -28,6 +28,7 @@
|
||||
#include "place.h"
|
||||
#include <meta/prefs.h>
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/meta-monitor-manager-private.h"
|
||||
|
||||
#include <stdlib.h>
|
||||
|
@ -50,6 +50,7 @@
|
||||
#include "meta-idle-monitor-dbus.h"
|
||||
#include "meta-cursor-tracker-private.h"
|
||||
#include <meta/meta-backend.h>
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/native/meta-backend-native.h"
|
||||
#include "backends/x11/meta-backend-x11.h"
|
||||
#include "backends/meta-stage.h"
|
||||
|
@ -44,6 +44,7 @@
|
||||
#define KEY_GRAVE 0x29 /* assume the use of xf86-input-keyboard */
|
||||
#endif
|
||||
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/x11/meta-backend-x11.h"
|
||||
#include "x11/window-x11.h"
|
||||
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "boxes-private.h"
|
||||
#include "place.h"
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include <meta/meta-backend.h>
|
||||
#include <meta/workspace.h>
|
||||
#include <meta/prefs.h>
|
||||
|
@ -45,6 +45,7 @@
|
||||
#include "meta-cursor-tracker-private.h"
|
||||
#include "boxes-private.h"
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
|
||||
#include <X11/extensions/Xinerama.h>
|
||||
#include <X11/extensions/Xcomposite.h>
|
||||
|
@ -33,6 +33,7 @@
|
||||
#include <meta/group.h>
|
||||
#include <meta/prefs.h>
|
||||
#include <meta/workspace.h>
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
|
||||
#include <X11/Xatom.h>
|
||||
|
||||
|
@ -63,6 +63,7 @@
|
||||
#endif
|
||||
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
|
||||
/* Windows that unmaximize to a size bigger than that fraction of the workarea
|
||||
* will be scaled down to that size (while maintaining aspect ratio).
|
||||
|
@ -33,6 +33,7 @@
|
||||
|
||||
#include <config.h>
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "screen-private.h"
|
||||
#include <meta/workspace.h>
|
||||
#include "workspace-private.h"
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include "tests/monitor-unit-tests.h"
|
||||
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "tests/meta-monitor-manager-test.h"
|
||||
|
||||
#define ALL_TRANSFORMS ((1 << (META_MONITOR_TRANSFORM_FLIPPED_270 + 1)) - 1)
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include "meta-wayland-outputs.h"
|
||||
|
||||
#include "meta-wayland-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "meta-monitor-manager-private.h"
|
||||
|
||||
#include <string.h>
|
||||
|
@ -29,6 +29,7 @@
|
||||
#include "screen-private.h"
|
||||
#include "meta-wayland-private.h"
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
|
||||
typedef struct _MetaWaylandSurfaceRoleCursorPrivate MetaWaylandSurfaceRoleCursorPrivate;
|
||||
|
||||
|
@ -25,6 +25,7 @@
|
||||
|
||||
#include "wayland/meta-wayland-xdg-shell.h"
|
||||
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "core/window-private.h"
|
||||
#include "wayland/meta-wayland.h"
|
||||
#include "wayland/meta-wayland-popup.h"
|
||||
|
@ -36,6 +36,7 @@
|
||||
#include "meta-wayland-surface.h"
|
||||
#include "meta-wayland-xdg-shell.h"
|
||||
#include "backends/meta-backend-private.h"
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "compositor/meta-surface-actor-wayland.h"
|
||||
|
||||
struct _MetaWindowWayland
|
||||
|
@ -50,6 +50,7 @@
|
||||
#include "session.h"
|
||||
#include "workspace-private.h"
|
||||
|
||||
#include "backends/meta-logical-monitor.h"
|
||||
#include "backends/x11/meta-backend-x11.h"
|
||||
|
||||
struct _MetaWindowX11Class
|
||||
|
Loading…
Reference in New Issue
Block a user