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 */
 |