github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/X11/extensions/randr.h (about)

     1  /*
     2   * Copyright © 2000 Compaq Computer Corporation
     3   * Copyright © 2002 Hewlett Packard Company
     4   * Copyright © 2006 Intel Corporation
     5   * Copyright © 2008 Red Hat, Inc.
     6   *
     7   * Permission to use, copy, modify, distribute, and sell this software and its
     8   * documentation for any purpose is hereby granted without fee, provided that
     9   * the above copyright notice appear in all copies and that both that copyright
    10   * notice and this permission notice appear in supporting documentation, and
    11   * that the name of the copyright holders not be used in advertising or
    12   * publicity pertaining to distribution of the software without specific,
    13   * written prior permission.  The copyright holders make no representations
    14   * about the suitability of this software for any purpose.  It is provided "as
    15   * is" without express or implied warranty.
    16   *
    17   * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
    18   * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
    19   * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
    20   * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
    21   * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
    22   * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
    23   * OF THIS SOFTWARE.
    24   *
    25   * Author:  Jim Gettys, HP Labs, Hewlett-Packard, Inc.
    26   *	    Keith Packard, Intel Corporation
    27   */
    28  
    29  #ifndef _RANDR_H_
    30  #define _RANDR_H_
    31  
    32  typedef unsigned short	Rotation;
    33  typedef unsigned short	SizeID;
    34  typedef unsigned short	SubpixelOrder;
    35  typedef unsigned short	Connection;
    36  typedef unsigned short	XRandrRotation;
    37  typedef unsigned short	XRandrSizeID;
    38  typedef unsigned short	XRandrSubpixelOrder;
    39  typedef unsigned long	XRandrModeFlags;
    40  
    41  #define RANDR_NAME		"RANDR"
    42  #define RANDR_MAJOR		1
    43  #define RANDR_MINOR		6
    44  
    45  #define RRNumberErrors		5
    46  #define RRNumberEvents		2
    47  #define RRNumberRequests	47
    48  
    49  #define X_RRQueryVersion	0
    50  /* we skip 1 to make old clients fail pretty immediately */
    51  #define X_RROldGetScreenInfo	1
    52  #define X_RR1_0SetScreenConfig	2
    53  /* V1.0 apps share the same set screen config request id */
    54  #define X_RRSetScreenConfig	2
    55  #define X_RROldScreenChangeSelectInput	3
    56  /* 3 used to be ScreenChangeSelectInput; deprecated */
    57  #define X_RRSelectInput		4
    58  #define X_RRGetScreenInfo	5
    59  
    60  /* V1.2 additions */
    61  #define X_RRGetScreenSizeRange	    6
    62  #define X_RRSetScreenSize	    7
    63  #define X_RRGetScreenResources	    8
    64  #define X_RRGetOutputInfo	    9
    65  #define X_RRListOutputProperties    10
    66  #define X_RRQueryOutputProperty	    11
    67  #define X_RRConfigureOutputProperty 12
    68  #define X_RRChangeOutputProperty    13
    69  #define X_RRDeleteOutputProperty    14
    70  #define X_RRGetOutputProperty	    15
    71  #define X_RRCreateMode		    16
    72  #define X_RRDestroyMode		    17
    73  #define X_RRAddOutputMode	    18
    74  #define X_RRDeleteOutputMode	    19
    75  #define X_RRGetCrtcInfo		    20
    76  #define X_RRSetCrtcConfig	    21
    77  #define X_RRGetCrtcGammaSize	    22
    78  #define X_RRGetCrtcGamma	    23
    79  #define X_RRSetCrtcGamma	    24
    80  
    81  /* V1.3 additions */
    82  #define X_RRGetScreenResourcesCurrent	25
    83  #define X_RRSetCrtcTransform	    26
    84  #define X_RRGetCrtcTransform	    27
    85  #define X_RRGetPanning		    28
    86  #define X_RRSetPanning		    29
    87  #define X_RRSetOutputPrimary	    30
    88  #define X_RRGetOutputPrimary	    31
    89  
    90  #define RRTransformUnit		    (1L << 0)
    91  #define RRTransformScaleUp	    (1L << 1)
    92  #define RRTransformScaleDown	    (1L << 2)
    93  #define RRTransformProjective	    (1L << 3)
    94  
    95  /* v1.4 */
    96  #define X_RRGetProviders	      32
    97  #define X_RRGetProviderInfo	      33
    98  #define X_RRSetProviderOffloadSink    34
    99  #define X_RRSetProviderOutputSource   35
   100  #define X_RRListProviderProperties    36
   101  #define X_RRQueryProviderProperty     37
   102  #define X_RRConfigureProviderProperty 38
   103  #define X_RRChangeProviderProperty    39
   104  #define X_RRDeleteProviderProperty    40
   105  #define X_RRGetProviderProperty	      41
   106  
   107  /* v1.5 */
   108  #define X_RRGetMonitors		      42
   109  #define X_RRSetMonitor		      43
   110  #define X_RRDeleteMonitor	      44
   111  
   112  /* v1.6 */
   113  #define X_RRCreateLease		      45
   114  #define X_RRFreeLease		      46
   115  
   116  /* Event selection bits */
   117  #define RRScreenChangeNotifyMask  (1L << 0)
   118  /* V1.2 additions */
   119  #define RRCrtcChangeNotifyMask	    (1L << 1)
   120  #define RROutputChangeNotifyMask    (1L << 2)
   121  #define RROutputPropertyNotifyMask  (1L << 3)
   122  /* V1.4 additions */
   123  #define RRProviderChangeNotifyMask   (1L << 4)
   124  #define RRProviderPropertyNotifyMask (1L << 5)
   125  #define RRResourceChangeNotifyMask   (1L << 6)
   126  /* V1.6 additions */
   127  #define RRLeaseNotifyMask            (1L << 7)
   128  
   129  /* Event codes */
   130  #define RRScreenChangeNotify	0
   131  /* V1.2 additions */
   132  #define RRNotify		    1
   133  /* RRNotify Subcodes */
   134  #define  RRNotify_CrtcChange	    0
   135  #define  RRNotify_OutputChange	    1
   136  #define  RRNotify_OutputProperty    2
   137  #define  RRNotify_ProviderChange    3
   138  #define  RRNotify_ProviderProperty  4
   139  #define  RRNotify_ResourceChange    5
   140  /* V1.6 additions */
   141  #define  RRNotify_Lease             6
   142  /* used in the rotation field; rotation and reflection in 0.1 proto. */
   143  #define RR_Rotate_0		1
   144  #define RR_Rotate_90		2
   145  #define RR_Rotate_180		4
   146  #define RR_Rotate_270		8
   147  
   148  /* new in 1.0 protocol, to allow reflection of screen */
   149  
   150  #define RR_Reflect_X		16
   151  #define RR_Reflect_Y		32
   152  
   153  #define RRSetConfigSuccess		0
   154  #define RRSetConfigInvalidConfigTime	1
   155  #define RRSetConfigInvalidTime		2
   156  #define RRSetConfigFailed		3
   157  
   158  /* new in 1.2 protocol */
   159  
   160  #define RR_HSyncPositive	0x00000001
   161  #define RR_HSyncNegative	0x00000002
   162  #define RR_VSyncPositive	0x00000004
   163  #define RR_VSyncNegative	0x00000008
   164  #define RR_Interlace		0x00000010
   165  #define RR_DoubleScan		0x00000020
   166  #define RR_CSync		0x00000040
   167  #define RR_CSyncPositive	0x00000080
   168  #define RR_CSyncNegative	0x00000100
   169  #define RR_HSkewPresent		0x00000200
   170  #define RR_BCast		0x00000400
   171  #define RR_PixelMultiplex	0x00000800
   172  #define RR_DoubleClock		0x00001000
   173  #define RR_ClockDivideBy2	0x00002000
   174  
   175  #define RR_Connected		0
   176  #define RR_Disconnected		1
   177  #define RR_UnknownConnection	2
   178  
   179  #define BadRROutput		0
   180  #define BadRRCrtc		1
   181  #define BadRRMode		2
   182  #define BadRRProvider		3
   183  #define BadRRLease		4
   184  
   185  /* Conventional RandR output properties */
   186  
   187  #define RR_PROPERTY_BACKLIGHT		"Backlight"
   188  #define RR_PROPERTY_RANDR_EDID		"EDID"
   189  #define RR_PROPERTY_SIGNAL_FORMAT	"SignalFormat"
   190  #define RR_PROPERTY_SIGNAL_PROPERTIES	"SignalProperties"
   191  #define RR_PROPERTY_CONNECTOR_TYPE	"ConnectorType"
   192  #define RR_PROPERTY_CONNECTOR_NUMBER	"ConnectorNumber"
   193  #define RR_PROPERTY_COMPATIBILITY_LIST	"CompatibilityList"
   194  #define RR_PROPERTY_CLONE_LIST		"CloneList"
   195  #define RR_PROPERTY_BORDER		"Border"
   196  #define RR_PROPERTY_BORDER_DIMENSIONS	"BorderDimensions"
   197  #define RR_PROPERTY_GUID		"GUID"
   198  #define RR_PROPERTY_RANDR_TILE		"TILE"
   199  #define RR_PROPERTY_NON_DESKTOP		"non-desktop"
   200  
   201  /* roles this device can carry out */
   202  #define RR_Capability_None 0
   203  #define RR_Capability_SourceOutput 1
   204  #define RR_Capability_SinkOutput 2
   205  #define RR_Capability_SourceOffload 4
   206  #define RR_Capability_SinkOffload 8
   207  
   208  #endif	/* _RANDR_H_ */