mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
803 lines
20 KiB
C
803 lines
20 KiB
C
/*
|
|
* Copyright (c) 2008 NVIDIA, Corporation
|
|
*
|
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
* of this software and associated documentation files (the "Software"), to deal
|
|
* in the Software without restriction, including without limitation the rights
|
|
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
* copies of the Software, and to permit persons to whom the Software is
|
|
* furnished to do so, subject to the following conditions:
|
|
*
|
|
* The above copyright notice and this permission notice (including the next
|
|
* paragraph) shall be included in all copies or substantial portions of the
|
|
* Software.
|
|
*
|
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
* SOFTWARE.
|
|
*/
|
|
|
|
#ifndef __NVCTRLLIB_H
|
|
#define __NVCTRLLIB_H
|
|
|
|
#include "NVCtrl.h"
|
|
|
|
#if defined __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/*
|
|
* XNVCTRLQueryExtension -
|
|
*
|
|
* Returns True if the extension exists, returns False otherwise.
|
|
* event_basep and error_basep are the extension event and error
|
|
* bases. Currently, no extension specific errors or events are
|
|
* defined.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryExtension (
|
|
Display *dpy,
|
|
int *event_basep,
|
|
int *error_basep
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryVersion -
|
|
*
|
|
* Returns True if the extension exists, returns False otherwise.
|
|
* major and minor are the extension's major and minor version
|
|
* numbers.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryVersion (
|
|
Display *dpy,
|
|
int *major,
|
|
int *minor
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLIsNvScreen
|
|
*
|
|
* Returns True is the specified screen is controlled by the NVIDIA
|
|
* driver. Returns False otherwise.
|
|
*/
|
|
|
|
Bool XNVCTRLIsNvScreen (
|
|
Display *dpy,
|
|
int screen
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryTargetCount -
|
|
*
|
|
* Returns True if the target type exists. Returns False otherwise.
|
|
* If XNVCTRLQueryTargetCount returns True, value will contain the
|
|
* count of existing targets on the server of the specified target
|
|
* type.
|
|
*
|
|
* Please see "Attribute Targets" in NVCtrl.h for the list of valid
|
|
* target types.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The target doesn't exist.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryTargetCount (
|
|
Display *dpy,
|
|
int target_type,
|
|
int *value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLSetAttribute -
|
|
*
|
|
* Sets the attribute to the given value. The attributes and their
|
|
* possible values are listed in NVCtrl.h.
|
|
*
|
|
* Not all attributes require the display_mask parameter; see
|
|
* NVCtrl.h for details.
|
|
*
|
|
* Calling this function is equivalent to calling XNVCTRLSetTargetAttribute()
|
|
* with the target_type set to NV_CTRL_TARGET_TYPE_X_SCREEN and
|
|
* target_id set to 'screen'.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The screen or attribute doesn't exist.
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
*/
|
|
|
|
void XNVCTRLSetAttribute (
|
|
Display *dpy,
|
|
int screen,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
int value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLSetTargetAttribute -
|
|
*
|
|
* Sets the attribute to the given value. The attributes and their
|
|
* possible values are listed in NVCtrl.h.
|
|
*
|
|
* Not all attributes require the display_mask parameter; see
|
|
* NVCtrl.h for details.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The target or attribute doesn't exist.
|
|
* BadMatch - The NVIDIA driver is not present on that target.
|
|
*/
|
|
|
|
void XNVCTRLSetTargetAttribute (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
int value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLSetAttributeAndGetStatus -
|
|
*
|
|
* Same as XNVCTRLSetAttribute().
|
|
* In addition, XNVCTRLSetAttributeAndGetStatus() returns
|
|
* True if the operation succeeds, False otherwise.
|
|
*
|
|
*/
|
|
|
|
Bool XNVCTRLSetAttributeAndGetStatus (
|
|
Display *dpy,
|
|
int screen,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
int value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLSetTargetAttributeAndGetStatus -
|
|
*
|
|
* Same as XNVCTRLSetTargetAttribute().
|
|
* In addition, XNVCTRLSetTargetAttributeAndGetStatus() returns
|
|
* True if the operation succeeds, False otherwise.
|
|
*
|
|
*/
|
|
|
|
Bool XNVCTRLSetTargetAttributeAndGetStatus (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
int value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryAttribute -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise.
|
|
* If XNVCTRLQueryAttribute returns True, value will contain the
|
|
* value of the specified attribute.
|
|
*
|
|
* Not all attributes require the display_mask parameter; see
|
|
* NVCtrl.h for details.
|
|
*
|
|
* Calling this function is equivalent to calling
|
|
* XNVCTRLQueryTargetAttribute() with the target_type set to
|
|
* NV_CTRL_TARGET_TYPE_X_SCREEN and target_id set to 'screen'.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The screen doesn't exist.
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryAttribute (
|
|
Display *dpy,
|
|
int screen,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
int *value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryTargetAttribute -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise.
|
|
* If XNVCTRLQueryTargetAttribute returns True, value will contain the
|
|
* value of the specified attribute.
|
|
*
|
|
* Not all attributes require the display_mask parameter; see
|
|
* NVCtrl.h for details.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The target doesn't exist.
|
|
* BadMatch - The NVIDIA driver does not control the target.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryTargetAttribute (
|
|
Display *dpy,
|
|
int target_Type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
int *value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryTargetAttribute64 -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise.
|
|
* If XNVCTRLQueryTargetAttribute returns True, value will contain the
|
|
* value of the specified attribute.
|
|
*
|
|
* Not all attributes require the display_mask parameter; see
|
|
* NVCtrl.h for details.
|
|
*
|
|
* Note: this function behaves like XNVCTRLQueryTargetAttribute(),
|
|
* but supports 64-bit integer attributes.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The target doesn't exist.
|
|
* BadMatch - The NVIDIA driver does not control the target.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryTargetAttribute64 (
|
|
Display *dpy,
|
|
int target_Type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
int64_t *value
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryStringAttribute -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise.
|
|
* If XNVCTRLQueryStringAttribute returns True, *ptr will point to an
|
|
* allocated string containing the string attribute requested. It is
|
|
* the caller's responsibility to free the string when done.
|
|
*
|
|
* Calling this function is equivalent to calling
|
|
* XNVCTRLQueryTargetStringAttribute() with the target_type set to
|
|
* NV_CTRL_TARGET_TYPE_X_SCREEN and target_id set to 'screen'.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The screen doesn't exist.
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
* BadAlloc - Insufficient resources to fulfill the request.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryStringAttribute (
|
|
Display *dpy,
|
|
int screen,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
char **ptr
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryTargetStringAttribute -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise.
|
|
* If XNVCTRLQueryTargetStringAttribute returns True, *ptr will point
|
|
* to an allocated string containing the string attribute requested.
|
|
* It is the caller's responsibility to free the string when done.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The target doesn't exist.
|
|
* BadMatch - The NVIDIA driver does not control the target.
|
|
* BadAlloc - Insufficient resources to fulfill the request.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryTargetStringAttribute (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
char **ptr
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLSetStringAttribute -
|
|
*
|
|
* Returns True if the operation succeded. Returns False otherwise.
|
|
*
|
|
* Possible X errors:
|
|
* BadValue - The screen doesn't exist.
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
* BadAlloc - Insufficient resources to fulfill the request.
|
|
*/
|
|
|
|
Bool XNVCTRLSetStringAttribute (
|
|
Display *dpy,
|
|
int screen,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
char *ptr
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLSetTargetStringAttribute -
|
|
*
|
|
* Returns True if the operation succeded. Returns False otherwise.
|
|
*
|
|
* Possible X errors:
|
|
* BadValue - The screen doesn't exist.
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
* BadAlloc - Insufficient resources to fulfill the request.
|
|
*/
|
|
|
|
Bool XNVCTRLSetTargetStringAttribute (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
char *ptr
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryValidAttributeValues -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise. If
|
|
* XNVCTRLQueryValidAttributeValues returns True, values will indicate
|
|
* the valid values for the specified attribute; see the description
|
|
* of NVCTRLAttributeValidValues in NVCtrl.h.
|
|
*
|
|
* Calling this function is equivalent to calling
|
|
* XNVCTRLQueryValidTargetAttributeValues() with the target_type set to
|
|
* NV_CTRL_TARGET_TYPE_X_SCREEN and target_id set to 'screen'.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryValidAttributeValues (
|
|
Display *dpy,
|
|
int screen,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
NVCTRLAttributeValidValuesRec *values
|
|
);
|
|
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryValidTargetAttributeValues -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise. If
|
|
* XNVCTRLQueryValidTargetAttributeValues returns True, values will indicate
|
|
* the valid values for the specified attribute.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryValidTargetAttributeValues (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
NVCTRLAttributeValidValuesRec *values
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryValidTargetStringAttributeValues -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise. If
|
|
* XNVCTRLQueryValidTargetStringAttributeValues returns True, values will
|
|
* indicate the valid values for the specified attribute.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryValidTargetStringAttributeValues (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
NVCTRLAttributeValidValuesRec *values
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryAttributePermissions -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise. If
|
|
* XNVCTRLQueryAttributePermissions returns True, permissions will
|
|
* indicate the permission flags for the attribute.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryAttributePermissions (
|
|
Display *dpy,
|
|
unsigned int attribute,
|
|
NVCTRLAttributePermissionsRec *permissions
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryStringAttributePermissions -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise. If
|
|
* XNVCTRLQueryStringAttributePermissions returns True, permissions will
|
|
* indicate the permission flags for the attribute.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryStringAttributePermissions (
|
|
Display *dpy,
|
|
unsigned int attribute,
|
|
NVCTRLAttributePermissionsRec *permissions
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryBinaryDataAttributePermissions -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise. If
|
|
* XNVCTRLQueryBinaryDataAttributePermissions returns True, permissions
|
|
* will indicate the permission flags for the attribute.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryBinaryDataAttributePermissions (
|
|
Display *dpy,
|
|
unsigned int attribute,
|
|
NVCTRLAttributePermissionsRec *permissions
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryStringOperationAttributePermissions -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise. If
|
|
* XNVCTRLQueryStringOperationAttributePermissions returns True,
|
|
* permissions will indicate the permission flags for the attribute.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryStringOperationAttributePermissions (
|
|
Display *dpy,
|
|
unsigned int attribute,
|
|
NVCTRLAttributePermissionsRec *permissions
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLSetGvoColorConversion -
|
|
*
|
|
* Sets the color conversion matrix, offset, and scale that should be
|
|
* used for GVO (Graphic to Video Out).
|
|
*
|
|
* The Color Space Conversion data is ordered like this:
|
|
*
|
|
* colorMatrix[0][0] // r.Y
|
|
* colorMatrix[0][1] // g.Y
|
|
* colorMatrix[0][2] // b.Y
|
|
*
|
|
* colorMatrix[1][0] // r.Cr
|
|
* colorMatrix[1][1] // g.Cr
|
|
* colorMatrix[1][2] // b.Cr
|
|
*
|
|
* colorMatrix[2][0] // r.Cb
|
|
* colorMatrix[2][1] // g.Cb
|
|
* colorMatrix[2][2] // b.Cb
|
|
*
|
|
* colorOffset[0] // Y
|
|
* colorOffset[1] // Cr
|
|
* colorOffset[2] // Cb
|
|
*
|
|
* colorScale[0] // Y
|
|
* colorScale[1] // Cr
|
|
* colorScale[2] // Cb
|
|
*
|
|
* where the data is used according to the following formulae:
|
|
*
|
|
* Y = colorOffset[0] + colorScale[0] *
|
|
* (R * colorMatrix[0][0] +
|
|
* G * colorMatrix[0][1] +
|
|
* B * colorMatrix[0][2]);
|
|
*
|
|
* Cr = colorOffset[1] + colorScale[1] *
|
|
* (R * colorMatrix[1][0] +
|
|
* G * colorMatrix[1][1] +
|
|
* B * colorMatrix[1][2]);
|
|
*
|
|
* Cb = colorOffset[2] + colorScale[2] *
|
|
* (R * colorMatrix[2][0] +
|
|
* G * colorMatrix[2][1] +
|
|
* B * colorMatrix[2][2]);
|
|
*
|
|
* Possible errors:
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
* BadImplementation - GVO is not available on that screen.
|
|
*/
|
|
|
|
void XNVCTRLSetGvoColorConversion (
|
|
Display *dpy,
|
|
int screen,
|
|
float colorMatrix[3][3],
|
|
float colorOffset[3],
|
|
float colorScale[3]
|
|
);
|
|
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryGvoColorConversion -
|
|
*
|
|
* Retrieves the color conversion matrix and color offset
|
|
* that are currently being used for GVO (Graphic to Video Out).
|
|
*
|
|
* The values are ordered within the arrays according to the comments
|
|
* for XNVCTRLSetGvoColorConversion().
|
|
*
|
|
* Possible errors:
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
* BadImplementation - GVO is not available on that screen.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryGvoColorConversion (
|
|
Display *dpy,
|
|
int screen,
|
|
float colorMatrix[3][3],
|
|
float colorOffset[3],
|
|
float colorScale[3]
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryBinaryData -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise.
|
|
* If XNVCTRLQueryBinaryData returns True, *ptr will point to an
|
|
* allocated block of memory containing the binary data attribute
|
|
* requested. It is the caller's responsibility to free the data
|
|
* when done. len will list the length of the binary data.
|
|
*
|
|
* Calling this function is equivalent to calling
|
|
* XNVCTRLQueryTargetBinaryData() with the target_type set to
|
|
* NV_CTRL_TARGET_TYPE_X_SCREEN and target_id set to 'screen'.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The screen doesn't exist.
|
|
* BadMatch - The NVIDIA driver is not present on that screen.
|
|
* BadAlloc - Insufficient resources to fulfill the request.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryBinaryData (
|
|
Display *dpy,
|
|
int screen,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
unsigned char **ptr,
|
|
int *len
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLQueryTargetBinaryData -
|
|
*
|
|
* Returns True if the attribute exists. Returns False otherwise.
|
|
* If XNVCTRLQueryTargetBinaryData returns True, *ptr will point to an
|
|
* allocated block of memory containing the binary data attribute
|
|
* requested. It is the caller's responsibility to free the data
|
|
* when done. len will list the length of the binary data.
|
|
*
|
|
* Possible errors:
|
|
* BadValue - The target doesn't exist.
|
|
* BadMatch - The NVIDIA driver does not control the target.
|
|
* BadAlloc - Insufficient resources to fulfill the request.
|
|
*/
|
|
|
|
Bool XNVCTRLQueryTargetBinaryData (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
unsigned char **ptr,
|
|
int *len
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCTRLStringOperation -
|
|
*
|
|
* Takes a string as input and returns a Xmalloc'ed string as output.
|
|
* Returns True on success and False on failure.
|
|
*/
|
|
|
|
Bool XNVCTRLStringOperation (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
unsigned int display_mask,
|
|
unsigned int attribute,
|
|
char *pIn,
|
|
char **ppOut
|
|
);
|
|
|
|
|
|
|
|
/*
|
|
* XNVCtrlSelectNotify -
|
|
*
|
|
* This enables/disables receiving of NV-CONTROL events. The type
|
|
* specifies the type of event to enable (currently, the only
|
|
* type that can be requested per-screen with XNVCtrlSelectNotify()
|
|
* is ATTRIBUTE_CHANGED_EVENT); onoff controls whether receiving this
|
|
* type of event should be enabled (True) or disabled (False).
|
|
*
|
|
* Returns True if successful, or False if the screen is not
|
|
* controlled by the NVIDIA driver.
|
|
*/
|
|
|
|
Bool XNVCtrlSelectNotify (
|
|
Display *dpy,
|
|
int screen,
|
|
int type,
|
|
Bool onoff
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCtrlSelectTargetNotify -
|
|
*
|
|
* This enables/disables receiving of NV-CONTROL events that happen on
|
|
* the specified target. The notify_type specifies the type of event to
|
|
* enable (currently, the only type that can be requested per-target with
|
|
* XNVCtrlSelectTargetNotify() is TARGET_ATTRIBUTE_CHANGED_EVENT); onoff
|
|
* controls whether receiving this type of event should be enabled (True)
|
|
* or disabled (False).
|
|
*
|
|
* Returns True if successful, or False if the target is not
|
|
* controlled by the NVIDIA driver.
|
|
*/
|
|
|
|
Bool XNVCtrlSelectTargetNotify (
|
|
Display *dpy,
|
|
int target_type,
|
|
int target_id,
|
|
int notify_type,
|
|
Bool onoff
|
|
);
|
|
|
|
|
|
/*
|
|
* XNVCtrlEvent structure
|
|
*/
|
|
|
|
typedef struct {
|
|
int type;
|
|
unsigned long serial;
|
|
Bool send_event; /* always FALSE, we don't allow send_events */
|
|
Display *display;
|
|
Time time;
|
|
int screen;
|
|
unsigned int display_mask;
|
|
unsigned int attribute;
|
|
int value;
|
|
} XNVCtrlAttributeChangedEvent;
|
|
|
|
typedef union {
|
|
int type;
|
|
XNVCtrlAttributeChangedEvent attribute_changed;
|
|
long pad[24];
|
|
} XNVCtrlEvent;
|
|
|
|
|
|
/*
|
|
* XNVCtrlEventTarget structure
|
|
*/
|
|
|
|
typedef struct {
|
|
int type;
|
|
unsigned long serial;
|
|
Bool send_event; /* always FALSE, we don't allow send_events */
|
|
Display *display;
|
|
Time time;
|
|
int target_type;
|
|
int target_id;
|
|
unsigned int display_mask;
|
|
unsigned int attribute;
|
|
int value;
|
|
} XNVCtrlAttributeChangedEventTarget;
|
|
|
|
typedef union {
|
|
int type;
|
|
XNVCtrlAttributeChangedEventTarget attribute_changed;
|
|
long pad[24];
|
|
} XNVCtrlEventTarget;
|
|
|
|
|
|
/*
|
|
* XNVCtrlEventTargetAvailability structure
|
|
*/
|
|
|
|
typedef struct {
|
|
int type;
|
|
unsigned long serial;
|
|
Bool send_event; /* always FALSE, we don't allow send_events */
|
|
Display *display;
|
|
Time time;
|
|
int target_type;
|
|
int target_id;
|
|
unsigned int display_mask;
|
|
unsigned int attribute;
|
|
int value;
|
|
Bool availability;
|
|
} XNVCtrlAttributeChangedEventTargetAvailability;
|
|
|
|
typedef union {
|
|
int type;
|
|
XNVCtrlAttributeChangedEventTargetAvailability attribute_changed;
|
|
long pad[24];
|
|
} XNVCtrlEventTargetAvailability;
|
|
|
|
|
|
/*
|
|
* XNVCtrlStringEventTarget structure
|
|
*/
|
|
|
|
typedef struct {
|
|
int type;
|
|
unsigned long serial;
|
|
Bool send_event; /* always FALSE, we don't allow send_events */
|
|
Display *display;
|
|
Time time;
|
|
int target_type;
|
|
int target_id;
|
|
unsigned int display_mask;
|
|
unsigned int attribute;
|
|
} XNVCtrlStringAttributeChangedEventTarget;
|
|
|
|
typedef union {
|
|
int type;
|
|
XNVCtrlStringAttributeChangedEventTarget attribute_changed;
|
|
long pad[24];
|
|
} XNVCtrlStringEventTarget;
|
|
|
|
|
|
|
|
/*
|
|
* XNVCtrlBinaryEventTarget structure
|
|
*/
|
|
|
|
typedef struct {
|
|
int type;
|
|
unsigned long serial;
|
|
Bool send_event; /* always FALSE, we don't allow send_events */
|
|
Display *display;
|
|
Time time;
|
|
int target_type;
|
|
int target_id;
|
|
unsigned int display_mask;
|
|
unsigned int attribute;
|
|
} XNVCtrlBinaryAttributeChangedEventTarget;
|
|
|
|
typedef union {
|
|
int type;
|
|
XNVCtrlBinaryAttributeChangedEventTarget attribute_changed;
|
|
long pad[24];
|
|
} XNVCtrlBinaryEventTarget;
|
|
|
|
#if defined __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* __NVCTRLLIB_H */
|