mirror of
https://gitlab.freedesktop.org/xorg/proto/xorgproto.git
synced 2026-05-09 03:38:05 +02:00
Add NameWindowPixmap request. Bump protocol to 0.2
This commit is contained in:
parent
19bb2c3837
commit
734331f433
4 changed files with 56 additions and 7 deletions
10
ChangeLog
10
ChangeLog
|
|
@ -1,4 +1,12 @@
|
|||
2004-06-27 root <set EMAIL_ADDRESS environment variable>
|
||||
2004-07-08 Keith Packard <keithp@keithp.com>
|
||||
|
||||
* composite.h:
|
||||
* compositeproto.h:
|
||||
* protocol:
|
||||
Add NameWindowPixmap request.
|
||||
Bump protocol to 0.2
|
||||
|
||||
2004-06-27 Eric Anholt <anholt@freedesktop.org>
|
||||
|
||||
* protocol:
|
||||
Fix some apostrophe issues.
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* $Id: composite.h,v 1.3 2003-11-07 04:21:01 keithp Exp $
|
||||
* $Id: composite.h,v 1.4 2004-07-08 07:20:55 keithp Exp $
|
||||
*
|
||||
* Copyright © 2003 Keith Packard
|
||||
*
|
||||
|
|
@ -29,7 +29,7 @@
|
|||
|
||||
#define COMPOSITE_NAME "Composite"
|
||||
#define COMPOSITE_MAJOR 0
|
||||
#define COMPOSITE_MINOR 1
|
||||
#define COMPOSITE_MINOR 2
|
||||
|
||||
#define CompositeRedirectAutomatic 0
|
||||
#define CompositeRedirectManual 1
|
||||
|
|
@ -40,7 +40,8 @@
|
|||
#define X_CompositeUnredirectWindow 3
|
||||
#define X_CompositeUnredirectSubwindows 4
|
||||
#define X_CompositeCreateRegionFromBorderClip 5
|
||||
#define X_CompositeNameWindowPixmap 6
|
||||
|
||||
#define CompositeNumberRequests (X_CompositeCreateRegionFromBorderClip + 1)
|
||||
#define CompositeNumberRequests (X_CompositeNameWindowPixmap + 1)
|
||||
|
||||
#endif /* _COMPOSITE_H_ */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* $Id: compositeproto.h,v 1.3 2003-11-07 04:21:01 keithp Exp $
|
||||
* $Id: compositeproto.h,v 1.4 2004-07-08 07:20:55 keithp Exp $
|
||||
*
|
||||
* Copyright © 2003 Keith Packard
|
||||
*
|
||||
|
|
@ -117,6 +117,18 @@ typedef struct {
|
|||
|
||||
#define sz_xCompositeCreateRegionFromBorderClipReq 12
|
||||
|
||||
/* Version 0.2 additions */
|
||||
|
||||
typedef struct {
|
||||
CARD8 reqType;
|
||||
CARD8 compositeReqType;
|
||||
CARD16 length;
|
||||
Window window B32;
|
||||
Pixmap pixmap B32;
|
||||
} xCompositeNameWindowPixmapReq;
|
||||
|
||||
#define sz_xCompositeNameWindowPixmapReq 12
|
||||
|
||||
#undef Window
|
||||
#undef Region
|
||||
|
||||
|
|
|
|||
32
protocol
32
protocol
|
|
@ -1,6 +1,6 @@
|
|||
Composite Extension
|
||||
Version 0.1
|
||||
2003-11-04
|
||||
Version 0.2
|
||||
2004-7-8
|
||||
Keith Packard
|
||||
keithp@keithp.com
|
||||
|
||||
|
|
@ -56,6 +56,17 @@ may be done with the Damage extension.
|
|||
The off-screen storage includes the window contents, its borders and the
|
||||
contents of all descendants.
|
||||
|
||||
Version 0.2 of the protocol introduces a mechanism for associating an XID
|
||||
with the off-screen pixmap used to store these contents. This can be used
|
||||
to hold onto window contents after the window is unmapped (and hence animate
|
||||
it's disappearance), and also to access the border of the window, which is
|
||||
not reachable through the Window ID itself. A new pixmap is created each
|
||||
time the window is mapped or resized; as these events are nicely signalled
|
||||
with existing events, no additional notification is needed. The old pixmap
|
||||
will remain allocated as long as the Pixmap ID is left valid, it is
|
||||
important that the client use the FreePixmap request when it is done with
|
||||
the contents and to create a new name for the newly allocated pixmap.
|
||||
|
||||
In automatic update mode, the X server is itself responsible for presenting
|
||||
the child window contents within the parent. It seems reasonable, then, for
|
||||
rendering to the parent window to be clipped so as not to interfere with any
|
||||
|
|
@ -181,3 +192,20 @@ operations other than QueryVersion.
|
|||
is copied at the moment the request is executed; future changes
|
||||
to the window hierarchy will not be reflected in this region.
|
||||
|
||||
10. Associating a Pixmap ID with the off-screen storage (0.2 and later)
|
||||
|
||||
NameWindowPixmap
|
||||
|
||||
window: Window
|
||||
pixmap: Pixmap
|
||||
|
||||
errors: Window, Match, IDChoice
|
||||
|
||||
This request makes 'pixmap' a reference to the off-screen storage
|
||||
for 'window'. This pixmap will remain allocated until freed, even
|
||||
if 'window' is unmapped, reconfigured or destroyed. However,
|
||||
'window' will get a new pixmap allocated each time it is
|
||||
mapped or resized, so this request will need to be reinvoked for
|
||||
the client to continue to refer to the storage holding the current
|
||||
window contents. Generates a 'Match' error if 'window' is not
|
||||
redirected.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue