diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 15:54:38 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-14 15:54:38 +0000 |
commit | 0d3d2607404af7f6e059fab64caea39dc34e391e (patch) | |
tree | 942ff9663aaea35570d89c0b066c3ac88ee09a42 /man | |
download | xorg-lib-libXext-0d3d2607404af7f6e059fab64caea39dc34e391e.tar.gz |
R6.6 is the Xorg base-lineXORG-MAINXORG-STABLE
Diffstat (limited to 'man')
-rw-r--r-- | man/DBE.man | 314 | ||||
-rw-r--r-- | man/XShape.man | 175 | ||||
-rw-r--r-- | man/XdbeAllocateBackBufferName.man | 68 | ||||
-rw-r--r-- | man/XdbeBeginIdiom.man | 47 | ||||
-rw-r--r-- | man/XdbeDeallocateBackBufferName.man | 54 | ||||
-rw-r--r-- | man/XdbeEndIdiom.man | 47 | ||||
-rw-r--r-- | man/XdbeFreeVisualInfo.man | 49 | ||||
-rw-r--r-- | man/XdbeGetBackBufferAttributes.man | 66 | ||||
-rw-r--r-- | man/XdbeGetVisualInfo.man | 126 | ||||
-rw-r--r-- | man/XdbeQueryExtension.man | 62 | ||||
-rw-r--r-- | man/XdbeSwapBuffers.man | 97 | ||||
-rw-r--r-- | man/Xevi.man | 162 | ||||
-rw-r--r-- | man/Xmbuf.man | 344 |
13 files changed, 1611 insertions, 0 deletions
diff --git a/man/DBE.man b/man/DBE.man new file mode 100644 index 0000000..bf36222 --- /dev/null +++ b/man/DBE.man @@ -0,0 +1,314 @@ +.\" $Xorg: DBE.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH DBE 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +DBE - Double Buffer Extension +.SH SYNOPSIS +The Double Buffer Extension (DBE) provides a standard way to utilize +double-buffering within the framework of the X Window System. +Double-buffering uses two buffers, called front and back, which hold images. +The front buffer is visible to the user; the back buffer is not. Successive +frames of an animation are rendered into the back buffer while the previously +rendered frame is displayed in the front buffer. When a new frame is ready, +the back and front buffers swap roles, making the new frame visible. Ideally, +this exchange appears to happen instantaneously to the user, with no visual +artifacts. Thus, only completely rendered images are presented to the user, +and remain visible during the entire time it takes to render a new frame. The +result is a flicker-free animation. +.SH DESCRIPTION +.B Concepts +.RS +Normal windows are created using +.B XCreateWindow() +or +.B XCreateSimpleWindow(), +which allocate a set of window attributes and, for InputOutput windows, a front +buffer, into which an image can be drawn. The contents of this buffer will be +displayed when the window is visible. + +This extension enables applications to use double-buffering with a window. +This involves creating a second buffer, called a back buffer, and associating +one or more back buffer names +.I (XIDs) +with the window, for use when referring +to (i.e., drawing to or reading from) the window's back buffer. +The back buffer name is a drawable of type +.I XdbeBackBuffer. + +DBE provides a relative double-buffering model. One XID, the window, +always refers to the front buffer. One or more other XIDs, the back buffer +names, always refer to the back buffer. After a buffer swap, the window +continues to refer to the (new) front buffer, and the back buffer name +continues to refer to the (new) back buffer. Thus, applications and toolkits +that want to just render to the back buffer always use the back buffer name +for all drawing requests to the window. Portions of an application that want +to render to the front buffer always use the window XID for all drawing +requests to the window. + +Multiple clients and toolkits can all use double-buffering on the same window. +DBE does not provide a request for querying whether a window has +double-buffering support, and if so, what the back buffer name is. Given the +asynchronous nature of the X Window System, this would cause race +conditions. Instead, DBE allows multiple back buffer names to exist for the +same window; they all refer to the same physical back buffer. The first time a +back buffer name is allocated for a window, the window becomes +double-buffered and the back buffer name is associated with the window. +Subsequently, the window already is a double-buffered window, and nothing +about the window changes when a new back buffer name is allocated, except +that the new back buffer name is associated with the window. The window +remains double-buffered until either the window is destroyed, or until all of +the back buffer names for the window are deallocated. + +In general, both the front and back buffers ae treated the same. In +particular, here are some important characteristics: + +.RS +Only one buffer per window can be visible at a time (the front buffer). + +Both buffers associated with a window have the same visual type, depth, +width, height, and shape as the window. + +Both buffers associated with a window are "visible" (or "obscured") in +the same way. When an Expose event is generated for a window, this +event is considered to apply to both buffers equally. When a +double-buffered window is exposed, both buffers are tiled with the +window background. +Even though the back buffer is not visible, terms such as obscure apply to the +back buffer as well as to the front buffer. + +It is acceptable at any time to pass an +.I XdbeBackBuffer +in any function that expects a drawable. +This enables an application to draw directly into +.I XdbeBackBuffer +in the same fashion as it would draw into any other drawable. + +It is an error (Window) to pass an +.I XdbeBackBuffer +in a function that expects a Window. + +An +.I XdbeBackBuffer +will never be sent in a reply, event, or error where a Window is specified. + +If backing-store and save-under applies to a double-buffered +window, it applies to both buffers equally. + +If the +.B XClearArea() +or +.B XClearWindow() +function is executed on a +double-buffered window, the same area in both the front and back buffers +is cleared. +.RE + +The effect of passing a window to a function that accepts a drawable +is unchanged by this extension. The window and front buffer are synonomous +with each other. This includes obeying the +.B XGetImage() +and +.B XGetSubImage() +semantics and the subwindow-mode semantics if a graphics context is +involved. Regardless of whether the window was explicitly passed in an +.B XGetImage() +or +.B XGetSubImage() +call, or implicitly referenced (i.e., one of +the window's ancestors was passed in the function), the front (i.e. visible) +buffer is always referenced. +Thus, DBE-naive screen dump clients will always get the front buffer. +.B XGetImage() +and +.B XGetSubImage() +on a back +buffer return undefined image contents for any obscured regions of the back +buffer that fall within the image. + +Drawing to a back buffer always uses the clip region that would be used to +draw to the front buffer with a GC subwindow-mode of ClipByChildren. If an +ancestor of a double-buffered window is drawn to with a GC having a +subwindow-mode of IncludeInferiors, the effect on the double-buffered +window's back buffer depends on the depth of the double-buffered window +and the ancestor. If the depths are the same, the contents of the back buffer +of the double-buffered window are not changed. If the depths are different, +the contents of the back buffer of the double-buffered window are undefined +for the pixels that the IncludeInferiors drawing touched. + +DBE adds no new events. DBE does not extend the semantics of any existing +events with the exception of adding a new drawable type called +.I XdbeBackBuffer. + +If events, replies, or errors that contain a drawable +(e.g., GraphicsExpose) are generated in response to a request, the +drawable returned will be the one specified in the request. + +DBE advertises which visuals support double buffering. + +DBE does not include any timing or synchronization facilities. Applications +that need such facilities (e.g., to maintain a constant frame rate) should +investigate the Synchronization Extension, an X Consortium standard. +.RE + +.B Window Management Operations + +.RS +The basic philosophy of DBE is that both buffers are treated the same by +X window management operations. + +When a double-buffered window is destroyed, +both buffers associated with the window are destroyed, and all back buffer +names associated with the window are freed. + +If the size of a double-buffered window changes, both +buffers assume the new size. If the window's size increases, the effect on the +buffers depends on whether the implementation honors bit gravity for buffers. +If bit gravity is implemented, then the contents of both buffers are moved in +accordance with the window's bit gravity, +and the remaining areas are tiled with the window background. If +bit gravity is not implemented, then the entire unobscured region of both +buffers is tiled with the window background. In either case, Expose events are +generated for the region that is tiled with the window background. + +If the +.B XGetGeometry() +function is executed on an +.I XdbeBackBuffer, +the returned x, y, and border-width will be zero. + +If the Shape extension +.B ShapeRectangles, ShapeMask, ShapeCombine, +or +.B ShapeOffset +request is executed on a double-buffered window, both +buffers are reshaped to match the new window shape. The region difference +D = new shape - old shape is tiled with the window background in both +buffers, and Expose events are generated for D. +.RE + +.B Complex Swap Actions + +.RS +DBE has no explicit knowledge of ancillary buffers (e.g. depth buffers or +alpha buffers), and only has a limited set of defined swap actions. Some +applications may need a richer set of swap actions than DBE provides. Some +DBE implementations have knowledge of ancillary buffers, and/or can provide +a rich set of swap actions. Instead of continually extending DBE to increase +its set of swap actions, DBE provides a flexible "idiom" mechanism. If an +applications's needs are served by the defined swap actions, it should use +them; otherwise, it should use the following method of expressing a complex +swap action as an idiom. Following this policy will ensure the best possible +performance across a wide variety of implementations. + +As suggested by the term "idiom," a complex swap action should be expressed +as a group/series of requests. Taken together, this group of requests may be +combined into an atomic operation by the implementation, in order to +maximize performance. The set of idioms actually recognized for optimization +is implementation dependent. To help with idiom expression and +interpretation, an idiom must be surrounded by two function calls: +.B XdbeBeginIdiom() +and +.B XdbeEndIdiom(). +Unless this begin-end pair +surrounds the idiom, it may not be recognized by a given implementation, and +performance will suffer. + +For example, if an application wants to swap buffers for two windows, and use +X to clear only certain planes of the back buffers, the application would +make the following calls as a group, and in the following order: + +.RS +.B XdbeBeginIdiom(). + +.B XdbeSwapBuffers() +with XIDs for two windows, each of which uses a swap action of Untouched. + +.B XFillRectangle() +to the back buffer of one window. + +.B XFillRectangle() +to the back buffer of the other window. + +.B XdbeEndIdiom(). +.RE + +The +.B XdbeBeginIdiom() +and +.B XdbeEndIdiom() +functions do not perform any +actions themselves. They are treated as markers by implementations that can +combine certain groups/series of requests as idioms, and are ignored by other +implementations or for non-recognized groups/series of requests. If these +function calls are made out of order, or are mismatched, no errors are sent, +and the functions are executed as usual, though performance may suffer. + +.B XdbeSwapBuffers() +need not be included in an idiom. For +example, if a swap action of Copied is desired, but only some of the planes +should be copied, +.B XCopyArea() +may be used instead of +.B XdbeSwapBuffers(). +If +.B XdbeSwapBuffers() +is included in an idiom, it should immediately follow the +.B XdbeBeginIdiom() +call. Also, when the +.B XdbeSwapBuffers() +is included in an idiom, that request's swap action will +still be valid, and if the swap action might overlap with another request, then +the final result of the idiom must be as if the separate requests were executed +serially. For example, if the specified swap action is Untouched, and if a +.B XFillRectangle() +using a client clip rectangle is done to the window's back +buffer after the +.B XdbeSwapBuffers() +call, then the contents of the new +back buffer (after the idiom) will be the same as if the idiom was not +recognized by the implementation. + +It is highly recommended that API providers define, and application +developers use, "convenience" functions that allow client applications to call +one procedure that encapsulates common idioms. These functions will +generate the +.B XdbeBeginIdiom(), +idiom, and +.B XdbeEndIdiom() +calls. Usage of these functions will ensure best possible +performance across a wide variety of implementations. +.SH SEE ALSO +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XShape.man b/man/XShape.man new file mode 100644 index 0000000..cd4df57 --- /dev/null +++ b/man/XShape.man @@ -0,0 +1,175 @@ +.\" $Xorg: XShape.man,v 1.4 2001/03/16 17:49:24 pookie Exp $ +.\" +.\" Copyright (c) 1989, 1994 X Consortium +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the X Consortium shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" X Consortium. +.de ZN +.ie t \fB\^\\$1\^\fR\\$2 +.el \fI\^\\$1\^\fP\\$2 +.. +.TH XSHAPE 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XShapeQueryExtension, XShapeQueryVersion, XShapeCombineRegion, XShapeCombineRectangles, XShapeCombineMask, XShapeCombineShape, XShapeOffsetShape, XShapeQueryExtents, XShapeSelectInput, XShapeInputSelected, XShapeGetRectangles \- X nonrectangular shape functions +.SH SYNTAX +.nf +.LP +#include <X11/extensions/shape.h> +.LP +Bool XShapeQueryExtension ( + Display *dpy, + int *event_basep, + int *error_basep); +.LP +Status XShapeQueryVersion ( + Display *dpy, + int *major_versionp, + int *minor_versionp); +.LP +void XShapeCombineRegion ( + Display *dpy, + Window dest, + int destKind, + int xOff, + int yOff, + struct _XRegion *r, + int op); +.LP +void XShapeCombineRectangles ( + Display *dpy, + XID dest, + int destKind, + int xOff, + int yOff, + XRectangle *rects, + int n_rects, + int op, + int ordering); +.LP +void XShapeCombineMask ( + Display *dpy, + XID dest, + int destKind, + int xOff, + int yOff, + Pixmap src, + int op); +.LP +void XShapeCombineShape ( + Display *dpy, + XID dest, + int destKind, + int xOff, + int yOff, + Pixmap src, + int srcKind, + int op); +.LP +void XShapeOffsetShape ( + Display *dpy, + XID dest, + int destKind, + int xOff, + int yOff); +.LP +Status XShapeQueryExtents ( + Display *dpy, + Window window, + int *bShaped, + int *xbs, + int *ybs, + unsigned int *wbs, + unsigned int *hbs, + int *cShaped, + int *xcs, + int *ycs, + unsigned int *wcs, + unsigned int *hcs); +.LP +void XShapeSelectInput ( + Display *dpy, + Window window, + unsigned longmask); +.LP +unsigned long XShapeInputSelected ( + Display *dpy, + Window window); +.LP +XRectangle *XShapeGetRectangles ( + Display *dpy, + Window window, + int kind, + int *count, + int *ordering); +.fi +.SH STRUCTURES +.nf +.LP +.ta 3i +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + Bool send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Window window; /* window of event */ + int kind; /* ShapeBounding or ShapeClip */ + int x, y; /* extents of new region */ + unsigned width, height; + Time time; /* server timestamp when region changed */ + Bool shaped; /* true if the region exists */ +} XShapeEvent; +.fi +.SH DESCRIPTION +The \fIX11 Nonrectangular Window Shape Extension\fP adds nonrectangular +windows to the X Window System. +.SH PREDEFINED VALUES +Operations: +.in +.5i +.nf +.ZN ShapeSet +.ZN ShapeUnion +.ZN ShapeIntersect +.ZN ShapeSubtract +.ZN ShapeInvert +.in -.5i +.fi +.sp +Shape Kinds: +.in +.5i +.nf +.ZN ShapeBounding +.ZN ShapeClip +.in -.5i +.fi +.sp +Event defines: +.in +.5i +.nf +.ZN ShapeNotifyMask +.ZN ShapeNotify +.in -.5i +.fi +.SH BUGS +This manual pages needs a lot more work. +.SH SEE ALSO +\fIX11 Nonrectangular Window Shape Extension\fP diff --git a/man/XdbeAllocateBackBufferName.man b/man/XdbeAllocateBackBufferName.man new file mode 100644 index 0000000..b1bcadf --- /dev/null +++ b/man/XdbeAllocateBackBufferName.man @@ -0,0 +1,68 @@ +.\" $Xorg: XdbeAllo.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeAllocateBackBufferName 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeAllocateBackBufferName - allocates a DBE buffer. +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +XdbeBackBuffer XdbeAllocateBackBufferName( + Display *dpy, + Window window, + XdbeSwapAction swap_action) +.SH DESCRIPTION +This function returns a drawable ID used to refer to the back buffer of the +specified window. The swap_action is a hint to indicate the swap action that +will likely be used in subsequent calls to +.B XdbeSwapBuffers(). +The actual swap +action used in calls to +.B XdbeSwapBuffers() +does not have to be the same as the +swap_action passed to this function, though clients are encouraged to provide +accurate information whenever possible. +.SH ERRORS +.IP BadAlloc +.IP BadIDChoice +.IP BadMatch +The specified window is not an InputOutput window or its visual does not +support DBE. +.IP BadValue +An invalid swap action was specified. +.IP BadWindow +An invalid window was specified. +.SH SEE ALSO +DBE, +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeBeginIdiom.man b/man/XdbeBeginIdiom.man new file mode 100644 index 0000000..686147a --- /dev/null +++ b/man/XdbeBeginIdiom.man @@ -0,0 +1,47 @@ +.\" $Xorg: XdbeBegi.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH DBE 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeBeginIdiom - marks the beginning of a DBE idiom sequence. +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +Status XdbeBeginIdiom( + Display *dpy) +.SH DESCRIPTION +This function marks the beginning of an idiom sequence. +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeDeallocateBackBufferName.man b/man/XdbeDeallocateBackBufferName.man new file mode 100644 index 0000000..df58dd2 --- /dev/null +++ b/man/XdbeDeallocateBackBufferName.man @@ -0,0 +1,54 @@ +.\" $Xorg: XdbeDeal.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeDeallocateBackBufferName 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeDeallocateBackBufferName - frees a DBE buffer. +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +Status XdbeDeallocateBackBufferName( + Display *dpy, + XdbeBackBuffer buffer) +.SH DESCRIPTION +This function frees a drawable ID, buffer, that was obtained via +.B XdbeAllocateBackBufferName(). +The buffer must be a valid name for the back +buffer of a window, or a protocol error results. +.SH ERRORS +.IP BadBuffer +The specified buffer is not associated with a window. +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeEndIdiom.man b/man/XdbeEndIdiom.man new file mode 100644 index 0000000..ffacb50 --- /dev/null +++ b/man/XdbeEndIdiom.man @@ -0,0 +1,47 @@ +.\" $Xorg: XdbeEndI.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeEndIdiom 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeEndIdiom - marks the end of a DBE idiom sequence. +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +Status XdbeEndIdiom( + Display *dpy) +.SH DESCRIPTION +This function marks the end of an idiom sequence. +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeFreeVisualInfo.man b/man/XdbeFreeVisualInfo.man new file mode 100644 index 0000000..2792067 --- /dev/null +++ b/man/XdbeFreeVisualInfo.man @@ -0,0 +1,49 @@ +.\" $Xorg: XdbeFree.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeFreeVisualInfo 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeFreeVisualInfo - frees information returned by +.B XdbeGetVisualInfo(). +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +void XdbeFreeVisualInfo( + XdbeScreenVisualInfo *visual_info) +.SH DESCRIPTION +This function frees the list of XdbeScreenVisualInfo returned by the function +.B XdbeGetVisualInfo(). +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeGetBackBufferAttributes.man b/man/XdbeGetBackBufferAttributes.man new file mode 100644 index 0000000..c1b1856 --- /dev/null +++ b/man/XdbeGetBackBufferAttributes.man @@ -0,0 +1,66 @@ +.\" $Xorg: XdbeGetB.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeGetBackBufferAttributes 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeGetBackBufferAttributes - returns attributes of a DBE buffer. +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +XdbeBackBufferAttributes *XdbeGetBackBufferAttributes( + Display *dpy, + XdbeBackBuffer buffer) +.SH DESCRIPTION +This function returns the attributes associated with the specified buffer. + +The +.I XdbeBackBufferAttributes +structure has the following fields: + +.RS +Window window window that buffer belongs to +.RE + +If buffer is not a valid +.I XdbeBackBuffer, +window returns None. + +The returned +.I XdbeBackBufferAttributes +structure can be freed with the +Xlib function +.B Xfree(). +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeGetVisualInfo.man b/man/XdbeGetVisualInfo.man new file mode 100644 index 0000000..31204c5 --- /dev/null +++ b/man/XdbeGetVisualInfo.man @@ -0,0 +1,126 @@ +.\" $Xorg: XdbeGetV.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeGetVisualInfo 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeGetVisualInfo +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +XdbeScreenVisualInfo *XdbeGetVisualInfo( + Display *dpy, + Drawable *screen_specifiers, + int *num_screens) +.SH DESCRIPTION +This function returns information about which visuals support double +buffering. The argument +.I num_screens +specifies how many elements there are +in the +.I screen_specifiers +list. Each drawable in +.I screen_specifiers +designates a +screen for which the supported visuals are being requested. If +.I num_screens +is zero, information for all screens is requested. In this case, upon return +from this function, +.I num_screens +will be set to the number of screens that were +found. If an error occurs, this function returns NULL, else it returns a +pointer to a list of +.I XdbeScreenVisualInfo +structures of length +.I num_screens. +The nth +element in the returned list corresponds to the nth drawable in the +.I screen_specifiers +list, unless +.I num_screens +was passed in with the value zero, +in which case the nth element in the returned list corresponds to the nth screen +of the server, starting with screen zero. The +.I XdbeScreenVisualInfo +structure has the following fields: + + int count + XdbeVisualInfo *visinfo + +.I count +specifies the number of items in +.I visinfo. +.I visinfo +specifies a list of visuals, depths, and performance hints for this screen. + +The +.I XdbeVisualInfo +structure has the following fields: + + VisualID visual + int depth + int perflevel + +.I visual +specifies one visual ID that supports double-buffering. +.I depth +specifies the depth of the visual. +.I perflevel +is a performance hint. + +The only operation defined on a +.I perflevel +is comparison to a +.I perflevel +of another visual on the same screen. The visual having the higher +.I perflevel +is likely to have better double-buffering graphics performance than the visual +having the lower +.I perflevel. +Nothing can be deduced from the following: the magnitude of the difference +of two +.I perflevels, +a +.I perflevel +value in isolation, or comparing +.I perflevels +from different servers. + +.SH ERRORS +.IP BadDrawable +One or more values passed in +.I screen_specifiers +is not a valid drawable. +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeQueryExtension(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeQueryExtension.man b/man/XdbeQueryExtension.man new file mode 100644 index 0000000..3bae215 --- /dev/null +++ b/man/XdbeQueryExtension.man @@ -0,0 +1,62 @@ +.\" $Xorg: XdbeQuer.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeQueryExtension 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeQueryExtension - returns the version of DBE supported by the server. +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +Status XdbeQueryExtension( + Display *dpy, + int *major_version_return, + int *minor_version_return) +.SH DESCRIPTION +Sets +.I major_version_return +and +.I minor_version_return +to the major and minor +DBE protocol version supported by the server. If the DBE library is +compatible with the version returned by the server, this function returns +non-zero. If +.I dpy +does not support the DBE extension, or if there was an error +during communication with the server, or if the server and library protocol +versions are incompatible, this function returns zero. No other Xdbe functions +may be called before this function. If a client violates this rule, the +effects of all subsequent Xdbe calls that it makes are undefined. +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeSwapBuffers(). + diff --git a/man/XdbeSwapBuffers.man b/man/XdbeSwapBuffers.man new file mode 100644 index 0000000..782afba --- /dev/null +++ b/man/XdbeSwapBuffers.man @@ -0,0 +1,97 @@ +.\" $Xorg: XdbeSwap.man,v 1.4 2001/03/16 17:49:55 pookie Exp $ +.\" +.\" Copyright (c) 1995 Hewlett-Packard Company +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the Hewlett-Packard Company shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" Hewlett-Packard Company. +.TH XdbeSwapBuffers 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XdbeSwapBuffers - swaps front and back DBE buffers. +.SH SYNOPSIS +#include <X11/extensions/Xdbe.h> + +Status XdbeSwapBuffers( + Display *dpy, + XdbeSwapInfo *swap_info, + int num_windows) +.SH DESCRIPTION +This function swaps the front and back buffers for a list of windows. The +argument +.I num_windows +specifies how many windows are to have their buffers +swapped; it is the number of elements in the +.I swap_info +array. The argument +.I swap_info +specifies the information needed per window to do the swap. + +The +.I XdbeSwapInfo +structure has the following fields: + + Window swap_window + XdbeSwapAction swap_action + +.I swap_window +specifies the window for which to swap buffers. +.I swap_action +specifies the swap action to use for this +.I swap_window. + +.I swap_action +determines what will happen to the new back buffer of the +.I swap_window +it is paired with in the list in addition to making the old back buffer +become visible. The defined actions are as follows: + +.IP XdbeUndefined +The contents of the new back buffer become undefined. This may be the most +efficient action since it allows the implementation to discard the contents of +the buffer if it needs to. +.IP XdbeBackground +The unobscured region of the new back buffer will be tiled with the +window background. The background action allows devices to use a fast clear +capability during a swap. +.IP XdbeUntouched +The unobscured region of the new back buffer will be unmodified by the swap. +.IP XdbeCopied +The unobscured region of the new back buffer will be the contents of the old +back buffer +.SH ERRORS +.IP BadMatch +A non-double-buffered window was specififed or a window was specified twice. +.IP BadWindow +An invalid window was specified. +.IP BadValue +An invalid swap action was specified. +.SH SEE ALSO +DBE, +.I XdbeAllocateBackBufferName(), +.I XdbeBeginIdiom(), +.I XdbeDeallocateBackBufferName(), +.I XdbeEndIdiom(), +.I XdbeFreeVisualInfo(), +.I XdbeGetBackBufferAttributes(), +.I XdbeGetVisualInfo(), +.I XdbeQueryExtension(). + diff --git a/man/Xevi.man b/man/Xevi.man new file mode 100644 index 0000000..4cdd16e --- /dev/null +++ b/man/Xevi.man @@ -0,0 +1,162 @@ +.\" $Xorg: Xevi.man,v 1.4 2001/03/16 17:49:24 pookie Exp $ +.\" +.\" Copyright (c) 1997 Silicon Graphics, Inc. +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" SILICON GRAPHICS, INC. BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of Silicon Graphics, Inc. shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from +.\" Silicon Graphics, Inc. +.TH XEVI 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XeviQueryExtension, XeviQueryVersion, XeviGetVisualInfo - X Extended Visual Information functions +.SH SYNOPSIS +#include <X11/extensions/XEVI.h> + +Bool +XeviQueryExtension (Display *dpy); +.LP +Bool +XeviQueryVersion (Display *dpy, + int *major_version_return, + int *minor_version_return); +.LP +int +XeviGetVisualInfo (Display *dpy, VisualID *visual, + int n_visual, ExtendedVisualInfo ** evi_return, + int * n_info_return); +.fi +.SH DESCRIPTION +The +X11 Extended Visual Information extension (EVI) allows a client to determine +information about core X visuals beyond what the core protocol provides. + +The EVI application programming library contains the interfaces described below. +With the exception of +.BR XeviQueryExtension, +if any of these routines are +called with a display that does not support the extension, the +ExtensionErrorHandler (which can be set with +.BR XSetExtensionErrorHandler +and functions the same way as +.BR XSetErrorHandler ) +will be called and the function will then return. +.PP +.BR XeviQueryExtension +returns +.BR True +if the Extended Visual Information extension is available on the given display. +A client must call +.BR XeviQueryExtension +before calling any other EVI +function in order to negotiate a compatible protocol version; otherwise +the client will get undefined behavior (EVI may or may not work). +.PP +.BR XeviQueryVersion +returns +.BR True +if the request succeeded; the values of the major and minor protocol +version supported by the server are returned in +.I major_version_return +and +.I minor_version_return. +.PP +.BR XeviGetVisualInfo +returns a list of ExtendedVisualInfo structures that describe +visual information beyond that supported by the core protocol. This includes +layer information relevant for systems supporting overlays and/or underlay +planes, and information that allows applications better to determine the level +of hardware support for multiple colormaps. XeviGetVisualInfo returns +.BR Success +if successful, or an X error otherwise. +If the argument +.I visual +is NULL, then information for all visuals of all +screens is returned. Otherwise, it's a pointer to a list of visuals for which +extended visual information is desired. +.I n_visual +is the number of elements in the array visual. +.I evi_return +returns a pointer to a list of ExtendedVisualInfo. When done, the client +should free the list using XFree\. +.I n_info_return +returns the number of elements in the array evi_return. +.LP +The +.BR ExtendedVisualInfo +structure has the following fields: +.in +.5i +.nf +.ta 1.6i +VisualID \fIcore_visual_id\fR +int \fIscreen\fR +int \fIlevel\fR +unsigned int \fItransparency_type\fR +unsigned int \fItransparency_value\fR +unsigned int \fImin_hw_colormaps\fR +unsigned int \fImax_hw_colormaps\fR +unsigned int \fInum_colormap_conflicts\fR +VisualID * \fIcolormap_conflicts\fR +.fi +.LP +The combination of +.I core_visual_id +and +.I screen +number uniquely specify the visual being described. +.LP +.I level +returns the level number for the visual, 0 for normal planes, > 0 for +overlays, < 0 for underlays. +.LP +.I +transparency_type +returns the type of transparency supported by the visual. XEVI_TRANSPARENCY_NONE if +there are no transparent pixels, XEVI_TRANSPARENCY_PIXEL if the visual supports +a transparent pixel, XEVI_TRANSPARENCY_MASK if the visual supports transparent +plane(s). +.LP +.I transparency_value +returns the pixel/plane value to set for transparency if transparency_type isn't +XEVI_TRANSPARENCY_NONE. +.LP +.I min_hw_colormaps +and +.I max_hw_colormaps +return the minimum and maximum number of hardware colormaps backing up the +visual. +.LP +.I num_colormap_conflicts +returns the number of elements in +.I colormap_conflicts. +This array returns a list of visuals that may cause conflicts in the use of the +hardware colormap. For example, if a 12-bit hardware colormap is overloaded to +support 8-bit colormaps, the corresponding 8-bit visuals would conflict with the +12-bit visuals. + +.SH ERRORS +.BR XeviGetVisualInfo +will return +.I BadValue +if passed an illegal visual ID, +.I BadAccess +if the X server does not respond, +.I BadAlloc +if there is a memory allocation failure. diff --git a/man/Xmbuf.man b/man/Xmbuf.man new file mode 100644 index 0000000..842c26f --- /dev/null +++ b/man/Xmbuf.man @@ -0,0 +1,344 @@ +.\" $Xorg: Xmbuf.man,v 1.4 2001/03/16 17:49:24 pookie Exp $ +.\" Copyright (c) 1989, 1994 X Consortium +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +.\" WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF +.\" OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +.\" SOFTWARE. +.\" +.\" Except as contained in this notice, the name of the X Consortium shall not +.\" be used in advertising or otherwise to promote the sale, use or other +.\" dealing in this Software without prior written authorization from the +.\" X Consortium. +.\" +.\" Copyright 1989, Digital Equipment Corporation. +.\" Permission to use, copy, modify, distribute, and sell this documentation +.\" for any purpose and without fee is hereby granted, provided that the above +.\" copyright notice and this permission notice appear in all copies. +.\" Digital Equipment Corporation makes no representations +.\" about the suitability for any purpose of the information in +.\" this document. This documentation is provided "as is" +.\" without express or implied warranty. +.\" +.de ZN +.ie t \fB\^\\$1\^\fR\\$2 +.el \fI\^\\$1\^\fP\\$2 +.. +.TH XMBUF 3X11 "Release 6.6" "X Version 11" "X FUNCTIONS" +.SH NAME +XmbufQueryExtension, XmbufGetVersion, XmbufCreateBuffers, XmbufDestroyBuffers, XmbufDisplayBuffers, XmbufGetWindowAttributes, XmbufChangeWindowAttributes, XmbufGetBufferAttributes, XmbufChangeBufferAttributes, XmbufGetScreenInfo, XmbufCreateStereoWindow - X multibuffering functions +.SH SYNTAX +.nf +.LP +#include <X11/extensions/multibuf.h> +.LP +Bool XmbufQueryExtension( + Display *dpy, + Display *dpy, + int *event_base_return, + int *error_base_return); +.LP +Status XmbufGetVersion( + Display *dpy, + int *major_version_return, + int *minor_version_return); +.LP +int XmbufCreateBuffers( + Display *dpy, + Window window, + int count, + int update_action, + int update_hint, + Multibuffer *buffers_update); +.LP +void XmbufDestroyBuffers( + Display *dpy, + Window window); +.LP +void XmbufDisplayBuffers( + Display *dpy, + int count, + Multibuffer *buffers, + int min_delay, + int max_delay); +.LP +Status XmbufGetWindowAttributes( + Display *dpy, + Window window, + XmbufWindowAttributes *attributes); +.LP +void XmbufChangeWindowAttributes( + Display *dpy, + Window window, + unsigned long valuemask, + XmbufSetWindowAttributes *attributes); +.LP +Status XmbufGetBufferAttributes( + Display *dpy, + Multibuffer buffer, + XmbufBufferAttributes *attributes); +.LP +void XmbufChangeBufferAttributes( + Display *dpy, + Multibuffer buffer, + unsigned long valuemask, + XmbufSetBufferAttributes *attributes); +.LP +Status XmbufGetScreenInfo( + Display *dpy, + Drawable drawable, + int *nmono_return, + XmbufBufferInfo **mono_info_return, + int *nstereo_return, + XmbufBufferInfo **stereo_info_return); +.LP +Window XmbufCreateStereoWindow( + Display *dpy, + Window parent, + int x, + int y, + unsigned int width, + unsigned int height, + unsigned int border_width, + int depth, + unsigned int class, /* InputOutput, InputOnly*/ + Visual *visual, + unsigned long valuemask, + XSetWindowAttributes *attributes, + Multibuffer *left_return, + Multibuffer *right_return); +.fi +.SH STRUCTURES +.nf +.ta 3i +\fIEvents:\fP +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + int send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Multibuffer buffer; /* buffer of event */ + int state; /* see Clobbered constants above */ +} XmbufClobberNotifyEvent; +.LP +typedef struct { + int type; /* of event */ + unsigned long serial; /* # of last request processed by server */ + int send_event; /* true if this came frome a SendEvent request */ + Display *display; /* Display the event was read from */ + Multibuffer buffer; /* buffer of event */ +} XmbufUpdateNotifyEvent; +.LP +\fIPer-window attributes that can be got:\fP +typedef struct { + int displayed_index; /* which buffer is being displayed */ + int update_action; /* Undefined, Background, Untouched, Copied */ + int update_hint; /* Frequent, Intermittent, Static */ + int window_mode; /* Mono, Stereo */ + int nbuffers; /* Number of buffers */ + Multibuffer *buffers; /* Buffers */ +} XmbufWindowAttributes; +.LP +\fIPer-window attributes that can be set:\fP +typedef struct { + int update_hint; /* Frequent, Intermittent, Static */ +} XmbufSetWindowAttributes; +.LP +\fIPer-buffer attributes that can be got:\fP +typedef struct { + Window window; /* which window this belongs to */ + unsigned long event_mask; /* events that have been selected */ + int buffer_index; /* which buffer is this */ + int side; /* Mono, Left, Right */ +} XmbufBufferAttributes; +.LP +\fIPer-buffer attributes that can be set:\fP +typedef struct { + unsigned long event_mask; /* events that have been selected */ +} XmbufSetBufferAttributes; +.LP +\fIPer-screen buffer info (there will be lists of them):\fP +typedef struct { + VisualID visualid; /* visual usuable at this depth */ + int max_buffers; /* most buffers for this visual */ + int depth; /* depth of buffers to be created */ +} XmbufBufferInfo; +.fi +.SH DESCRIPTION +The application programming library for the +\fIX11 Double-Buffering, Multi-Buffering, and Stereo Extension\fP +contains the interfaces described below. +With the exception of +.ZN XmbufQueryExtension , +if any of these routines are +called with a display that does not support the extension, the +ExtensionErrorHandler (which can be set with +.ZN XSetExtensionErrorHandler +and functions the same way as +.ZN XSetErrorHandler ) +will be called and the function will then return. +.PP +.ZN XmbufQueryExtension +returns +.ZN True +if the multibuffering/stereo +extension is available on the +given display. If the extension exists, the value of the first event +code (which should be added to the event type constants +.ZN MultibufferClobberNotify +and +.ZN MultibufferUpdateNotify +to get the actual +values) is stored into event_base_return and the value of the first +error code (which should be added to the error type constant +.ZN MultibufferBadBuffer +to get the actual value) is stored into error_base_return. +.PP +.ZN XmbufGetVersion +gets the major and minor version numbers of the extension. +The return +value is zero if an error occurs or non-zero if no error happens. +.PP +.ZN XmbufCreateBuffers +requests that "count" buffers be +created with the given update_action +and update_hint and be associated with the indicated window. The +number of buffers created is returned (zero if an error occurred) +and buffers_update is filled in with that many Multibuffer identifiers. +.PP +.ZN XmbufDestroyBuffers +destroys the buffers associated +with the given window. +.PP +.ZN XmbufDisplayBuffers +displays the indicated buffers their +appropriate windows within +max_delay milliseconds after min_delay milliseconds have passed. +No two buffers may be associated with the same window or else a Matc +error is generated. +.PP +.ZN XmbufGetWindowAttributes +gets the multibuffering attributes that apply +to all buffers associated +with the given window. +The list of buffers returns may be freed with +.ZN XFree . +Returns non-zero on success and zero if an error occurs. +.PP +.ZN XmbufChangeWindowAttributes +sets the multibuffering attributes +that apply to all buffers associated +with the given window. This is currently limited to the update_hint. +.PP +.ZN XmbufGetBufferAttributes +gets the attributes for the indicated buffer. +Returns non-zero on +success and zero if an error occurs. +.PP +.ZN XmbufChangeBufferAttributes +sets the attributes for the indicated buffer. +This is currently limited to the event_mask. +.PP +.ZN XmbufGetScreenInfo +gets the parameters controlling how +mono and stereo windows may be +created on the screen of the given drawable. The numbers of sets of +visual and depths are returned in nmono_return and nstereo_return. If +nmono_return is greater than zero, then mono_info_return is set to the +address of an array of +.ZN XmbufBufferInfo +structures describing the +various visuals and depths that may be used. Otherwise, +mono_info_return is set to NULL. Similarly, stereo_info_return is set +according to nstereo_return. The storage returned in mono_info_return +and stereo_info_return may be released by +.ZN XFree . +If no errors are +encounted, non-zero will be returned. +.PP +.ZN XmbufCreateStereoWindow +creates a stereo window in the same way that +.ZN XCreateWindow +creates a mono window. The buffer ids for the left and right buffers are +returned in left_return and right_return, respectively. If an +extension error handler that returns is installed, +.ZN None +will be returned if the extension is not available on this display. +.SH PREDEFINED VALUES +.sp +Update_action field: +.in +.5i +.nf +.ZN MultibufferUpdateActionUndefined +.ZN MultibufferUpdateActionBackground +.ZN MultibufferUpdateActionUntouched +.ZN MultibufferUpdateActionCopied +.in -.5i +.fi +.sp +Update_hint field: +.in +.5i +.nf +.ZN MultibufferUpdateHintFrequent +.ZN MultibufferUpdateHintIntermittent +.ZN MultibufferUpdateHintStatic +.in -.5i +.sp +.fi +Valuemask fields: +.in +.5i +.nf +.ZN MultibufferWindowUpdateHint +.ZN MultibufferBufferEventMask +.in -.5i +.fi +.sp +Mono vs. stereo and left vs. right: +.in +.5i +.nf +.ZN MultibufferModeMono +.ZN MultibufferModeStereo +.ZN MultibufferSideMono +.ZN MultibufferSideLeft +.ZN MultibufferSideRight +.in -.5i +.fi +.sp +Clobber state: +.in +.5i +.nf +.ZN MultibufferUnclobbered +.ZN MultibufferPartiallyClobbered +.ZN MultibufferFullyClobbered +.in -.5i +.fi +.sp +Event stuff: +.in +.5i +.nf +.ZN MultibufferClobberNotifyMask +.ZN MultibufferUpdateNotifyMask +.ZN MultibufferClobberNotify +.ZN MultibufferUpdateNotify +.ZN MultibufferNumberEvents +.ZN MultibufferBadBuffer +.ZN MultibufferNumberErrors +.in -.5i +.fi +.SH BUGS +This manual page needs more work. +.SH SEE ALSO +\fIExtending X for Double Buffering, Multi-Buffering, and Stereo\fP |