FdRRScreen

FdRRScreen

Functions

GQuark fd_rr_error_quark ()
FdRRScreen * fd_rr_screen_new ()
FdRROutput ** fd_rr_screen_list_outputs ()
FdRRCrtc ** fd_rr_screen_list_crtcs ()
FdRRMode ** fd_rr_screen_list_modes ()
FdRRMode ** fd_rr_screen_list_clone_modes ()
void fd_rr_screen_set_size ()
FdRRCrtc * fd_rr_screen_get_crtc_by_id ()
gboolean fd_rr_screen_refresh ()
FdRROutput * fd_rr_screen_get_output_by_id ()
FdRROutput * fd_rr_screen_get_output_by_name ()
void fd_rr_screen_get_ranges ()
void fd_rr_screen_get_timestamps ()
void fd_rr_screen_set_primary_output ()
guint32 fd_rr_output_get_id ()
const char * fd_rr_output_get_name ()
gboolean fd_rr_output_is_connected ()
int fd_rr_output_get_size_inches ()
int fd_rr_output_get_width_mm ()
int fd_rr_output_get_height_mm ()
const guint8 * fd_rr_output_get_edid_data ()
FdRRCrtc ** fd_rr_output_get_possible_crtcs ()
FdRRMode * fd_rr_output_get_current_mode ()
FdRRCrtc * fd_rr_output_get_crtc ()
const char * fd_rr_output_get_connector_type ()
gboolean fd_rr_output_is_laptop ()
void fd_rr_output_get_position ()
gboolean fd_rr_output_can_clone ()
FdRRMode ** fd_rr_output_list_modes ()
FdRRMode * fd_rr_output_get_preferred_mode ()
gboolean fd_rr_output_supports_mode ()
gboolean fd_rr_output_get_is_primary ()
guint32 fd_rr_mode_get_id ()
guint fd_rr_mode_get_width ()
guint fd_rr_mode_get_height ()
int fd_rr_mode_get_freq ()
guint32 fd_rr_crtc_get_id ()
gboolean fd_rr_crtc_set_config ()
gboolean fd_rr_crtc_set_config_with_time ()
gboolean fd_rr_crtc_can_drive_output ()
FdRRMode * fd_rr_crtc_get_current_mode ()
void fd_rr_crtc_get_position ()
FdRRRotation fd_rr_crtc_get_current_rotation ()
FdRRRotation fd_rr_crtc_get_rotations ()
gboolean fd_rr_crtc_supports_rotation ()
gboolean fd_rr_crtc_get_gamma ()
void fd_rr_crtc_set_gamma ()

Types and Values

Description

Functions

fd_rr_error_quark ()

GQuark
fd_rr_error_quark (void);

Returns the GQuark that will be used for GError values returned by the FdRR API.

Returns

a GQuark used to identify errors coming from the FdRR API.


fd_rr_screen_new ()

FdRRScreen *
fd_rr_screen_new (GdkScreen *screen,
                  GError **error);

Creates a new FdRRScreen instance

Parameters

screen

the GdkScreen on which to operate

 

error

will be set if XRandR is not supported

 

Returns

a new FdRRScreen instance or NULL if screen could not be created, for instance if the driver does not support Xrandr 1.2


fd_rr_screen_list_outputs ()

FdRROutput **
fd_rr_screen_list_outputs (FdRRScreen *screen);

List all outputs

Returns

.

[array zero-terminated=1][transfer none]


fd_rr_screen_list_crtcs ()

FdRRCrtc **
fd_rr_screen_list_crtcs (FdRRScreen *screen);

List all CRTCs

Returns

.

[array zero-terminated=1][transfer none]


fd_rr_screen_list_modes ()

FdRRMode **
fd_rr_screen_list_modes (FdRRScreen *screen);

List available XRandR modes

Returns

.

[array zero-terminated=1][transfer none]


fd_rr_screen_list_clone_modes ()

FdRRMode **
fd_rr_screen_list_clone_modes (FdRRScreen *screen);

List available XRandR clone modes

Returns

.

[array zero-terminated=1][transfer none]


fd_rr_screen_set_size ()

void
fd_rr_screen_set_size (FdRRScreen *screen,
                       int width,
                       int height,
                       int mm_width,
                       int mm_height);

fd_rr_screen_get_crtc_by_id ()

