0debb24e12
Prior to this commit, barriers were created with a MetaDisplay pointer, despite being entities related and owned by the backend. In the X11 case, it was also not hooked up to the backend X11 connection, but the clutter one, meaning for example that the logic was active (but dormant) also for the Xwayland connection. Fix this by moving X11 barrier management and event processing fully to the backend. Also replace passing a display pointer with passing a backend pointer. Keep the display pointer around for a release, but mark it as deprecated. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2442>
93 lines
2.7 KiB
C
93 lines
2.7 KiB
C
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
/*
|
|
* Copyright (C) 2014 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.
|
|
*
|
|
* Written by:
|
|
* Jasper St. Pierre <jstpierre@mecheye.net>
|
|
*/
|
|
|
|
#ifndef META_BACKEND_H
|
|
#define META_BACKEND_H
|
|
|
|
#include <glib-object.h>
|
|
|
|
#include "clutter/clutter.h"
|
|
#include "meta/meta-dnd.h"
|
|
#include "meta/meta-idle-monitor.h"
|
|
#include "meta/meta-monitor-manager.h"
|
|
#include "meta/meta-remote-access-controller.h"
|
|
|
|
typedef enum _MetaBackendCapabilities
|
|
{
|
|
META_BACKEND_CAPABILITY_NONE = 0,
|
|
META_BACKEND_CAPABILITY_BARRIERS = 1 << 0,
|
|
} MetaBackendCapabilities;
|
|
|
|
#define META_TYPE_BACKEND (meta_backend_get_type ())
|
|
META_EXPORT
|
|
G_DECLARE_DERIVABLE_TYPE (MetaBackend, meta_backend, META, BACKEND, GObject)
|
|
|
|
META_EXPORT
|
|
MetaBackend * meta_get_backend (void);
|
|
|
|
META_EXPORT
|
|
void meta_backend_set_keymap (MetaBackend *backend,
|
|
const char *layouts,
|
|
const char *variants,
|
|
const char *options);
|
|
|
|
META_EXPORT
|
|
void meta_backend_lock_layout_group (MetaBackend *backend,
|
|
guint idx);
|
|
|
|
META_EXPORT
|
|
MetaContext * meta_backend_get_context (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
ClutterActor *meta_backend_get_stage (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
MetaDnd *meta_backend_get_dnd (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
MetaSettings *meta_backend_get_settings (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
MetaIdleMonitor * meta_backend_get_core_idle_monitor (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
MetaMonitorManager * meta_backend_get_monitor_manager (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
MetaRemoteAccessController * meta_backend_get_remote_access_controller (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
gboolean meta_backend_is_rendering_hardware_accelerated (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
gboolean meta_backend_is_headless (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
MetaBackendCapabilities meta_backend_get_capabilities (MetaBackend *backend);
|
|
|
|
META_EXPORT
|
|
void meta_clutter_init (void);
|
|
|
|
#endif /* META_BACKEND_H */
|