52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
/* SPDX-License-Identifier: MIT OR X11
|
|
*
|
|
* Copyright © 2024 Enrico Weigelt, metux IT consult <info@metux.net>
|
|
*/
|
|
|
|
#ifndef _XSERVER_DIX_SELECTION_PRIV_H
|
|
#define _XSERVER_DIX_SELECTION_PRIV_H
|
|
|
|
#include <X11/Xdefs.h>
|
|
#include <X11/Xproto.h>
|
|
|
|
#include "include/dixstruct.h"
|
|
#include "include/privates.h"
|
|
|
|
typedef struct _Selection {
|
|
Atom selection;
|
|
TimeStamp lastTimeChanged;
|
|
Window window;
|
|
WindowPtr pWin;
|
|
ClientPtr client;
|
|
struct _Selection *next;
|
|
PrivateRec *devPrivates;
|
|
} Selection;
|
|
|
|
typedef enum {
|
|
SelectionSetOwner,
|
|
SelectionWindowDestroy,
|
|
SelectionClientClose
|
|
} SelectionCallbackKind;
|
|
|
|
typedef struct {
|
|
struct _Selection *selection;
|
|
ClientPtr client;
|
|
SelectionCallbackKind kind;
|
|
} SelectionInfoRec;
|
|
|
|
|
|
extern Selection *CurrentSelections;
|
|
|
|
extern CallbackListPtr SelectionCallback;
|
|
|
|
int dixLookupSelection(Selection **result,
|
|
Atom name,
|
|
ClientPtr client,
|
|
Mask access_mode);
|
|
|
|
void InitSelections(void);
|
|
void DeleteWindowFromAnySelections(WindowPtr pWin);
|
|
void DeleteClientFromAnySelections(ClientPtr client);
|
|
|
|
#endif /* _XSERVER_DIX_SELECTION_PRIV_H */
|