mutter/src/backends/meta-virtual-monitor.h
Jonas Ådahl 5c26d786f5 tests/runner: Add 'resize_monitor' metatest command
This will allow tests to change monitor resolution. The first argument
is the monitor ID; there is always one monitor added by default, and it
has the id 0. It's currently not possible to add more monitors, so
passing '0' is the only valid way to resize monitors.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2554>
2022-08-11 11:32:42 +00:00

89 lines
2.9 KiB
C

/*
* Copyright (C) 2021 Red Hat Inc.
*
* 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_VIRTUAL_MONITOR_H
#define META_VIRTUAL_MONITOR_H
#include <glib-object.h>
#include "backends/meta-backend-types.h"
#include "core/util-private.h"
struct _MetaVirtualModeInfo
{
int width;
int height;
float refresh_rate;
};
struct _MetaVirtualMonitorInfo
{
MetaVirtualModeInfo mode_info;
char *vendor;
char *product;
char *serial;
};
#define META_TYPE_VIRTUAL_MONITOR (meta_virtual_monitor_get_type ())
G_DECLARE_DERIVABLE_TYPE (MetaVirtualMonitor, meta_virtual_monitor,
META, VIRTUAL_MONITOR,
GObject)
struct _MetaVirtualMonitorClass
{
GObjectClass parent_class;
void (* set_mode) (MetaVirtualMonitor *virtual_monitor,
int width,
int height,
float refresh_rate);
};
META_EXPORT_TEST
MetaVirtualMonitorInfo * meta_virtual_monitor_info_new (int width,
int height,
float refresh_rate,
const char *vendor,
const char *product,
const char *serial);
META_EXPORT_TEST
void meta_virtual_monitor_info_free (MetaVirtualMonitorInfo *info);
MetaCrtc * meta_virtual_monitor_get_crtc (MetaVirtualMonitor *virtual_monitor);
META_EXPORT_TEST
MetaCrtcMode * meta_virtual_monitor_get_crtc_mode (MetaVirtualMonitor *virtual_monitor);
META_EXPORT_TEST
MetaOutput * meta_virtual_monitor_get_output (MetaVirtualMonitor *virtual_monitor);
META_EXPORT_TEST
void meta_virtual_monitor_set_mode (MetaVirtualMonitor *virtual_monitor,
int width,
int height,
float refresh_rate);
G_DEFINE_AUTOPTR_CLEANUP_FUNC (MetaVirtualMonitorInfo,
meta_virtual_monitor_info_free)
#endif /* META_VIRTUAL_MONITOR_H */