mutter/src/tests/meta-monitor-manager-test.h
Jonas Ådahl c724cb3720 tests/monitor-test-utils: Add way to make the GAMMA_LUT zero sized
This will be used to test devices that has no gamma capabilities.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2611>
2022-09-03 14:41:36 +00:00

94 lines
2.7 KiB
C

/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
* Copyright (C) 2016 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, see <http://www.gnu.org/licenses/>.
*/
#ifndef META_MONITOR_MANAGER_TEST_H
#define META_MONITOR_MANAGER_TEST_H
#include "backends/meta-crtc.h"
#include "backends/meta-monitor-manager-private.h"
#include "backends/meta-output.h"
#include "core/util-private.h"
typedef struct _MetaMonitorTestSetup
{
GList *modes;
GList *outputs;
GList *crtcs;
} MetaMonitorTestSetup;
struct _MetaCrtcTest
{
MetaCrtc parent;
struct {
size_t size;
uint16_t *red;
uint16_t *green;
uint16_t *blue;
} gamma;
};
struct _MetaOutputTest
{
MetaOutput parent;
float scale;
};
typedef MetaMonitorTestSetup * (* MetaCreateTestSetupFunc) (MetaBackend *backend);
#define META_TYPE_CRTC_TEST (meta_crtc_test_get_type ())
META_EXPORT
G_DECLARE_FINAL_TYPE (MetaCrtcTest, meta_crtc_test,
META, CRTC_TEST,
MetaCrtc)
#define META_TYPE_OUTPUT_TEST (meta_output_test_get_type ())
META_EXPORT
G_DECLARE_FINAL_TYPE (MetaOutputTest, meta_output_test,
META, OUTPUT_TEST,
MetaOutput)
#define META_TYPE_MONITOR_MANAGER_TEST (meta_monitor_manager_test_get_type ())
META_EXPORT
G_DECLARE_FINAL_TYPE (MetaMonitorManagerTest, meta_monitor_manager_test,
META, MONITOR_MANAGER_TEST, MetaMonitorManager)
META_EXPORT
void meta_init_monitor_test_setup (MetaCreateTestSetupFunc func);
META_EXPORT
void meta_monitor_manager_test_read_current (MetaMonitorManager *manager);
META_EXPORT
void meta_monitor_manager_test_emulate_hotplug (MetaMonitorManagerTest *manager_test,
MetaMonitorTestSetup *test_setup);
META_EXPORT
void meta_monitor_manager_test_set_handles_transforms (MetaMonitorManagerTest *manager_test,
gboolean handles_transforms);
META_EXPORT
int meta_monitor_manager_test_get_tiled_monitor_count (MetaMonitorManagerTest *manager_test);
META_EXPORT
void meta_crtc_test_disable_gamma_lut (MetaCrtcTest *crtc_test);
#endif /* META_MONITOR_MANAGER_TEST_H */