1 module x11.extensions.randr; 2 3 version(Posix): 4 5 /* 6 * Copyright © 2000 Compaq Computer Corporation 7 * Copyright © 2002 Hewlett Packard Company 8 * Copyright © 2006 Intel Corporation 9 * Copyright © 2008 Red Hat, Inc. 10 * 11 * Permission to use, copy, modify, distribute, and sell this software and its 12 * documentation for any purpose is hereby granted without fee, provided that 13 * the above copyright notice appear in all copies and that both that copyright 14 * notice and this permission notice appear in supporting documentation, and 15 * that the name of the copyright holders not be used in advertising or 16 * publicity pertaining to distribution of the software without specific, 17 * written prior permission. The copyright holders make no representations 18 * about the suitability of this software for any purpose. It is provided "as 19 * is" without express or implied warranty. 20 * 21 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 22 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO 23 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR 24 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 25 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 26 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 27 * OF THIS SOFTWARE. 28 * 29 * Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc. 30 * Keith Packard, Intel Corporation 31 */ 32 33 alias ushort Rotation; 34 alias ushort SizeID; 35 alias ushort SubpixelOrder; 36 alias ushort Connection; 37 alias ushort XRandrRotation; 38 alias ushort XRandrSizeID; 39 alias ushort XRandrSubpixelOrder; 40 alias ulong XRandrModeFlags; 41 42 enum RANDR_NAME = "RANDR"; 43 enum RANDR_MAJOR = 1; 44 enum RANDR_MINOR = 4; 45 46 enum RRNumberErrors = 4; 47 enum RRNumberEvents = 2; 48 enum RRNumberRequests = 42; 49 50 enum X_RRQueryVersion = 0; 51 52 enum X_RROldGetScreenInfo = 1; 53 enum X_RR1_0SetScreenConfig = 2; 54 enum X_RRSetScreenConfig = 2; 55 enum X_RROldScreenChangeSelectInput = 3; 56 enum X_RRSelectInput = 4; 57 enum X_RRGetScreenInfo = 5; 58 enum X_RRGetScreenSizeRange = 6; 59 enum X_RRSetScreenSize = 7; 60 enum X_RRGetScreenResources = 8; 61 enum X_RRGetOutputInfo = 9; 62 enum X_RRListOutputProperties = 10; 63 enum X_RRQueryOutputProperty = 11; 64 enum X_RRConfigureOutputProperty = 12; 65 enum X_RRChangeOutputProperty = 13; 66 enum X_RRDeleteOutputProperty = 14; 67 enum X_RRGetOutputProperty = 15; 68 enum X_RRCreateMode = 16; 69 enum X_RRDestroyMode = 17; 70 enum X_RRAddOutputMode = 18; 71 enum X_RRDeleteOutputMode = 19; 72 enum X_RRGetCrtcInfo = 20; 73 enum X_RRSetCrtcConfig = 21; 74 enum X_RRGetCrtcGammaSize = 22; 75 enum X_RRGetCrtcGamma = 23; 76 enum X_RRSetCrtcGamma = 24; 77 enum X_RRGetScreenResourcesCurrent = 25; 78 enum X_RRSetCrtcTransform = 26; 79 enum X_RRGetCrtcTransform = 27; 80 enum X_RRGetPanning = 28; 81 enum X_RRSetPanning = 29; 82 enum X_RRSetOutputPrimary = 30; 83 enum X_RRGetOutputPrimary = 31; 84 enum X_RRGetProviders = 32; 85 enum X_RRGetProviderInfo = 33; 86 enum X_RRSetProviderOffloadSink = 34; 87 enum X_RRSetProviderOutputSource = 35; 88 enum X_RRListProviderProperties = 36; 89 enum X_RRQueryProviderProperty = 37; 90 enum X_RRConfigureProviderProperty = 38; 91 enum X_RRChangeProviderProperty = 39; 92 enum X_RRDeleteProviderProperty = 40; 93 enum X_RRGetProviderProperty = 41; 94 95 enum RRTransformUnit = (1L << 0); 96 enum RRTransformScaleUp = (1L << 1); 97 enum RRTransformScaleDown = (1L << 2); 98 enum RRTransformProjective = (1L << 3); 99 100 enum RRScreenChangeNotifyMask = (1L << 0); 101 enum RRCrtcChangeNotifyMask = (1L << 1); 102 enum RROutputChangeNotifyMask = (1L << 2); 103 enum RROutputPropertyNotifyMask = (1L << 3); 104 enum RRProviderChangeNotifyMask = (1L << 4); 105 enum RRProviderPropertyNotifyMask = (1L << 5); 106 enum RRResourceChangeNotifyMask = (1L << 6); 107 108 enum RRScreenChangeNotify = 0; 109 enum RRNotify = 1; 110 111 enum RRNotify_CrtcChange = 0; 112 enum RRNotify_OutputChange = 1; 113 enum RRNotify_OutputProperty = 2; 114 enum RRNotify_ProviderChange = 3; 115 enum RRNotify_ProviderProperty = 4; 116 enum RRNotify_ResourceChange = 5; 117 118 enum RR_Rotate_0 = 1; 119 enum RR_Rotate_90 = 2; 120 enum RR_Rotate_180 = 4; 121 enum RR_Rotate_270 = 8; 122 123 enum RR_Reflect_X = 16; 124 enum RR_Reflect_Y = 32; 125 126 enum RRSetConfigSuccess = 0; 127 enum RRSetConfigInvalidConfigTime = 1; 128 enum RRSetConfigInvalidTime = 2; 129 enum RRSetConfigFailed = 3; 130 131 enum RR_HSyncPositive = 0x00000001; 132 enum RR_HSyncNegative = 0x00000002; 133 enum RR_VSyncPositive = 0x00000004; 134 enum RR_VSyncNegative = 0x00000008; 135 enum RR_Interlace = 0x00000010; 136 enum RR_DoubleScan = 0x00000020; 137 enum RR_CSync = 0x00000040; 138 enum RR_CSyncPositive = 0x00000080; 139 enum RR_CSyncNegative = 0x00000100; 140 enum RR_HSkewPresent = 0x00000200; 141 enum RR_BCast = 0x00000400; 142 enum RR_PixelMultiplex = 0x00000800; 143 enum RR_DoubleClock = 0x00001000; 144 enum RR_ClockDivideBy2 = 0x00002000; 145 146 enum RR_Connected = 0; 147 enum RR_Disconnected = 1; 148 enum RR_UnknownConnection = 2; 149 150 enum BadRROutput = 0; 151 enum BadRRCrtc = 1; 152 enum BadRRMode = 2; 153 enum BadRRProvider = 3; 154 155 enum RR_PROPERTY_BACKLIGHT = "Backlight"; 156 enum RR_PROPERTY_RANDR_EDID = "EDID"; 157 enum RR_PROPERTY_SIGNAL_FORMAT = "SignalFormat"; 158 enum RR_PROPERTY_SIGNAL_PROPERTIES = "SignalProperties"; 159 enum RR_PROPERTY_CONNECTOR_TYPE = "ConnectorType"; 160 enum RR_PROPERTY_CONNECTOR_NUMBER = "ConnectorNumber"; 161 enum RR_PROPERTY_COMPATIBILITY_LIST = "CompatibilityList"; 162 enum RR_PROPERTY_CLONE_LIST = "CloneList"; 163 enum RR_PROPERTY_BORDER = "Border"; 164 enum RR_PROPERTY_BORDER_DIMENSIONS = "BorderDimensions"; 165 166 enum RR_Capability_None = 0; 167 enum RR_Capability_SourceOutput = 1; 168 enum RR_Capability_SinkOutput = 2; 169 enum RR_Capability_SourceOffload = 4; 170 enum RR_Capability_SinkOffload = 8;