From df33455a4506362eff4d393dc7d58c9d73ddf870 Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Fri, 5 Jan 2007 17:52:49 -0800 Subject: Add a request to report a region of damage to a drawable. This bumps the protocol (and package) version to 1.1. --- configure.ac | 2 +- damageproto.h | 10 ++++++++++ damagewire.h | 5 +++-- protocol | 9 +++++++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index ce4e579..dfbb1a9 100644 --- a/configure.ac +++ b/configure.ac @@ -24,7 +24,7 @@ dnl dnl Process this file with autoconf to create configure. AC_PREREQ([2.57]) -AC_INIT([DamageProto], [1.0.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([DamageProto], [1.1.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE diff --git a/damageproto.h b/damageproto.h index feeb051..23e1155 100644 --- a/damageproto.h +++ b/damageproto.h @@ -115,6 +115,16 @@ typedef struct { #define sz_xDamageSubtractReq 16 +typedef struct { + CARD8 reqType; + CARD8 damageReqType; + CARD16 length B16; + Drawable drawable B32; + Region region B32; +} xDamagePostReq; + +#define sz_xDamagePostReq 12 + /* Events */ #define DamageNotifyMore 0x80 diff --git a/damagewire.h b/damagewire.h index c763420..158e42c 100644 --- a/damagewire.h +++ b/damagewire.h @@ -27,7 +27,7 @@ #define DAMAGE_NAME "DAMAGE" #define DAMAGE_MAJOR 1 -#define DAMAGE_MINOR 0 +#define DAMAGE_MINOR 1 /************* Version 1 ****************/ @@ -42,8 +42,9 @@ #define X_DamageCreate 1 #define X_DamageDestroy 2 #define X_DamageSubtract 3 +#define X_DamagePost 4 -#define XDamageNumberRequests (X_DamageSubtract + 1) +#define XDamageNumberRequests (X_DamagePost + 1) /* Events */ #define XDamageNotify 0 diff --git a/protocol b/protocol index 7bbfc13..7d59e16 100644 --- a/protocol +++ b/protocol @@ -188,3 +188,12 @@ DamageSubtract 1) parts = damage INTERSECT repair 2) damage = damage - parts 3) Generate DamageNotify for remaining damage areas + +DamagePost + + drawable: Drawable + region: Region + + Reports damage of the region within the given drawable. This may be + used by direct rendering clients to report damage that the server would + otherwise be unaware of. -- cgit v1.2.1