diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:48:55 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 16:48:55 +0000 |
commit | 83652d15f9f1692730e5d9457ddf4086dc70704f (patch) | |
tree | 7f963fc5e7f2ed469348ebbf7057d0f55c720851 /specs/Xext/buffer.ms | |
parent | 67f7a131c3e3616149d4775546dba04857607f96 (diff) |
XFree86 4.3.0.1xf86-4_3_0_1PRE_xf86-4_3_0_1
Diffstat (limited to 'specs/Xext/buffer.ms')
-rw-r--r-- | specs/Xext/buffer.ms | 93 |
1 files changed, 49 insertions, 44 deletions
diff --git a/specs/Xext/buffer.ms b/specs/Xext/buffer.ms index bc75132..06a6013 100644 --- a/specs/Xext/buffer.ms +++ b/specs/Xext/buffer.ms @@ -1,4 +1,9 @@ .\" $Xorg: buffer.ms,v 1.3 2000/08/17 19:42:31 cpqbld Exp $ +.\" +.\" +.\" +.\" +.\" $XFree86: xc/doc/specs/Xext/buffer.ms,v 1.4 2001/01/17 16:57:43 dawes Exp $ .TL Extending X for Double-Buffering, Multi-Buffering, and Stereo .AU @@ -99,7 +104,7 @@ Image Buffers .LP Normal windows are created using the standard \fBCreateWindow\fP request: .DS -.ft 8 +.\" .ft 8 CreateWindow parent : WINDOW w_id : WINDOW @@ -110,7 +115,7 @@ CreateWindow border_width : INT16 value_mask : BITMASK value_list : LISTofVALUE -.ft +.\" .ft .DE .LP This request allocates a set of window attributes and @@ -198,7 +203,7 @@ New Requests The new request, \fBCreateImageBuffers\fP, creates a group of image buffers and associates them with a normal X window: .DS -.ft 8 +.\" .ft 8 CreateImageBuffers w_id : WINDOW buffers : LISTofBUFFER @@ -208,7 +213,7 @@ CreateImageBuffers number_buffers : CARD16 (Errors: Window, IDChoice, Value) -.ft +.\" .ft .DE One image buffer will be associated with each ID passed in \fIbuffers\fP. The first buffer of the list is referred to as buffer[0], the next @@ -309,14 +314,14 @@ whenever there is a pause in the animation. .LP To display an image buffer the following request can be used: .DS -.ft 8 +.\" .ft 8 DisplayImageBuffers buffers : LISTofBUFFER min_delay : CARD16 max_delay : CARD16 (Errors: Buffer, Match) -.ft +.\" .ft .DE The image buffers listed will become displayed as simultaneously as possible and the update action, bound at \fBCreateImageBuffers\fP @@ -389,7 +394,7 @@ as those defined for the core protocol. To explicitly clear a rectangular area of an image buffer to the window background, the following request can be used: .DS -.ft 8 +.\" .ft 8 ClearImageBufferArea buffer : BUFFER x, y : INT16 @@ -397,7 +402,7 @@ ClearImageBufferArea exposures : BOOL (Errors: Buffer, Value) -.ft P +.\" .ft P .DE .LP Like the X \fBClearArea\fP request, \fIx\fP and \fIy\fP are relative to @@ -415,12 +420,12 @@ either visible or are being retained in backing store. The group of image buffers allocated by a \fBCreateImageBuffers\fP request can be destroyed with the following request: .DS -.ft 8 +.\" .ft 8 DestroyImageBuffers w_id : WINDOW (Error: Window) -.ft +.\" .ft .DE .LP The association between the buffer ID's and their corresponding @@ -433,13 +438,13 @@ Attributes The following attributes will be associated with each window that is multi-buffered: .DS -.ft 8 +.\" .ft 8 displayed_buffer : CARD16 update_action : {Undefined,Background,Untouched,Copied} update_hint : {Frequent,Intermittent,Static} window_mode : {Mono,Stereo} buffers : LISTofBUFFER -.ft +.\" .ft .DE .LP \fIdisplayed_buffer\fP is set to the \fIindex\fP of the currently @@ -451,7 +456,7 @@ The ID for each buffer associated with the window is recorded in the \fIbuffers\fP list. The above attributes can be queried with the following request: .DS -.ft 8 +.\" .ft 8 GetMultiBufferAttributes w_id : WINDOW => @@ -462,7 +467,7 @@ GetMultiBufferAttributes buffers : LISTofBUFFER (Errors: Window, Access, Value) -.ft +.\" .ft .DE .LP If the window is not multi-buffered, a \fBAccess\fP error will be generated. @@ -471,26 +476,26 @@ is \fIupdate_hint\fP. Rather than have a specific request to set this attribute, a generic set request is provided to allow for future expansion: .DS -.ft 8 +.\" .ft 8 SetMultiBufferAttributes w_id : WINDOW value_mask : BITMASK value_list : LISTofVALUE (Errors: Window, Match, Value) -.ft +.\" .ft .DE .LP If the window is not multi-buffered, a \fBMatch\fP error will be generated. The following attributes are maintained for each buffer of a multi-buffered window: .DS -.ft 8 +.\" .ft 8 window : WINDOW event_mask : SETofEVENT index : CARD16 side : {Mono,Left,Right} -.ft +.\" .ft .DE .LP \fIwindow\fP indicates the window this buffer is associated with. @@ -503,7 +508,7 @@ the left side or right side of a stereo window. For non-stereo windows, this attribute will be set to \fIMono\fP. These attributes can be queried with the following request: .DS -.ft 8 +.\" .ft 8 GetBufferAttributes buffer : BUFFER => @@ -513,7 +518,7 @@ GetBufferAttributes side : {Mono,Left,Right} (Errors: Buffer, Value) -.ft +.\" .ft .DE .LP The only buffer attribute that can be explicitly set @@ -527,14 +532,14 @@ Rather than have a specific request to set this attribute, a generic set request is provided to allow for future expansion: .DS -.ft 8 +.\" .ft 8 SetBufferAttributes buffer : BUFFER value_mask : BITMASK value_list : LISTofVALUE (Errors: Buffer, Value) -.ft +.\" .ft .DE .LP Clients may want to query the server about basic multi-buffer @@ -543,17 +548,17 @@ returns a large list of information that would most likely be read once by Xlib for each screen, and used as a data base for other Xlib queries: .DS -.ft 8 +.\" .ft 8 GetBufferInfo root : WINDOW => info : LISTofSCREEN_INFO -.ft +.\" .ft .DE .LP Where \fBSCREEN_INFO\fP and \fBBUFFER_INFO\fP are defined as: .DS -.ft 8 +.\" .ft 8 SCREEN_INFO : [ normal_info : LISTofBUFFER_INFO, stereo_info : LISTofBUFFER_INFO ] @@ -561,7 +566,7 @@ Where \fBSCREEN_INFO\fP and \fBBUFFER_INFO\fP are defined as: BUFFER_INFO : [ visual : VISUALID, max_buffers : CARD16, depth : CARD8 ] -.ft +.\" .ft .DE .LP Information regarding multi-buffering of normal (mono) windows @@ -576,12 +581,12 @@ memory limitations. The following request returns the major and minor version numbers of this extension: .DS -.ft 8 +.\" .ft 8 GetBufferVersion => major_number : CARD8 minor_number : CARD8 -.ft +.\" .ft .DE .LP The version numbers are an escape hatch in case future revisions of @@ -620,11 +625,11 @@ client drawing into one of these buffers the opportunity to stop drawing until some portion of the buffer is writable, the following event is added: .DS -.ft 8 +.\" .ft 8 ClobberNotify buffer : BUFFER state : {Unclobbered,PartiallyClobbered,FullyClobbered} -.ft +.\" .ft .DE .LP The \fBClobberNotify\fP event is reported to clients selecting @@ -653,10 +658,10 @@ request. This allows the FIFO manager to load up a future frame as soon as a buffer becomes available. To support this, the following event is added: .DS -.ft 8 +.\" .ft 8 UpdateNotify buffer : BUFFER -.ft +.\" .ft .DE .LP The \fBUpdateNotify\fP event is reported to clients selecting @@ -678,7 +683,7 @@ Double-Buffering Normal Windows The following pseudo-code fragment illustrates how to create and display a double-buffered image: .DS -.ft 8 +.\" .ft 8 /* * Create a normal window */ @@ -716,7 +721,7 @@ while animating * contents of last displayed image buffer. */ DestroyImageBuffers( W ) -.ft +.\" .ft .DE .bp .SH @@ -727,7 +732,7 @@ The following pseudo-code fragment illustrates how to create a a multi-buffered image and cycle through the images to simulate a movie loop: .DS -.ft 8 +.\" .ft 8 /* * Create a normal window */ @@ -760,7 +765,7 @@ while animating foreach frame DisplayImageBuffers( [B(i)], 100, 0 ) } -.ft +.\" .ft .DE .bp .SH @@ -782,7 +787,7 @@ except the displayed image is made up of a left image buffer and a right image buffer. To create a stereo window, a client makes the following request: .DS -.ft 8 +.\" .ft 8 CreateStereoWindow parent : WINDOW w_id : WINDOW @@ -797,7 +802,7 @@ CreateStereoWindow (Errors: Alloc, Color, Cursor, Match, Pixmap, Value, Window) -.ft +.\" .ft .DE .LP This request, modeled after the \fBCreateWindow\fP request, @@ -853,7 +858,7 @@ Single-Buffered Stereo Windows The following shows how to create and display a single-buffered stereo image: .DS -.ft 8 +.\" .ft 8 /* * Create the stereo window, map it the screen, * and draw the left and right images @@ -863,7 +868,7 @@ CreateStereoWindow( W, L, R, ... ) MapWindow( W ) <draw picture using L,R> -.ft +.\" .ft .DE .KE .bp @@ -896,7 +901,7 @@ either the left buffer ID or right buffer ID may be specified in a .LP To double-buffer a stereo window: .DS -.ft 8 +.\" .ft 8 /* * Create stereo window and map it to the screen */ @@ -927,7 +932,7 @@ while animating <draw picture using L0,R0> DisplayImageBuffers( [L0], 100, 0 ) } -.ft +.\" .ft .DE .bp .SH @@ -935,7 +940,7 @@ Multi-Buffering Stereo Windows .LP To cycle through \fIN\fP stereo images: .DS -.ft 8 +.\" .ft 8 /* * Create stereo window */ @@ -968,7 +973,7 @@ while animating foreach stereo image DisplayImageBuffers( [L(i)], 100, 0 ) } -.ft +.\" .ft .DE .bp .SH |