FdRRCrtc *
fd_rr_screen_get_crtc_by_id (FdRRScreen *screen,
                             guint32 id);

Returns

the CRTC identified by id .

[transfer none]


fd_rr_screen_refresh ()

gboolean
fd_rr_screen_refresh (FdRRScreen *screen,
                      GError **error);

Refreshes the screen configuration, and calls the screen's callback if it exists and if the screen's configuration changed.

Parameters

screen

a FdRRScreen

 

error

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.


fd_rr_screen_get_output_by_id ()

FdRROutput *
fd_rr_screen_get_output_by_id (FdRRScreen *screen,
                               guint32 id);

Returns

the output identified by id .

[transfer none]


fd_rr_screen_get_output_by_name ()

FdRROutput *
fd_rr_screen_get_output_by_name (FdRRScreen *screen,
                                 const char *name);

Returns

the output identified by name .

[transfer none]


fd_rr_screen_get_ranges ()

void
fd_rr_screen_get_ranges (FdRRScreen *screen,
                         int *min_width,
                         int *max_width,
                         int *min_height,
                         int *max_height);

Get the ranges of the screen

Parameters

screen

a FdRRScreen

 

min_width

the minimum width.

[out]

max_width

the maximum width.

[out]

min_height

the minimum height.

[out]

max_height

the maximum height.

[out]

fd_rr_screen_get_timestamps ()

