This commit is contained in:
Herman Semenoff 2025-07-04 23:01:24 +03:00 committed by GitHub
commit a0853d7587
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 36 additions and 35 deletions

View File

@ -157,12 +157,13 @@ typedef struct _CompScreen {
Bool pendingScreenUpdate; Bool pendingScreenUpdate;
int numAlternateVisuals; int numAlternateVisuals;
CloseScreenProcPtr CloseScreen;
VisualID *alternateVisuals; VisualID *alternateVisuals;
int numImplicitRedirectExceptions;
CompImplicitRedirectException *implicitRedirectExceptions; CompImplicitRedirectException *implicitRedirectExceptions;
int numImplicitRedirectExceptions;
WindowPtr pOverlayWin;
Window overlayWid; Window overlayWid;
WindowPtr pOverlayWin;
CompOverlayClientPtr pOverlayClients; CompOverlayClientPtr pOverlayClients;
SourceValidateProcPtr SourceValidate; SourceValidateProcPtr SourceValidate;

View File

@ -101,6 +101,7 @@ enum DeviceEventSource {
*/ */
struct _DeviceEvent { struct _DeviceEvent {
unsigned char header; /**< Always ET_Internal */ unsigned char header; /**< Always ET_Internal */
int16_t root_x; /**< Pos relative to root window in integral data */
enum EventType type; /**< One of EventType */ enum EventType type; /**< One of EventType */
int length; /**< Length in bytes */ int length; /**< Length in bytes */
Time time; /**< Time in ms */ Time time; /**< Time in ms */
@ -112,10 +113,10 @@ struct _DeviceEvent {
uint32_t key; /**< Key code */ uint32_t key; /**< Key code */
} detail; } detail;
uint32_t touchid; /**< Touch ID (client_id) */ uint32_t touchid; /**< Touch ID (client_id) */
int16_t root_x; /**< Pos relative to root window in integral data */
float root_x_frac; /**< Pos relative to root window in frac part */
int16_t root_y; /**< Pos relative to root window in integral part */ int16_t root_y; /**< Pos relative to root window in integral part */
float root_x_frac; /**< Pos relative to root window in frac part */
float root_y_frac; /**< Pos relative to root window in frac part */ float root_y_frac; /**< Pos relative to root window in frac part */
enum DeviceEventSource source_type; /**< How this event was provoked */
uint8_t buttons[(MAX_BUTTONS + 7) / 8]; /**< Button mask */ uint8_t buttons[(MAX_BUTTONS + 7) / 8]; /**< Button mask */
struct { struct {
uint8_t mask[(MAX_VALUATORS + 7) / 8];/**< Valuator mask */ uint8_t mask[(MAX_VALUATORS + 7) / 8];/**< Valuator mask */
@ -139,7 +140,6 @@ struct _DeviceEvent {
int key_repeat; /**< Internally-generated key repeat event */ int key_repeat; /**< Internally-generated key repeat event */
uint32_t flags; /**< Flags to be copied into the generated event */ uint32_t flags; /**< Flags to be copied into the generated event */
uint32_t resource; /**< Touch event resource, only for TOUCH_REPLAYING */ uint32_t resource; /**< Touch event resource, only for TOUCH_REPLAYING */
enum DeviceEventSource source_type; /**< How this event was provoked */
}; };
/** /**
@ -239,12 +239,12 @@ struct _RawDeviceEvent {
uint32_t button; /**< Button number */ uint32_t button; /**< Button number */
uint32_t key; /**< Key code */ uint32_t key; /**< Key code */
} detail; } detail;
uint32_t flags; /**< Flags to be copied into the generated event */
struct { struct {
uint8_t mask[(MAX_VALUATORS + 7) / 8];/**< Valuator mask */ uint8_t mask[(MAX_VALUATORS + 7) / 8];/**< Valuator mask */
double data[MAX_VALUATORS]; /**< Valuator data */ double data[MAX_VALUATORS]; /**< Valuator data */
double data_raw[MAX_VALUATORS]; /**< Valuator data as posted */ double data_raw[MAX_VALUATORS]; /**< Valuator data as posted */
} valuators; } valuators;
uint32_t flags; /**< Flags to be copied into the generated event */
}; };
struct _BarrierEvent { struct _BarrierEvent {

View File

@ -55,10 +55,10 @@ SOFTWARE.
#include "privates.h" #include "privates.h"
typedef struct _ExtensionEntry { typedef struct _ExtensionEntry {
int index;
void (*CloseDown) ( /* called at server shutdown */ void (*CloseDown) ( /* called at server shutdown */
struct _ExtensionEntry * /* extension */ ); struct _ExtensionEntry * /* extension */ );
const char *name; /* extension name */ const char *name; /* extension name */
int index;
int base; /* base request number */ int base; /* base request number */
int eventBase; int eventBase;
int eventLast; int eventLast;

View File

@ -179,9 +179,9 @@ union _GrabMask {
*/ */
typedef struct _GrabRec { typedef struct _GrabRec {
GrabPtr next; /* for chain of passive grabs */ GrabPtr next; /* for chain of passive grabs */
XID resource;
DeviceIntPtr device; DeviceIntPtr device;
WindowPtr window; WindowPtr window;
XID resource;
unsigned ownerEvents:1; unsigned ownerEvents:1;
unsigned keyboardMode:1; unsigned keyboardMode:1;
unsigned pointerMode:1; unsigned pointerMode:1;
@ -248,8 +248,8 @@ typedef struct _KeyClassRec {
} KeyClassRec, *KeyClassPtr; } KeyClassRec, *KeyClassPtr;
typedef struct _ScrollInfo { typedef struct _ScrollInfo {
enum ScrollType type;
double increment; double increment;
enum ScrollType type;
int flags; int flags;
} ScrollInfo, *ScrollInfoPtr; } ScrollInfo, *ScrollInfoPtr;
@ -319,8 +319,8 @@ typedef struct _TouchPointInfo {
} TouchPointInfoRec; } TouchPointInfoRec;
typedef struct _TouchClassRec { typedef struct _TouchClassRec {
int sourceid;
TouchPointInfoPtr touches; TouchPointInfoPtr touches;
int sourceid;
unsigned short num_touches; /* number of allocated touches */ unsigned short num_touches; /* number of allocated touches */
unsigned short max_touches; /* maximum number of touches, may be 0 */ unsigned short max_touches; /* maximum number of touches, may be 0 */
CARD8 mode; /* ::XIDirectTouch, XIDependentTouch */ CARD8 mode; /* ::XIDirectTouch, XIDependentTouch */
@ -342,18 +342,18 @@ typedef struct _GestureListener {
typedef struct _GestureInfo { typedef struct _GestureInfo {
int sourceid; /* Source device's ID for this gesture */ int sourceid; /* Source device's ID for this gesture */
Bool active; /* whether or not the gesture is active */ Bool active; /* whether or not the gesture is active */
uint8_t num_touches; /* The number of touches in the gesture */
uint8_t type; /* Gesture type: either ET_GesturePinchBegin or uint8_t type; /* Gesture type: either ET_GesturePinchBegin or
ET_GestureSwipeBegin. Valid if active == TRUE */ ET_GestureSwipeBegin. Valid if active == TRUE */
int num_touches; /* The number of touches in the gesture */ Bool has_listener; /* true if listener has been setup already */
SpriteRec sprite; /* window trace for delivery */ SpriteRec sprite; /* window trace for delivery */
GestureListener listener; /* the listener that will receive events */ GestureListener listener; /* the listener that will receive events */
Bool has_listener; /* true if listener has been setup already */
} GestureInfoRec; } GestureInfoRec;
typedef struct _GestureClassRec { typedef struct _GestureClassRec {
int sourceid; int sourceid;
GestureInfoRec gesture;
unsigned short max_touches; /* maximum number of touches, may be 0 */ unsigned short max_touches; /* maximum number of touches, may be 0 */
GestureInfoRec gesture;
} GestureClassRec; } GestureClassRec;
typedef struct _ButtonClassRec { typedef struct _ButtonClassRec {
@ -374,8 +374,8 @@ typedef struct _ButtonClassRec {
} ButtonClassRec, *ButtonClassPtr; } ButtonClassRec, *ButtonClassPtr;
typedef struct _FocusClassRec { typedef struct _FocusClassRec {
int sourceid;
WindowPtr win; /* May be set to a int constant (e.g. PointerRootWin)! */ WindowPtr win; /* May be set to a int constant (e.g. PointerRootWin)! */
int sourceid;
int revert; int revert;
TimeStamp time; TimeStamp time;
WindowPtr *trace; WindowPtr *trace;
@ -527,11 +527,11 @@ typedef struct _SpriteInfoRec {
typedef struct _DeviceIntRec { typedef struct _DeviceIntRec {
DeviceRec public; DeviceRec public;
DeviceIntPtr next; DeviceIntPtr next;
Bool startup; /* true if needs to be turned on at
server initialization time */
DeviceProc deviceProc; /* proc(DevicePtr, DEVICE_xx). It is DeviceProc deviceProc; /* proc(DevicePtr, DEVICE_xx). It is
used to initialize, turn on, or used to initialize, turn on, or
turn off the device */ turn off the device */
Bool startup; /* true if needs to be turned on at
server initialization time */
Bool inited; /* TRUE if INIT returns Success */ Bool inited; /* TRUE if INIT returns Success */
Bool enabled; /* TRUE if ON returns Success */ Bool enabled; /* TRUE if ON returns Success */
Bool coreEvents; /* TRUE if device also sends core */ Bool coreEvents; /* TRUE if device also sends core */
@ -539,7 +539,6 @@ typedef struct _DeviceIntRec {
int type; /* MASTER_POINTER, MASTER_KEYBOARD, SLAVE */ int type; /* MASTER_POINTER, MASTER_KEYBOARD, SLAVE */
Atom xinput_type; Atom xinput_type;
char *name; char *name;
int id;
KeyClassPtr key; KeyClassPtr key;
ValuatorClassPtr valuator; ValuatorClassPtr valuator;
TouchClassPtr touch; TouchClassPtr touch;
@ -553,10 +552,11 @@ typedef struct _DeviceIntRec {
StringFeedbackPtr stringfeed; StringFeedbackPtr stringfeed;
BellFeedbackPtr bell; BellFeedbackPtr bell;
LedFeedbackPtr leds; LedFeedbackPtr leds;
int id;
int saved_master_id; /* for slaves while grabbed */
struct _XkbInterest *xkb_interest; struct _XkbInterest *xkb_interest;
char *config_info; /* used by the hotplug layer */ char *config_info; /* used by the hotplug layer */
ClassesPtr unused_classes; /* for master devices */ ClassesPtr unused_classes; /* for master devices */
int saved_master_id; /* for slaves while grabbed */
PrivateRec *devPrivates; PrivateRec *devPrivates;
DeviceUnwrapProc unwrapProc; DeviceUnwrapProc unwrapProc;
SpriteInfoPtr spriteInfo; SpriteInfoPtr spriteInfo;
@ -573,9 +573,9 @@ typedef struct _DeviceIntRec {
struct { struct {
double valuators[MAX_VALUATORS]; double valuators[MAX_VALUATORS];
int numValuators; int numValuators;
int num_touches; /* size of the touches array */
DeviceIntPtr slave; DeviceIntPtr slave;
ValuatorMask *scroll; ValuatorMask *scroll;
int num_touches; /* size of the touches array */
DDXTouchPointInfoPtr touches; DDXTouchPointInfoPtr touches;
} last; } last;
@ -592,12 +592,12 @@ typedef struct _DeviceIntRec {
[1/scale] . [transform] . [scale]. See DeviceSetTransform */ [1/scale] . [transform] . [scale]. See DeviceSetTransform */
struct pixman_f_transform scale_and_transform; struct pixman_f_transform scale_and_transform;
/* XTest related master device id */
int xtest_master_id;
DeviceSendEventsProc sendEventsProc;
struct _SyncCounter *idle_counter; struct _SyncCounter *idle_counter;
/* XTest related master device id */
DeviceSendEventsProc sendEventsProc;
int xtest_master_id;
Bool ignoreXkbActionsBehaviors; /* TRUE if keys don't trigger behaviors and actions */ Bool ignoreXkbActionsBehaviors; /* TRUE if keys don't trigger behaviors and actions */
} DeviceIntRec; } DeviceIntRec;

View File

@ -71,8 +71,8 @@ typedef struct _Visual {
short nplanes; /* = log2 (ColormapEntries). This does not short nplanes; /* = log2 (ColormapEntries). This does not
* imply that the screen has this many planes. * imply that the screen has this many planes.
* it may have more or fewer */ * it may have more or fewer */
unsigned long redMask, greenMask, blueMask;
int offsetRed, offsetGreen, offsetBlue; int offsetRed, offsetGreen, offsetBlue;
unsigned long redMask, greenMask, blueMask;
} VisualRec; } VisualRec;
typedef struct _Depth { typedef struct _Depth {
@ -514,12 +514,13 @@ typedef struct _Screen {
short x, y, width, height; short x, y, width, height;
short mmWidth, mmHeight; short mmWidth, mmHeight;
short numDepths; short numDepths;
unsigned char rootDepth; short numVisuals;
DepthPtr allowedDepths; DepthPtr allowedDepths;
unsigned long rootVisual; unsigned long rootVisual;
unsigned long defColormap; unsigned long defColormap;
short minInstalledCmaps, maxInstalledCmaps; unsigned char rootDepth;
char backingStoreSupport, saveUnderSupport; char backingStoreSupport, saveUnderSupport;
short minInstalledCmaps, maxInstalledCmaps;
unsigned long whitePixel, blackPixel; unsigned long whitePixel, blackPixel;
GCPtr GCperDepth[MAXFORMATS + 1]; GCPtr GCperDepth[MAXFORMATS + 1];
/* next field is a stipple to use as default in a GC. we don't build /* next field is a stipple to use as default in a GC. we don't build
@ -529,7 +530,6 @@ typedef struct _Screen {
*/ */
PixmapPtr defaultStipple; PixmapPtr defaultStipple;
void *devPrivate; void *devPrivate;
short numVisuals;
VisualPtr visuals; VisualPtr visuals;
WindowPtr root; WindowPtr root;
ScreenSaverStuffRec screensaver; ScreenSaverStuffRec screensaver;
@ -621,6 +621,7 @@ typedef struct _Screen {
NameWindowPixmapProcPtr NameWindowPixmap; NameWindowPixmapProcPtr NameWindowPixmap;
unsigned int totalPixmapSize; unsigned int totalPixmapSize;
int output_secondarys;
MarkWindowProcPtr MarkWindow; MarkWindowProcPtr MarkWindow;
MarkOverlappedWindowsProcPtr MarkOverlappedWindows; MarkOverlappedWindowsProcPtr MarkOverlappedWindows;
@ -651,7 +652,6 @@ typedef struct _Screen {
/* Info on this screen's secondarys (if any) */ /* Info on this screen's secondarys (if any) */
struct xorg_list secondary_list; struct xorg_list secondary_list;
struct xorg_list secondary_head; struct xorg_list secondary_head;
int output_secondarys;
/* Info for when this screen is a secondary */ /* Info for when this screen is a secondary */
ScreenPtr current_primary; ScreenPtr current_primary;
Bool is_output_secondary; Bool is_output_secondary;
@ -713,12 +713,12 @@ typedef struct _ScreenInfo {
int bitmapScanlineUnit; int bitmapScanlineUnit;
int bitmapScanlinePad; int bitmapScanlinePad;
int bitmapBitOrder; int bitmapBitOrder;
int numPixmapFormats;
PixmapFormatRec formats[MAXFORMATS];
int numScreens;
ScreenPtr screens[MAXSCREENS]; ScreenPtr screens[MAXSCREENS];
int numGPUScreens;
ScreenPtr gpuscreens[MAXGPUSCREENS]; ScreenPtr gpuscreens[MAXGPUSCREENS];
PixmapFormatRec formats[MAXFORMATS];
uint16_t numScreens;
uint16_t numGPUScreens;
uint8_t numPixmapFormats;
int x; /* origin */ int x; /* origin */
int y; /* origin */ int y; /* origin */
int width; /* total width of all screens together */ int width; /* total width of all screens together */

View File

@ -39,8 +39,8 @@ typedef struct _DirectFormat {
typedef struct _IndexFormat { typedef struct _IndexFormat {
VisualID vid; VisualID vid;
ColormapPtr pColormap;
int nvalues; int nvalues;
ColormapPtr pColormap;
xIndexValue *pValues; xIndexValue *pValues;
void *devPrivate; void *devPrivate;
} IndexFormatRec; } IndexFormatRec;