From 0463d7aaaa8fcdff84c3e1ca1c8e5beb497c8220 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Wed, 26 Feb 2025 17:53:11 +0100 Subject: [PATCH] Revert "mi: drop now obsolete mioverlay.c" This reverts commit 65b738ed60689dbd0abe67879e3cfae462c4a3f0. Requested by Nvidia - their proprietary driver still needs it. Signed-off-by: Enrico Weigelt, metux IT consult Part-of: --- mi/meson.build | 1 + mi/mioverlay.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 mi/mioverlay.c diff --git a/mi/meson.build b/mi/meson.build index 74595494e..cccdb06eb 100644 --- a/mi/meson.build +++ b/mi/meson.build @@ -9,6 +9,7 @@ srcs_mi = [ 'mifillarc.c', 'migc.c', 'miglblt.c', + 'mioverlay.c', 'mipointer.c', 'mipoly.c', 'mipolypnt.c', diff --git a/mi/mioverlay.c b/mi/mioverlay.c new file mode 100644 index 000000000..23cc2b366 --- /dev/null +++ b/mi/mioverlay.c @@ -0,0 +1,56 @@ + +#include + +#include + +#include "dix/cursor_priv.h" +#include "mi/mi_priv.h" + +#include "scrnintstr.h" +#include +#include "validate.h" +#include "windowstr.h" +#include "gcstruct.h" +#include "regionstr.h" +#include "privates.h" +#include "mivalidate.h" +#include "mioverlay.h" +#include "migc.h" + +#include "globals.h" + +typedef struct { + RegionRec exposed; + RegionRec borderExposed; + RegionPtr borderVisible; + DDXPointRec oldAbsCorner; +} miOverlayValDataRec, *miOverlayValDataPtr; + +typedef struct _TreeRec { + WindowPtr pWin; + struct _TreeRec *parent; + struct _TreeRec *firstChild; + struct _TreeRec *lastChild; + struct _TreeRec *prevSib; + struct _TreeRec *nextSib; + RegionRec borderClip; + RegionRec clipList; + unsigned visibility; + miOverlayValDataPtr valdata; +} miOverlayTreeRec, *miOverlayTreePtr; + +typedef struct { + miOverlayTreePtr tree; +} miOverlayWindowRec, *miOverlayWindowPtr; + +typedef struct { + CloseScreenProcPtr CloseScreen; + CreateWindowProcPtr CreateWindow; + DestroyWindowProcPtr DestroyWindow; + UnrealizeWindowProcPtr UnrealizeWindow; + RealizeWindowProcPtr RealizeWindow; + miOverlayTransFunc MakeTransparent; + miOverlayInOverlayFunc InOverlay; + Bool underlayMarked; + Bool copyUnderlay; +} miOverlayScreenRec, *miOverlayScreenPtr;