void
fd_rr_screen_get_timestamps (FdRRScreen *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.

Parameters

screen

a FdRRScreen

 

change_timestamp_ret

Location in which to store the timestamp at which the RANDR configuration was last changed.

[out]

config_timestamp_ret

Location in which to store the timestamp at which the RANDR configuration was last obtained.

[out]

fd_rr_screen_set_primary_output ()

void
fd_rr_screen_set_primary_output (FdRRScreen *screen,
                                 FdRROutput *output);

fd_rr_output_get_id ()

guint32
fd_rr_output_get_id (FdRROutput *output);

fd_rr_output_get_name ()

const char *
fd_rr_output_get_name (FdRROutput *output);

fd_rr_output_is_connected ()

gboolean
fd_rr_output_is_connected (FdRROutput *output);

fd_rr_output_get_size_inches ()

int
fd_rr_output_get_size_inches (FdRROutput *output);

fd_rr_output_get_width_mm ()

int
fd_rr_output_get_width_mm (FdRROutput *outout);

fd_rr_output_get_height_mm ()

int
fd_rr_output_get_height_mm (FdRROutput *output);

fd_rr_output_get_edid_data ()

const guint8 *
fd_rr_output_get_edid_data (FdRROutput *output);

fd_rr_output_get_possible_crtcs ()

FdRRCrtc **
fd_rr_output_get_possible_crtcs (FdRROutput *output);

Parameters

output

a FdRROutput

 

Returns

.

[array zero-terminated=1][transfer none]


fd_rr_output_get_current_mode ()

FdRRMode *
fd_rr_output_get_current_mode (FdRROutput *output);

Parameters

output

a FdRROutput

 

Returns

the current mode of this output.

[transfer none]


fd_rr_output_get_crtc ()

FdRRCrtc *
fd_rr_output_get_crtc (FdRROutput *output);

Parameters

output

a FdRROutput

 

Returns

.

[transfer none]


fd_rr_output_get_connector_type ()

const char *
fd_rr_output_get_connector_type (FdRROutput *output);

fd_rr_output_is_laptop ()

gboolean
fd_rr_output_is_laptop (FdRROutput *output);

fd_rr_output_get_position ()

void
fd_rr_output_get_position (FdRROutput *output,
                           int *x,
                           int *y);

Parameters

output

a FdRROutput

 

x

.

[out][allow-none]

y

.

[out][allow-none]

fd_rr_output_can_clone ()

gboolean
fd_rr_output_can_clone (FdRROutput *output,
                        FdRROutput *clone);

fd_rr_output_list_modes ()

FdRRMode **
fd_rr_output_list_modes (FdRROutput *output);

Parameters

output

a FdRROutput

 

Returns

.

[array zero-terminated=1][transfer none]


fd_rr_output_get_preferred_mode ()

FdRRMode *
fd_rr_output_get_preferred_mode (FdRROutput *output);

Parameters

output

a FdRROutput

 

Returns

.

[transfer none]


fd_rr_output_supports_mode ()

gboolean
fd_rr_output_supports_mode (FdRROutput *output,
                            FdRRMode *mode);

fd_rr_output_get_is_primary ()

gboolean
fd_rr_output_get_is_primary (FdRROutput *output);

fd_rr_mode_get_id ()

guint32
fd_rr_mode_get_id (FdRRMode *mode);

fd_rr_mode_get_width ()

guint
fd_rr_mode_get_width (FdRRMode *mode);

fd_rr_mode_get_height ()

guint
fd_rr_mode_get_height (FdRRMode *mode);

fd_rr_mode_get_freq ()

int
fd_rr_mode_get_freq (FdRRMode *mode);

fd_rr_crtc_get_id ()

guint32
fd_rr_crtc_get_id (FdRRCrtc *crtc);

fd_rr_crtc_set_config ()

gboolean
fd_rr_crtc_set_config (FdRRCrtc *crtc,
                       int x,
                       int y,
                       FdRRMode *mode,
                       FdRRRotation rotation,
                       FdRROutput **outputs,
                       int n_outputs,
                       GError **error);

fd_rr_crtc_set_config is deprecated and should not be used in newly-written code.


fd_rr_crtc_set_config_with_time ()

gboolean
fd_rr_crtc_set_config_with_time (FdRRCrtc *crtc,
                                 guint32 timestamp,
                                 int x,
                                 int y,
                                 FdRRMode *mode,
                                 FdRRRotation rotation,
                                 FdRROutput **outputs,
                                 int n_outputs,
                                 GError **error);

fd_rr_crtc_can_drive_output ()

gboolean
fd_rr_crtc_can_drive_output (FdRRCrtc *crtc,
                             FdRROutput *output);

fd_rr_crtc_get_current_mode ()

FdRRMode *
fd_rr_crtc_get_current_mode (FdRRCrtc *crtc);

Parameters

crtc

a FdRRCrtc

 

Returns

the current mode of this crtc.

[transfer none]


fd_rr_crtc_get_position ()

void
fd_rr_crtc_get_position (FdRRCrtc *crtc,
                         int *x,
                         int *y);

Parameters

crtc

a FdRRCrtc

 

x

.

[out][allow-none]

y

.

[out][allow-none]

fd_rr_crtc_get_current_rotation ()

FdRRRotation
fd_rr_crtc_get_current_rotation (FdRRCrtc *crtc);

fd_rr_crtc_get_rotations ()

FdRRRotation
fd_rr_crtc_get_rotations (FdRRCrtc *crtc);

fd_rr_crtc_supports_rotation ()

gboolean
fd_rr_crtc_supports_rotation (FdRRCrtc *crtc,
                              FdRRRotation rotation);

fd_rr_crtc_get_gamma ()

gboolean
fd_rr_crtc_get_gamma (FdRRCrtc *crtc,
                      int *size,
                      unsigned short **red,
                      unsigned short **green,
                      unsigned short **blue);

Parameters

crtc

a FdRRCrtc

 

red

the minimum width.

[out]

green

the maximum width.

[out]

blue

the minimum height.

[out]

Returns

TRUE for success


fd_rr_crtc_set_gamma ()

void
fd_rr_crtc_set_gamma (FdRRCrtc *crtc,
                      int size,
                      unsigned short *red,
                      unsigned short *green,
                      unsigned short *blue);

Types and Values

enum FdRRRotation

Members

FD_RR_ROTATION_0

   

FD_RR_ROTATION_90

   

FD_RR_ROTATION_180

   

FD_RR_ROTATION_270

   

FD_RR_REFLECT_X

   

FD_RR_REFLECT_Y

   

FD_RR_ERROR

#define FD_RR_ERROR (fd_rr_error_quark ())

enum FdRRError

Members

FD_RR_ERROR_UNKNOWN

   

FD_RR_ERROR_NO_RANDR_EXTENSION

   

FD_RR_ERROR_RANDR_ERROR

   

FD_RR_ERROR_BOUNDS_ERROR

   

FD_RR_ERROR_CRTC_ASSIGNMENT

   

FD_RR_ERROR_NO_MATCHING_CONFIG

   

FD_RR_CONNECTOR_TYPE_PANEL

#define FD_RR_CONNECTOR_TYPE_PANEL "Panel"  /* This is a laptop's built-in LCD */