| GNOME Desktop Library Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | ||||
GnomeRRScreen; GnomeRRScreenClass; typedef GnomeRROutput; typedef GnomeRRCrtc; enum GnomeRRDpmsMode; typedef GnomeRRMode; enum GnomeRRRotation; #define GNOME_RR_ERROR GQuark gnome_rr_error_quark (void); enum GnomeRRError; #define GNOME_RR_CONNECTOR_TYPE_PANEL GnomeRRScreen * gnome_rr_screen_new (GdkScreen *screen,GError **error); GnomeRROutput ** gnome_rr_screen_list_outputs (GnomeRRScreen *screen); GnomeRRCrtc ** gnome_rr_screen_list_crtcs (GnomeRRScreen *screen); GnomeRRMode ** gnome_rr_screen_list_modes (GnomeRRScreen *screen); GnomeRRMode ** gnome_rr_screen_list_clone_modes (GnomeRRScreen *screen); void gnome_rr_screen_set_size (GnomeRRScreen *screen,int width,int height,int mm_width,int mm_height); GnomeRRCrtc * gnome_rr_screen_get_crtc_by_id (GnomeRRScreen *screen,guint32 id); gboolean gnome_rr_screen_refresh (GnomeRRScreen *screen,GError **error); GnomeRROutput * gnome_rr_screen_get_output_by_id (GnomeRRScreen *screen,guint32 id); GnomeRROutput * gnome_rr_screen_get_output_by_name (GnomeRRScreen *screen,const char *name); void gnome_rr_screen_get_ranges (GnomeRRScreen *screen,int *min_width,int *max_width,int *min_height,int *max_height); void gnome_rr_screen_get_timestamps (GnomeRRScreen *screen,guint32 *change_timestamp_ret,guint32 *config_timestamp_ret); void gnome_rr_screen_set_primary_output (GnomeRRScreen *screen,GnomeRROutput *output); GnomeRRMode ** gnome_rr_screen_create_clone_modes (GnomeRRScreen *screen); gboolean gnome_rr_screen_get_dpms_mode (GnomeRRScreen *screen,GnomeRRDpmsMode *mode,GError **error); gboolean gnome_rr_screen_set_dpms_mode (GnomeRRScreen *screen,GnomeRRDpmsMode mode,GError **error); guint32 gnome_rr_output_get_id (GnomeRROutput *output); const char * gnome_rr_output_get_name (GnomeRROutput *output); gboolean gnome_rr_output_is_connected (GnomeRROutput *output); int gnome_rr_output_get_size_inches (GnomeRROutput *output); int gnome_rr_output_get_width_mm (GnomeRROutput *outout); int gnome_rr_output_get_height_mm (GnomeRROutput *output); const guint8 * gnome_rr_output_get_edid_data (GnomeRROutput *output,gsize *size); GnomeRRCrtc ** gnome_rr_output_get_possible_crtcs (GnomeRROutput *output); GnomeRRMode * gnome_rr_output_get_current_mode (GnomeRROutput *output); GnomeRRCrtc * gnome_rr_output_get_crtc (GnomeRROutput *output); const char * gnome_rr_output_get_connector_type (GnomeRROutput *output); gboolean gnome_rr_output_is_builtin_display (GnomeRROutput *output); void gnome_rr_output_get_position (GnomeRROutput *output,int *x,int *y); gboolean gnome_rr_output_can_clone (GnomeRROutput *output,GnomeRROutput *clone); GnomeRRMode ** gnome_rr_output_list_modes (GnomeRROutput *output); GnomeRRMode * gnome_rr_output_get_preferred_mode (GnomeRROutput *output); gboolean gnome_rr_output_supports_mode (GnomeRROutput *output,GnomeRRMode *mode); gboolean gnome_rr_output_get_is_primary (GnomeRROutput *output); gint gnome_rr_output_get_backlight (GnomeRROutput *output,GError **error); gboolean gnome_rr_output_set_backlight (GnomeRROutput *output,gint value,GError **error); gint gnome_rr_output_get_backlight_max (GnomeRROutput *output); gint gnome_rr_output_get_backlight_min (GnomeRROutput *output); const char * gnome_rr_output_get_display_name (GnomeRROutput *output); gboolean gnome_rr_output_get_ids_from_edid (GnomeRROutput *output,char **vendor,int *product,int *serial); guint32 gnome_rr_mode_get_id (GnomeRRMode *mode); guint gnome_rr_mode_get_width (GnomeRRMode *mode); guint gnome_rr_mode_get_height (GnomeRRMode *mode); int gnome_rr_mode_get_freq (GnomeRRMode *mode); guint32 gnome_rr_crtc_get_id (GnomeRRCrtc *crtc); gboolean gnome_rr_crtc_set_config_with_time (GnomeRRCrtc *crtc,guint32 timestamp,int x,int y,GnomeRRMode *mode,GnomeRRRotation rotation,GnomeRROutput **outputs,int n_outputs,GError **error); gboolean gnome_rr_crtc_can_drive_output (GnomeRRCrtc *crtc,GnomeRROutput *output); GnomeRRMode * gnome_rr_crtc_get_current_mode (GnomeRRCrtc *crtc); void gnome_rr_crtc_get_position (GnomeRRCrtc *crtc,int *x,int *y); GnomeRRRotation gnome_rr_crtc_get_current_rotation (GnomeRRCrtc *crtc); GnomeRRRotation gnome_rr_crtc_get_rotations (GnomeRRCrtc *crtc); gboolean gnome_rr_crtc_supports_rotation (GnomeRRCrtc *crtc,GnomeRRRotation rotation); gboolean gnome_rr_crtc_get_gamma (GnomeRRCrtc *crtc,int *size,unsigned short **red,unsigned short **green,unsigned short **blue); void gnome_rr_crtc_set_gamma (GnomeRRCrtc *crtc,int size,unsigned short *red,unsigned short *green,unsigned short *blue);
typedef struct {
GObjectClass parent_class;
void (* changed) (void);
void (* output_connected) (GnomeRROutput *output);
void (* output_disconnected) (GnomeRROutput *output);
} GnomeRRScreenClass;
typedef enum {
GNOME_RR_DPMS_ON,
GNOME_RR_DPMS_STANDBY,
GNOME_RR_DPMS_SUSPEND,
GNOME_RR_DPMS_OFF,
GNOME_RR_DPMS_DISABLED,
GNOME_RR_DPMS_UNKNOWN
} GnomeRRDpmsMode;
typedef enum {
GNOME_RR_ROTATION_NEXT = 0,
GNOME_RR_ROTATION_0 = (1 << 0),
GNOME_RR_ROTATION_90 = (1 << 1),
GNOME_RR_ROTATION_180 = (1 << 2),
GNOME_RR_ROTATION_270 = (1 << 3),
GNOME_RR_REFLECT_X = (1 << 4),
GNOME_RR_REFLECT_Y = (1 << 5)
} GnomeRRRotation;
GQuark gnome_rr_error_quark (void);
Returns the GQuark that will be used for GError values returned by the GnomeRR API.
Returns : |
a GQuark used to identify errors coming from the GnomeRR API. |
typedef enum {
GNOME_RR_ERROR_UNKNOWN, /* generic "fail" */
GNOME_RR_ERROR_NO_RANDR_EXTENSION, /* RANDR extension is not present */
GNOME_RR_ERROR_RANDR_ERROR, /* generic/undescribed error from the underlying XRR API */
GNOME_RR_ERROR_BOUNDS_ERROR, /* requested bounds of a CRTC are outside the maximum size */
GNOME_RR_ERROR_CRTC_ASSIGNMENT, /* could not assign CRTCs to outputs */
GNOME_RR_ERROR_NO_MATCHING_CONFIG, /* none of the saved configurations matched the current configuration */
GNOME_RR_ERROR_NO_DPMS_EXTENSION, /* DPMS extension is not present */
} GnomeRRError;
#define GNOME_RR_CONNECTOR_TYPE_PANEL "Panel" /* This is a built-in LCD */
GnomeRRScreen * gnome_rr_screen_new (GdkScreen *screen,GError **error);
Creates a unique GnomeRRScreen instance for the specified screen.
|
the GdkScreen on which to operate |
|
will be set if XRandR is not supported |
Returns : |
a unique GnomeRRScreen instance, specific to the screen, or NULL
if this could not be created, for instance if the driver does not support
Xrandr 1.2. Each GdkScreen thus has a single instance of GnomeRRScreen. |
GnomeRROutput ** gnome_rr_screen_list_outputs (GnomeRRScreen *screen);
List all outputs
Returns : |
. [array zero-terminated=1][transfer none] |
GnomeRRCrtc ** gnome_rr_screen_list_crtcs (GnomeRRScreen *screen);
List all CRTCs
Returns : |
. [array zero-terminated=1][transfer none] |
GnomeRRMode ** gnome_rr_screen_list_modes (GnomeRRScreen *screen);
List available XRandR modes
Returns : |
. [array zero-terminated=1][transfer none] |
GnomeRRMode ** gnome_rr_screen_list_clone_modes (GnomeRRScreen *screen);
List available XRandR clone modes
Returns : |
. [array zero-terminated=1][transfer none] |
void gnome_rr_screen_set_size (GnomeRRScreen *screen,int width,int height,int mm_width,int mm_height);
GnomeRRCrtc * gnome_rr_screen_get_crtc_by_id (GnomeRRScreen *screen,guint32 id);
Returns : |
the CRTC identified by id. [transfer none]
|
gboolean gnome_rr_screen_refresh (GnomeRRScreen *screen,GError **error);
Refreshes the screen configuration, and calls the screen's callback if it exists and if the screen's configuration changed.
|
a GnomeRRScreen |
|
location to store error, or NULL
|
Returns : |
TRUE if the screen's configuration changed; otherwise, the function returns FALSE and a NULL error if the configuration didn't change, or FALSE and a non-NULL error if there was an error while refreshing the configuration. |
GnomeRROutput * gnome_rr_screen_get_output_by_id (GnomeRRScreen *screen,guint32 id);
Returns : |
the output identified by id. [transfer none]
|
GnomeRROutput * gnome_rr_screen_get_output_by_name (GnomeRRScreen *screen,const char *name);
Returns : |
the output identified by name. [transfer none]
|
void gnome_rr_screen_get_ranges (GnomeRRScreen *screen,int *min_width,int *max_width,int *min_height,int *max_height);
Get the ranges of the screen
|
a GnomeRRScreen |
|
the minimum width. [out] |
|
the maximum width. [out] |
|
the minimum height. [out] |
|
the maximum height. [out] |
void gnome_rr_screen_get_timestamps (GnomeRRScreen *screen,guint32 *change_timestamp_ret,guint32 *config_timestamp_ret);
Queries the two timestamps that the X RANDR extension maintains. The X server will prevent change requests for stale configurations, those whose timestamp is not equal to that of the latest request for configuration. The X server will also prevent change requests that have an older timestamp to the latest change request.
|
a GnomeRRScreen |
|
Location in which to store the timestamp at which the RANDR configuration was last changed. [out] |
|
Location in which to store the timestamp at which the RANDR configuration was last obtained. [out] |
void gnome_rr_screen_set_primary_output (GnomeRRScreen *screen,GnomeRROutput *output);
GnomeRRMode ** gnome_rr_screen_create_clone_modes (GnomeRRScreen *screen);
gboolean gnome_rr_screen_get_dpms_mode (GnomeRRScreen *screen,GnomeRRDpmsMode *mode,GError **error);
|
The current GnomeRRDpmsMode of this screen. [out] |
gboolean gnome_rr_screen_set_dpms_mode (GnomeRRScreen *screen,GnomeRRDpmsMode mode,GError **error);
This method also disables the DPMS timeouts.
const guint8 * gnome_rr_output_get_edid_data (GnomeRROutput *output,gsize *size);
GnomeRRCrtc ** gnome_rr_output_get_possible_crtcs (GnomeRROutput *output);
GnomeRRMode * gnome_rr_output_get_current_mode (GnomeRROutput *output);
const char * gnome_rr_output_get_connector_type (GnomeRROutput *output);
gboolean gnome_rr_output_is_builtin_display (GnomeRROutput *output);
void gnome_rr_output_get_position (GnomeRROutput *output,int *x,int *y);
|
a GnomeRROutput |
|
. [out][allow-none] |
|
. [out][allow-none] |
gboolean gnome_rr_output_can_clone (GnomeRROutput *output,GnomeRROutput *clone);
GnomeRRMode * gnome_rr_output_get_preferred_mode (GnomeRROutput *output);
gboolean gnome_rr_output_supports_mode (GnomeRROutput *output,GnomeRRMode *mode);
gint gnome_rr_output_get_backlight (GnomeRROutput *output,GError **error);
Returns : |
The currently set backlight brightness |
gboolean gnome_rr_output_set_backlight (GnomeRROutput *output,gint value,GError **error);
|
the absolute value which is min >= this <= max |
Returns : |
TRUE for success |
gint gnome_rr_output_get_backlight_max (GnomeRROutput *output);
Returns : |
The maximum backlight value, or -1 if not supported |
gint gnome_rr_output_get_backlight_min (GnomeRROutput *output);
Returns : |
The mimimum backlight value, or -1 if not supported |
const char * gnome_rr_output_get_display_name (GnomeRROutput *output);
gboolean gnome_rr_output_get_ids_from_edid (GnomeRROutput *output,char **vendor,int *product,int *serial);
|
a GnomeRROutput |
|
. [out][allow-none] |
|
. [out][allow-none] |
|
. [out][allow-none] |
gboolean gnome_rr_crtc_set_config_with_time (GnomeRRCrtc *crtc,guint32 timestamp,int x,int y,GnomeRRMode *mode,GnomeRRRotation rotation,GnomeRROutput **outputs,int n_outputs,GError **error);
gboolean gnome_rr_crtc_can_drive_output (GnomeRRCrtc *crtc,GnomeRROutput *output);
void gnome_rr_crtc_get_position (GnomeRRCrtc *crtc,int *x,int *y);
|
a GnomeRRCrtc |
|
. [out][allow-none] |
|
. [out][allow-none] |
GnomeRRRotation gnome_rr_crtc_get_current_rotation (GnomeRRCrtc *crtc);
gboolean gnome_rr_crtc_supports_rotation (GnomeRRCrtc *crtc,GnomeRRRotation rotation);
gboolean gnome_rr_crtc_get_gamma (GnomeRRCrtc *crtc,int *size,unsigned short **red,unsigned short **green,unsigned short **blue);
void gnome_rr_crtc_set_gamma (GnomeRRCrtc *crtc,int size,unsigned short *red,unsigned short *green,unsigned short *blue);