mutter/src/meta/compositor-mutter.h
Marco Trevisan (Treviño) e02fef8e2f meta: Hide libmutter symbols by default and selectively export them
Make meson link libmutter using -fvisibility=hidden, and introduce META_EXPORT
and META_EXPORT_TEST defines to mark a symbols as visible.
The TEST version is meant to be used to flag symbols that are only used
internally by mutter tests, but that should not be considered public API.

This allows us to be more precise in selecting what is exported and what is
not, without the need of a version-script file that would be more complicated
to maintain.

https://gitlab.gnome.org/GNOME/mutter/merge_requests/395
2019-01-23 14:18:13 +01:00

74 lines
2.2 KiB
C

/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
/*
* Copyright (C) 2008 Matthew Allum
* Copyright (C) 2007 Iain Holmes
* Based on xcompmgr - (c) 2003 Keith Packard
* xfwm4 - (c) 2005-2007 Olivier Fourdan
*
* 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 MUTTER_H_
#define MUTTER_H_
#include <X11/Xlib.h>
#include <X11/extensions/Xfixes.h>
#include "clutter/clutter.h"
#include "meta/compositor.h"
#include "meta/meta-window-actor.h"
#include "meta/types.h"
/* Public compositor API */
META_EXPORT
ClutterActor *meta_get_stage_for_display (MetaDisplay *display);
META_EXPORT
Window meta_get_overlay_window (MetaDisplay *display);
META_EXPORT
GList *meta_get_window_actors (MetaDisplay *display);
META_EXPORT
ClutterActor *meta_get_window_group_for_display (MetaDisplay *display);
META_EXPORT
ClutterActor *meta_get_top_window_group_for_display (MetaDisplay *display);
META_EXPORT
ClutterActor *meta_get_feedback_group_for_display (MetaDisplay *display);
META_EXPORT
void meta_disable_unredirect_for_display (MetaDisplay *display);
META_EXPORT
void meta_enable_unredirect_for_display (MetaDisplay *display);
META_EXPORT
void meta_set_stage_input_region (MetaDisplay *display,
XserverRegion region);
META_EXPORT
void meta_empty_stage_input_region (MetaDisplay *display);
META_EXPORT
void meta_focus_stage_window (MetaDisplay *display,
guint32 timestamp);
META_EXPORT
gboolean meta_stage_is_focused (MetaDisplay *display);
#endif