mirror of
https://github.com/brl/mutter.git
synced 2024-11-27 18:40:40 -05:00
eb023ff2c9
Whenever a MetaSurfaceActor is painted, update the list of what outputs the surface is being drawed upon. Since we do this on paint, we effectively avoids this whenever the surface is not drawn, for example being minimized, on a non-active workspace, or simply outside of the damage region of a frame. DND icons and cursors are not affected by this patch, since they are not drawn as MetaSurfaceActors. If a MetaSurfaceActor or a parent is cloned, then we'll check the position of the original actor again when the clone is drawn, which is slightly expensive, but harmless. If the MetaShapedTexture instead is cloned, as GNOME Shell does in many cases, then these clones will not cause duplicate position checks. https://bugzilla.gnome.org/show_bug.cgi?id=744453
47 lines
1.8 KiB
C
47 lines
1.8 KiB
C
/*
|
|
* Copyright (C) 2013 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_WAYLAND_TYPES_H
|
|
#define META_WAYLAND_TYPES_H
|
|
|
|
typedef struct _MetaWaylandCompositor MetaWaylandCompositor;
|
|
|
|
typedef struct _MetaWaylandSeat MetaWaylandSeat;
|
|
typedef struct _MetaWaylandPointer MetaWaylandPointer;
|
|
typedef struct _MetaWaylandPointerGrab MetaWaylandPointerGrab;
|
|
typedef struct _MetaWaylandPointerGrabInterface MetaWaylandPointerGrabInterface;
|
|
typedef struct _MetaWaylandPopupGrab MetaWaylandPopupGrab;
|
|
typedef struct _MetaWaylandPopup MetaWaylandPopup;
|
|
typedef struct _MetaWaylandKeyboard MetaWaylandKeyboard;
|
|
typedef struct _MetaWaylandTouch MetaWaylandTouch;
|
|
typedef struct _MetaWaylandDragDestFuncs MetaWaylandDragDestFuncs;
|
|
typedef struct _MetaWaylandDataOffer MetaWaylandDataOffer;
|
|
typedef struct _MetaWaylandDataDevice MetaWaylandDataDevice;
|
|
|
|
typedef struct _MetaWaylandBuffer MetaWaylandBuffer;
|
|
typedef struct _MetaWaylandRegion MetaWaylandRegion;
|
|
|
|
typedef struct _MetaWaylandSurface MetaWaylandSurface;
|
|
|
|
typedef struct _MetaWaylandOutput MetaWaylandOutput;
|
|
|
|
typedef struct _MetaWaylandSerial MetaWaylandSerial;
|
|
|
|
#endif
|