File indexing completed on 2025-01-30 10:26:29
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026 #ifndef _MULTIBUF_H_
0027 #define _MULTIBUF_H_
0028
0029 #include <X11/Xfuncproto.h>
0030
0031 #include <X11/extensions/multibufconst.h>
0032
0033 #define MbufGetReq(name,req,info) GetReq (name, req); \
0034 req->reqType = info->codes->major_opcode; \
0035 req->mbufReqType = X_##name;
0036
0037
0038
0039
0040 typedef XID Multibuffer;
0041
0042 typedef struct {
0043 int type;
0044 unsigned long serial;
0045 int send_event;
0046 Display *display;
0047 Multibuffer buffer;
0048 int state;
0049 } XmbufClobberNotifyEvent;
0050
0051 typedef struct {
0052 int type;
0053 unsigned long serial;
0054 int send_event;
0055 Display *display;
0056 Multibuffer buffer;
0057 } XmbufUpdateNotifyEvent;
0058
0059
0060
0061
0062
0063 typedef struct {
0064 int displayed_index;
0065 int update_action;
0066 int update_hint;
0067 int window_mode;
0068 int nbuffers;
0069 Multibuffer *buffers;
0070 } XmbufWindowAttributes;
0071
0072
0073
0074
0075 typedef struct {
0076 int update_hint;
0077 } XmbufSetWindowAttributes;
0078
0079
0080
0081
0082
0083 typedef struct {
0084 Window window;
0085 unsigned long event_mask;
0086 int buffer_index;
0087 int side;
0088 } XmbufBufferAttributes;
0089
0090
0091
0092
0093 typedef struct {
0094 unsigned long event_mask;
0095 } XmbufSetBufferAttributes;
0096
0097
0098
0099
0100
0101 typedef struct {
0102 VisualID visualid;
0103 int max_buffers;
0104 int depth;
0105 } XmbufBufferInfo;
0106
0107 _XFUNCPROTOBEGIN
0108
0109 extern Bool XmbufQueryExtension(
0110 Display* ,
0111 int* ,
0112 int*
0113 );
0114
0115 extern Status XmbufGetVersion(
0116 Display* ,
0117 int* ,
0118 int*
0119 );
0120
0121 extern int XmbufCreateBuffers(
0122 Display* ,
0123 Window ,
0124 int ,
0125 int ,
0126 int ,
0127 Multibuffer*
0128 );
0129
0130 extern void XmbufDestroyBuffers(
0131 Display* ,
0132 Window
0133 );
0134
0135 extern void XmbufDisplayBuffers(
0136 Display* ,
0137 int ,
0138 Multibuffer* ,
0139 int ,
0140 int
0141 );
0142
0143 extern Status XmbufGetWindowAttributes(
0144 Display* ,
0145 Window ,
0146 XmbufWindowAttributes*
0147 );
0148
0149 extern void XmbufChangeWindowAttributes(
0150 Display* ,
0151 Window ,
0152 unsigned long ,
0153 XmbufSetWindowAttributes*
0154 );
0155
0156 extern Status XmbufGetBufferAttributes(
0157 Display* ,
0158 Multibuffer ,
0159 XmbufBufferAttributes*
0160 );
0161
0162 extern void XmbufChangeBufferAttributes(
0163 Display* ,
0164 Multibuffer ,
0165 unsigned long ,
0166 XmbufSetBufferAttributes*
0167 );
0168
0169 extern Status XmbufGetScreenInfo(
0170 Display* ,
0171 Drawable ,
0172 int* ,
0173 XmbufBufferInfo** ,
0174 int* ,
0175 XmbufBufferInfo**
0176 );
0177
0178 extern Window XmbufCreateStereoWindow(
0179 Display* ,
0180 Window ,
0181 int ,
0182 int ,
0183 unsigned int ,
0184 unsigned int ,
0185 unsigned int ,
0186 int ,
0187 unsigned int ,
0188 Visual* ,
0189 unsigned long ,
0190 XSetWindowAttributes* ,
0191 Multibuffer* ,
0192 Multibuffer*
0193 );
0194
0195 extern void XmbufClearBufferArea(
0196 Display* ,
0197 Multibuffer ,
0198 int ,
0199 int ,
0200 unsigned int ,
0201 unsigned int ,
0202 Bool
0203 );
0204
0205 _XFUNCPROTOEND
0206
0207 #endif