godot/thirdparty/linuxbsd_headers/X11/extensions/randr.h

/*
 * Copyright © 2000 Compaq Computer Corporation
 * Copyright © 2002 Hewlett Packard Company
 * Copyright © 2006 Intel Corporation
 * Copyright © 2008 Red Hat, Inc.
 *
 * Permission to use, copy, modify, distribute, and sell this software and its
 * documentation for any purpose is hereby granted without fee, provided that
 * the above copyright notice appear in all copies and that both that copyright
 * notice and this permission notice appear in supporting documentation, and
 * that the name of the copyright holders not be used in advertising or
 * publicity pertaining to distribution of the software without specific,
 * written prior permission.  The copyright holders make no representations
 * about the suitability of this software for any purpose.  It is provided "as
 * is" without express or implied warranty.
 *
 * THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
 * EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
 * OF THIS SOFTWARE.
 *
 * Author:  Jim Gettys, HP Labs, Hewlett-Packard, Inc.
 *	    Keith Packard, Intel Corporation
 */

#ifndef _RANDR_H_
#define _RANDR_H_

Rotation;
SizeID;
SubpixelOrder;
Connection;
XRandrRotation;
XRandrSizeID;
XRandrSubpixelOrder;
XRandrModeFlags;

#define RANDR_NAME
#define RANDR_MAJOR
#define RANDR_MINOR

#define RRNumberErrors
#define RRNumberEvents
#define RRNumberRequests

#define X_RRQueryVersion
/* we skip 1 to make old clients fail pretty immediately */
#define X_RROldGetScreenInfo
#define X_RR1_0SetScreenConfig
/* V1.0 apps share the same set screen config request id */
#define X_RRSetScreenConfig
#define X_RROldScreenChangeSelectInput
/* 3 used to be ScreenChangeSelectInput; deprecated */
#define X_RRSelectInput
#define X_RRGetScreenInfo

/* V1.2 additions */
#define X_RRGetScreenSizeRange
#define X_RRSetScreenSize
#define X_RRGetScreenResources
#define X_RRGetOutputInfo
#define X_RRListOutputProperties
#define X_RRQueryOutputProperty
#define X_RRConfigureOutputProperty
#define X_RRChangeOutputProperty
#define X_RRDeleteOutputProperty
#define X_RRGetOutputProperty
#define X_RRCreateMode
#define X_RRDestroyMode
#define X_RRAddOutputMode
#define X_RRDeleteOutputMode
#define X_RRGetCrtcInfo
#define X_RRSetCrtcConfig
#define X_RRGetCrtcGammaSize
#define X_RRGetCrtcGamma
#define X_RRSetCrtcGamma

/* V1.3 additions */
#define X_RRGetScreenResourcesCurrent
#define X_RRSetCrtcTransform
#define X_RRGetCrtcTransform
#define X_RRGetPanning
#define X_RRSetPanning
#define X_RRSetOutputPrimary
#define X_RRGetOutputPrimary

#define RRTransformUnit
#define RRTransformScaleUp
#define RRTransformScaleDown
#define RRTransformProjective

/* v1.4 */
#define X_RRGetProviders
#define X_RRGetProviderInfo
#define X_RRSetProviderOffloadSink
#define X_RRSetProviderOutputSource
#define X_RRListProviderProperties
#define X_RRQueryProviderProperty
#define X_RRConfigureProviderProperty
#define X_RRChangeProviderProperty
#define X_RRDeleteProviderProperty
#define X_RRGetProviderProperty

/* v1.5 */
#define X_RRGetMonitors
#define X_RRSetMonitor
#define X_RRDeleteMonitor

/* v1.6 */
#define X_RRCreateLease
#define X_RRFreeLease

/* Event selection bits */
#define RRScreenChangeNotifyMask
/* V1.2 additions */
#define RRCrtcChangeNotifyMask
#define RROutputChangeNotifyMask
#define RROutputPropertyNotifyMask
/* V1.4 additions */
#define RRProviderChangeNotifyMask
#define RRProviderPropertyNotifyMask
#define RRResourceChangeNotifyMask
/* V1.6 additions */
#define RRLeaseNotifyMask

/* Event codes */
#define RRScreenChangeNotify
/* V1.2 additions */
#define RRNotify
/* RRNotify Subcodes */
#define RRNotify_CrtcChange
#define RRNotify_OutputChange
#define RRNotify_OutputProperty
#define RRNotify_ProviderChange
#define RRNotify_ProviderProperty
#define RRNotify_ResourceChange
/* V1.6 additions */
#define RRNotify_Lease
/* used in the rotation field; rotation and reflection in 0.1 proto. */
#define RR_Rotate_0
#define RR_Rotate_90
#define RR_Rotate_180
#define RR_Rotate_270

/* new in 1.0 protocol, to allow reflection of screen */

#define RR_Reflect_X
#define RR_Reflect_Y

#define RRSetConfigSuccess
#define RRSetConfigInvalidConfigTime
#define RRSetConfigInvalidTime
#define RRSetConfigFailed

/* new in 1.2 protocol */

#define RR_HSyncPositive
#define RR_HSyncNegative
#define RR_VSyncPositive
#define RR_VSyncNegative
#define RR_Interlace
#define RR_DoubleScan
#define RR_CSync
#define RR_CSyncPositive
#define RR_CSyncNegative
#define RR_HSkewPresent
#define RR_BCast
#define RR_PixelMultiplex
#define RR_DoubleClock
#define RR_ClockDivideBy2

#define RR_Connected
#define RR_Disconnected
#define RR_UnknownConnection

#define BadRROutput
#define BadRRCrtc
#define BadRRMode
#define BadRRProvider
#define BadRRLease

/* Conventional RandR output properties */

#define RR_PROPERTY_BACKLIGHT
#define RR_PROPERTY_RANDR_EDID
#define RR_PROPERTY_SIGNAL_FORMAT
#define RR_PROPERTY_SIGNAL_PROPERTIES
#define RR_PROPERTY_CONNECTOR_TYPE
#define RR_PROPERTY_CONNECTOR_NUMBER
#define RR_PROPERTY_COMPATIBILITY_LIST
#define RR_PROPERTY_CLONE_LIST
#define RR_PROPERTY_BORDER
#define RR_PROPERTY_BORDER_DIMENSIONS
#define RR_PROPERTY_GUID
#define RR_PROPERTY_RANDR_TILE
#define RR_PROPERTY_NON_DESKTOP

/* roles this device can carry out */
#define RR_Capability_None
#define RR_Capability_SourceOutput
#define RR_Capability_SinkOutput
#define RR_Capability_SourceOffload
#define RR_Capability_SinkOffload

#endif	/* _RANDR_H_ */