Xdbe.h
上传用户:lctgjx
上传日期:2022-06-04
资源大小:8887k
文件大小:4k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /* $Xorg: Xdbe.h,v 1.3 2000/08/18 04:05:45 coskrey Exp $ */
  2. /******************************************************************************
  3.  * 
  4.  * Copyright (c) 1994, 1995  Hewlett-Packard Company
  5.  *
  6.  * Permission is hereby granted, free of charge, to any person obtaining
  7.  * a copy of this software and associated documentation files (the
  8.  * "Software"), to deal in the Software without restriction, including
  9.  * without limitation the rights to use, copy, modify, merge, publish,
  10.  * distribute, sublicense, and/or sell copies of the Software, and to
  11.  * permit persons to whom the Software is furnished to do so, subject to
  12.  * the following conditions:
  13.  * 
  14.  * The above copyright notice and this permission notice shall be included
  15.  * in all copies or substantial portions of the Software.
  16.  * 
  17.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  18.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  19.  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
  20.  * IN NO EVENT SHALL HEWLETT-PACKARD COMPANY BE LIABLE FOR ANY CLAIM,
  21.  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
  22.  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
  23.  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  24.  * 
  25.  * Except as contained in this notice, the name of the Hewlett-Packard
  26.  * Company shall not be used in advertising or otherwise to promote the
  27.  * sale, use or other dealings in this Software without prior written
  28.  * authorization from the Hewlett-Packard Company.
  29.  * 
  30.  *     Header file for Xlib-related DBE
  31.  *
  32.  *****************************************************************************/
  33. /* $XFree86: xc/include/extensions/Xdbe.h,v 3.2 2001/08/01 00:44:35 tsi Exp $ */
  34. #ifndef XDBE_H
  35. #define XDBE_H
  36. /* INCLUDES */
  37. #include <X11/Xfuncproto.h>
  38. #include <X11/extensions/Xdbeproto.h>
  39. /* DEFINES */
  40. /* Errors */
  41. #define XdbeBadBuffer    0
  42. /* TYPEDEFS */
  43. typedef Drawable XdbeBackBuffer;
  44. typedef unsigned char XdbeSwapAction;
  45. typedef struct
  46. {
  47.     Window swap_window;    /* window for which to swap buffers   */
  48.     XdbeSwapAction swap_action;    /* swap action to use for swap_window */
  49. }
  50. XdbeSwapInfo;
  51. typedef struct
  52. {
  53.     Window window; /* window that buffer belongs to */
  54. }
  55. XdbeBackBufferAttributes;
  56. typedef struct
  57. {
  58.     int type;
  59.     Display *display; /* display the event was read from */
  60.     XdbeBackBuffer buffer; /* resource id                     */
  61.     unsigned long serial; /* serial number of failed request */
  62.     unsigned char error_code; /* error base + XdbeBadBuffer      */
  63.     unsigned char request_code; /* major opcode of failed request  */
  64.     unsigned char minor_code; /* minor opcode of failed request  */
  65. }
  66. XdbeBufferError;
  67. /* _XFUNCPROTOBEGIN and _XFUNCPROTOEND are defined as noops
  68.  * (for non-C++ builds) in X11/Xfuncproto.h.
  69.  */
  70. _XFUNCPROTOBEGIN
  71. extern Status XdbeQueryExtension(
  72.     Display* /* dpy                  */,
  73.     int* /* major_version_return */,
  74.     int* /* minor_version_return */
  75. );
  76. extern XdbeBackBuffer XdbeAllocateBackBufferName(
  77.     Display* /* dpy         */,
  78.     Window /* window      */,
  79.     XdbeSwapAction /* swap_action */
  80. );
  81. extern Status XdbeDeallocateBackBufferName(
  82.     Display* /* dpy    */,
  83.     XdbeBackBuffer /* buffer */
  84. );
  85. extern Status XdbeSwapBuffers(
  86.     Display* /* dpy         */,
  87.     XdbeSwapInfo* /* swap_info   */,
  88.     int /* num_windows */
  89. );
  90. extern Status XdbeBeginIdiom(
  91.     Display* /* dpy */
  92. );
  93. extern Status XdbeEndIdiom(
  94.     Display* /* dpy */
  95. );
  96. extern XdbeScreenVisualInfo *XdbeGetVisualInfo(
  97.     Display* /* dpy               */,
  98.     Drawable* /* screen_specifiers */,
  99.     int* /* num_screens       */
  100. );
  101. extern void XdbeFreeVisualInfo(
  102.     XdbeScreenVisualInfo* /* visual_info */
  103. );
  104. extern XdbeBackBufferAttributes *XdbeGetBackBufferAttributes(
  105.     Display* /* dpy    */,
  106.     XdbeBackBuffer /* buffer */
  107. );
  108. _XFUNCPROTOEND
  109. #endif /* XDBE_H */