mirror of
https://github.com/brl/mutter.git
synced 2025-02-19 22:54:08 +00:00

Things like meta_compositor_destroy() and meta_compositor_add_window() isn't intended to be used externally, and if they was, things would probably fall apart rather quickly. MetaCompositor also isn't introspected, meaning things that technically belong to the compositing parts isn't easily available via some object, but much take detours via other objects like MetaDisplay. So move the API intended for internal usage to compositor-private.h, and leave API that is meant to be expose in the public compositor.h. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2718>
77 lines
2.3 KiB
C
77 lines
2.3 KiB
C
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
|
|
|
/*
|
|
* Copyright (C) 2008 Iain Holmes
|
|
*
|
|
* 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_COMPOSITOR_H
|
|
#define META_COMPOSITOR_H
|
|
|
|
#include <glib.h>
|
|
|
|
#include <meta/types.h>
|
|
#include <meta/boxes.h>
|
|
#include <meta/window.h>
|
|
#include <meta/workspace.h>
|
|
|
|
#define META_TYPE_COMPOSITOR (meta_compositor_get_type ())
|
|
META_EXPORT
|
|
G_DECLARE_DERIVABLE_TYPE (MetaCompositor, meta_compositor,
|
|
META, COMPOSITOR, GObject)
|
|
|
|
/**
|
|
* MetaCompEffect:
|
|
* @META_COMP_EFFECT_CREATE: The window is newly created
|
|
* (also used for a window that was previously on a different
|
|
* workspace and is changed to become visible on the active
|
|
* workspace.)
|
|
* @META_COMP_EFFECT_UNMINIMIZE: The window should be shown
|
|
* as unminimizing from its icon geometry.
|
|
* @META_COMP_EFFECT_DESTROY: The window is being destroyed
|
|
* @META_COMP_EFFECT_MINIMIZE: The window should be shown
|
|
* as minimizing to its icon geometry.
|
|
* @META_COMP_EFFECT_NONE: No effect, the window should be
|
|
* shown or hidden immediately.
|
|
*
|
|
* Indicates the appropriate effect to show the user for
|
|
* meta_compositor_show_window() and meta_compositor_hide_window()
|
|
*/
|
|
typedef enum
|
|
{
|
|
META_COMP_EFFECT_CREATE,
|
|
META_COMP_EFFECT_UNMINIMIZE,
|
|
META_COMP_EFFECT_DESTROY,
|
|
META_COMP_EFFECT_MINIMIZE,
|
|
META_COMP_EFFECT_NONE
|
|
} MetaCompEffect;
|
|
|
|
typedef enum
|
|
{
|
|
META_SIZE_CHANGE_MAXIMIZE,
|
|
META_SIZE_CHANGE_UNMAXIMIZE,
|
|
META_SIZE_CHANGE_FULLSCREEN,
|
|
META_SIZE_CHANGE_UNFULLSCREEN,
|
|
META_SIZE_CHANGE_MONITOR_MOVE,
|
|
} MetaSizeChange;
|
|
|
|
META_EXPORT
|
|
MetaLaters * meta_compositor_get_laters (MetaCompositor *compositor);
|
|
|
|
META_EXPORT
|
|
ClutterActor * meta_compositor_get_feedback_group (MetaCompositor *compositor);
|
|
|
|
#endif /* META_COMPOSITOR_H */
|