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

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.  * Copyright © 2000 Compaq Computer Corporation
  3.  * Copyright © 2002 Hewlett Packard Company
  4.  * Copyright © 2006 Intel Corporation
  5.  *
  6.  * Permission to use, copy, modify, distribute, and sell this software and its
  7.  * documentation for any purpose is hereby granted without fee, provided that
  8.  * the above copyright notice appear in all copies and that both that copyright
  9.  * notice and this permission notice appear in supporting documentation, and
  10.  * that the name of the copyright holders not be used in advertising or
  11.  * publicity pertaining to distribution of the software without specific,
  12.  * written prior permission.  The copyright holders make no representations
  13.  * about the suitability of this software for any purpose.  It is provided "as
  14.  * is" without express or implied warranty.
  15.  *
  16.  * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
  17.  * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
  18.  * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
  19.  * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
  20.  * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
  21.  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
  22.  * OF THIS SOFTWARE.
  23.  *
  24.  * Author:  Jim Gettys, HP Labs, Hewlett-Packard, Inc.
  25.  *     Keith Packard, Intel Corporation
  26.  */
  27. #ifndef _RANDR_H_
  28. #define _RANDR_H_
  29. typedef unsigned short Rotation;
  30. typedef unsigned short SizeID;
  31. typedef unsigned short SubpixelOrder;
  32. typedef unsigned short Connection;
  33. typedef unsigned short XRandrRotation;
  34. typedef unsigned short XRandrSizeID;
  35. typedef unsigned short XRandrSubpixelOrder;
  36. typedef unsigned long XRandrModeFlags;
  37. #define RANDR_NAME "RANDR"
  38. #define RANDR_MAJOR 1
  39. #define RANDR_MINOR 2
  40. #define RRNumberErrors 3
  41. #define RRNumberEvents 2
  42. #define RRNumberRequests 25
  43. #define X_RRQueryVersion 0
  44. /* we skip 1 to make old clients fail pretty immediately */
  45. #define X_RROldGetScreenInfo 1
  46. #define X_RR1_0SetScreenConfig 2
  47. /* V1.0 apps share the same set screen config request id */
  48. #define X_RRSetScreenConfig 2
  49. #define X_RROldScreenChangeSelectInput 3
  50. /* 3 used to be ScreenChangeSelectInput; deprecated */
  51. #define X_RRSelectInput 4
  52. #define X_RRGetScreenInfo 5
  53. /* V1.2 additions */
  54. #define X_RRGetScreenSizeRange     6
  55. #define X_RRSetScreenSize     7
  56. #define X_RRGetScreenResources     8
  57. #define X_RRGetOutputInfo     9
  58. #define X_RRListOutputProperties    10
  59. #define X_RRQueryOutputProperty     11
  60. #define X_RRConfigureOutputProperty 12
  61. #define X_RRChangeOutputProperty    13
  62. #define X_RRDeleteOutputProperty    14
  63. #define X_RRGetOutputProperty     15
  64. #define X_RRCreateMode     16
  65. #define X_RRDestroyMode     17
  66. #define X_RRAddOutputMode     18
  67. #define X_RRDeleteOutputMode     19
  68. #define X_RRGetCrtcInfo     20
  69. #define X_RRSetCrtcConfig     21
  70. #define X_RRGetCrtcGammaSize     22
  71. #define X_RRGetCrtcGamma     23
  72. #define X_RRSetCrtcGamma     24
  73. /* Event selection bits */
  74. #define RRScreenChangeNotifyMask  (1L << 0)
  75. /* V1.2 additions */
  76. #define RRCrtcChangeNotifyMask     (1L << 1)
  77. #define RROutputChangeNotifyMask    (1L << 2)
  78. #define RROutputPropertyNotifyMask  (1L << 3)
  79. /* Event codes */
  80. #define RRScreenChangeNotify 0
  81. /* V1.2 additions */
  82. #define RRNotify     1
  83. /* RRNotify Subcodes */
  84. #define  RRNotify_CrtcChange     0
  85. #define  RRNotify_OutputChange     1
  86. #define  RRNotify_OutputProperty    2
  87. /* used in the rotation field; rotation and reflection in 0.1 proto. */
  88. #define RR_Rotate_0 1
  89. #define RR_Rotate_90 2
  90. #define RR_Rotate_180 4
  91. #define RR_Rotate_270 8
  92. /* new in 1.0 protocol, to allow reflection of screen */
  93. #define RR_Reflect_X 16
  94. #define RR_Reflect_Y 32
  95. #define RRSetConfigSuccess 0
  96. #define RRSetConfigInvalidConfigTime 1
  97. #define RRSetConfigInvalidTime 2
  98. #define RRSetConfigFailed 3
  99. /* new in 1.2 protocol */
  100. #define RR_HSyncPositive 0x00000001
  101. #define RR_HSyncNegative 0x00000002
  102. #define RR_VSyncPositive 0x00000004
  103. #define RR_VSyncNegative 0x00000008
  104. #define RR_Interlace 0x00000010
  105. #define RR_DoubleScan 0x00000020
  106. #define RR_CSync 0x00000040
  107. #define RR_CSyncPositive 0x00000080
  108. #define RR_CSyncNegative 0x00000100
  109. #define RR_HSkewPresent 0x00000200
  110. #define RR_BCast 0x00000400
  111. #define RR_PixelMultiplex 0x00000800
  112. #define RR_DoubleClock 0x00001000
  113. #define RR_ClockDivideBy2 0x00002000
  114. #define RR_Connected 0
  115. #define RR_Disconnected 1
  116. #define RR_UnknownConnection 2
  117. #define BadRROutput 0
  118. #define BadRRCrtc 1
  119. #define BadRRMode 2
  120. /* Conventional RandR output properties */
  121. #define RR_PROPERTY_RANDR_EDID "RANDR_EDID"
  122. #endif /* _RANDR_H_ */