Path: blob/master/thirdparty/linuxbsd_headers/X11/extensions/randr.h
9905 views
/*1* Copyright © 2000 Compaq Computer Corporation2* Copyright © 2002 Hewlett Packard Company3* Copyright © 2006 Intel Corporation4* Copyright © 2008 Red Hat, Inc.5*6* Permission to use, copy, modify, distribute, and sell this software and its7* documentation for any purpose is hereby granted without fee, provided that8* the above copyright notice appear in all copies and that both that copyright9* notice and this permission notice appear in supporting documentation, and10* that the name of the copyright holders not be used in advertising or11* publicity pertaining to distribution of the software without specific,12* written prior permission. The copyright holders make no representations13* about the suitability of this software for any purpose. It is provided "as14* 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 NO18* EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR19* CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,20* DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER21* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE22* OF THIS SOFTWARE.23*24* Author: Jim Gettys, HP Labs, Hewlett-Packard, Inc.25* Keith Packard, Intel Corporation26*/2728#ifndef _RANDR_H_29#define _RANDR_H_3031typedef unsigned short Rotation;32typedef unsigned short SizeID;33typedef unsigned short SubpixelOrder;34typedef unsigned short Connection;35typedef unsigned short XRandrRotation;36typedef unsigned short XRandrSizeID;37typedef unsigned short XRandrSubpixelOrder;38typedef unsigned long XRandrModeFlags;3940#define RANDR_NAME "RANDR"41#define RANDR_MAJOR 142#define RANDR_MINOR 64344#define RRNumberErrors 545#define RRNumberEvents 246#define RRNumberRequests 474748#define X_RRQueryVersion 049/* we skip 1 to make old clients fail pretty immediately */50#define X_RROldGetScreenInfo 151#define X_RR1_0SetScreenConfig 252/* V1.0 apps share the same set screen config request id */53#define X_RRSetScreenConfig 254#define X_RROldScreenChangeSelectInput 355/* 3 used to be ScreenChangeSelectInput; deprecated */56#define X_RRSelectInput 457#define X_RRGetScreenInfo 55859/* V1.2 additions */60#define X_RRGetScreenSizeRange 661#define X_RRSetScreenSize 762#define X_RRGetScreenResources 863#define X_RRGetOutputInfo 964#define X_RRListOutputProperties 1065#define X_RRQueryOutputProperty 1166#define X_RRConfigureOutputProperty 1267#define X_RRChangeOutputProperty 1368#define X_RRDeleteOutputProperty 1469#define X_RRGetOutputProperty 1570#define X_RRCreateMode 1671#define X_RRDestroyMode 1772#define X_RRAddOutputMode 1873#define X_RRDeleteOutputMode 1974#define X_RRGetCrtcInfo 2075#define X_RRSetCrtcConfig 2176#define X_RRGetCrtcGammaSize 2277#define X_RRGetCrtcGamma 2378#define X_RRSetCrtcGamma 247980/* V1.3 additions */81#define X_RRGetScreenResourcesCurrent 2582#define X_RRSetCrtcTransform 2683#define X_RRGetCrtcTransform 2784#define X_RRGetPanning 2885#define X_RRSetPanning 2986#define X_RRSetOutputPrimary 3087#define X_RRGetOutputPrimary 318889#define RRTransformUnit (1L << 0)90#define RRTransformScaleUp (1L << 1)91#define RRTransformScaleDown (1L << 2)92#define RRTransformProjective (1L << 3)9394/* v1.4 */95#define X_RRGetProviders 3296#define X_RRGetProviderInfo 3397#define X_RRSetProviderOffloadSink 3498#define X_RRSetProviderOutputSource 3599#define X_RRListProviderProperties 36100#define X_RRQueryProviderProperty 37101#define X_RRConfigureProviderProperty 38102#define X_RRChangeProviderProperty 39103#define X_RRDeleteProviderProperty 40104#define X_RRGetProviderProperty 41105106/* v1.5 */107#define X_RRGetMonitors 42108#define X_RRSetMonitor 43109#define X_RRDeleteMonitor 44110111/* v1.6 */112#define X_RRCreateLease 45113#define X_RRFreeLease 46114115/* Event selection bits */116#define RRScreenChangeNotifyMask (1L << 0)117/* V1.2 additions */118#define RRCrtcChangeNotifyMask (1L << 1)119#define RROutputChangeNotifyMask (1L << 2)120#define RROutputPropertyNotifyMask (1L << 3)121/* V1.4 additions */122#define RRProviderChangeNotifyMask (1L << 4)123#define RRProviderPropertyNotifyMask (1L << 5)124#define RRResourceChangeNotifyMask (1L << 6)125/* V1.6 additions */126#define RRLeaseNotifyMask (1L << 7)127128/* Event codes */129#define RRScreenChangeNotify 0130/* V1.2 additions */131#define RRNotify 1132/* RRNotify Subcodes */133#define RRNotify_CrtcChange 0134#define RRNotify_OutputChange 1135#define RRNotify_OutputProperty 2136#define RRNotify_ProviderChange 3137#define RRNotify_ProviderProperty 4138#define RRNotify_ResourceChange 5139/* V1.6 additions */140#define RRNotify_Lease 6141/* used in the rotation field; rotation and reflection in 0.1 proto. */142#define RR_Rotate_0 1143#define RR_Rotate_90 2144#define RR_Rotate_180 4145#define RR_Rotate_270 8146147/* new in 1.0 protocol, to allow reflection of screen */148149#define RR_Reflect_X 16150#define RR_Reflect_Y 32151152#define RRSetConfigSuccess 0153#define RRSetConfigInvalidConfigTime 1154#define RRSetConfigInvalidTime 2155#define RRSetConfigFailed 3156157/* new in 1.2 protocol */158159#define RR_HSyncPositive 0x00000001160#define RR_HSyncNegative 0x00000002161#define RR_VSyncPositive 0x00000004162#define RR_VSyncNegative 0x00000008163#define RR_Interlace 0x00000010164#define RR_DoubleScan 0x00000020165#define RR_CSync 0x00000040166#define RR_CSyncPositive 0x00000080167#define RR_CSyncNegative 0x00000100168#define RR_HSkewPresent 0x00000200169#define RR_BCast 0x00000400170#define RR_PixelMultiplex 0x00000800171#define RR_DoubleClock 0x00001000172#define RR_ClockDivideBy2 0x00002000173174#define RR_Connected 0175#define RR_Disconnected 1176#define RR_UnknownConnection 2177178#define BadRROutput 0179#define BadRRCrtc 1180#define BadRRMode 2181#define BadRRProvider 3182#define BadRRLease 4183184/* Conventional RandR output properties */185186#define RR_PROPERTY_BACKLIGHT "Backlight"187#define RR_PROPERTY_RANDR_EDID "EDID"188#define RR_PROPERTY_SIGNAL_FORMAT "SignalFormat"189#define RR_PROPERTY_SIGNAL_PROPERTIES "SignalProperties"190#define RR_PROPERTY_CONNECTOR_TYPE "ConnectorType"191#define RR_PROPERTY_CONNECTOR_NUMBER "ConnectorNumber"192#define RR_PROPERTY_COMPATIBILITY_LIST "CompatibilityList"193#define RR_PROPERTY_CLONE_LIST "CloneList"194#define RR_PROPERTY_BORDER "Border"195#define RR_PROPERTY_BORDER_DIMENSIONS "BorderDimensions"196#define RR_PROPERTY_GUID "GUID"197#define RR_PROPERTY_RANDR_TILE "TILE"198#define RR_PROPERTY_NON_DESKTOP "non-desktop"199200/* roles this device can carry out */201#define RR_Capability_None 0202#define RR_Capability_SourceOutput 1203#define RR_Capability_SinkOutput 2204#define RR_Capability_SourceOffload 4205#define RR_Capability_SinkOffload 8206207#endif /* _RANDR_H_ */208209210