FdRRScreen

FdRRScreen

Functions

GQuark fd_rr_error_quark ()
FdRRScreen * fd_rr_screen_new ()
void fd_rr_screen_new_async ()
FdRRScreen * fd_rr_screen_new_finish ()
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 ()
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 ()
gboolean fd_rr_screen_get_dpms_mode ()
gboolean fd_rr_screen_set_dpms_mode ()
guint32 fd_rr_output_get_id ()
const char * fd_rr_output_get_name ()
const char * fd_rr_output_get_display_name ()
const guint8 * fd_rr_output_get_edid_data ()
void fd_rr_output_get_ids_from_edid ()
void fd_rr_output_get_physical_size ()
gint fd_rr_output_get_backlight ()
gint fd_rr_output_get_min_backlight_step ()
gboolean fd_rr_output_set_backlight ()
gboolean fd_rr_output_set_color_transform ()
FdRRCrtc ** fd_rr_output_get_possible_crtcs ()
FdRRMode * fd_rr_output_get_current_mode ()
FdRRCrtc * fd_rr_output_get_crtc ()
gboolean fd_rr_output_is_builtin_display ()
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 ()
gboolean fd_rr_output_get_is_underscanning ()
gboolean fd_rr_output_supports_underscanning ()
gboolean fd_rr_output_supports_color_transform ()
guint32 fd_rr_mode_get_id ()
guint fd_rr_mode_get_width ()
guint fd_rr_mode_get_height ()
int fd_rr_mode_get_freq ()
double fd_rr_mode_get_freq_f ()
gboolean fd_rr_mode_get_is_tiled ()
gboolean fd_rr_mode_get_is_interlaced ()
guint32 fd_rr_crtc_get_id ()
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 ()
gboolean 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 unique FdRRScreen instance for the specified screen .

Parameters

screen

the GdkScreen on which to operate

 

error

will be set if XRandR is not supported

 

Returns

a unique FdRRScreen 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 FdRRScreen.


fd_rr_screen_new_async ()

void
fd_rr_screen_new_async (GdkScreen *screen,
                        GAsyncReadyCallback callback,
                        gpointer user_data);

fd_rr_screen_new_finish ()

FdRRScreen *
fd_rr_screen_new_finish (GAsyncResult *result,
                         GError **error);

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_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_dpms_mode ()

gboolean
fd_rr_screen_get_dpms_mode (FdRRScreen *screen,
                            FdRRDpmsMode *mode,
                            GError **error);

Parameters

mode

The current FdRRDpmsMode of this screen.

[out]

fd_rr_screen_set_dpms_mode ()

gboolean
fd_rr_screen_set_dpms_mode (FdRRScreen *screen,
                            FdRRDpmsMode mode,
                            GError **error);

This method also disables the DPMS timeouts.


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_get_display_name ()

const char *
fd_rr_output_get_display_name (FdRROutput *output);

fd_rr_output_get_edid_data ()

const guint8 *
fd_rr_output_get_edid_data (FdRROutput *output,
                            gsize *size);

fd_rr_output_get_ids_from_edid ()

void
fd_rr_output_get_ids_from_edid (FdRROutput *output,
                                char **vendor,
                                char **product,
                                char **serial);

Parameters

output

a FdRROutput

 

vendor

.

[out][allow-none]

product

.

[out][allow-none]

serial

.

[out][allow-none]

fd_rr_output_get_physical_size ()

void
fd_rr_output_get_physical_size (FdRROutput *output,
                                int *width_mm,
                                int *height_mm);

Parameters

output

a FdRROutput

 

width_mm

.

[out][allow-none]

height_mm

.

[out][allow-none]

fd_rr_output_get_backlight ()

gint
fd_rr_output_get_backlight (FdRROutput *output);

Returns

The currently set backlight brightness


fd_rr_output_get_min_backlight_step ()

gint
fd_rr_output_get_min_backlight_step (FdRROutput *output);

Returns

The minimum backlight step available in percent


fd_rr_output_set_backlight ()

gboolean
fd_rr_output_set_backlight (FdRROutput *output,
                            gint value,
                            GError **error);

Parameters

value

the absolute value which is 0 >= this <= 100

 

Returns

TRUE for success


fd_rr_output_set_color_transform ()

gboolean
fd_rr_output_set_color_transform (FdRROutput *output,
                                  FdRRCTM value,
                                  GError **error);

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_is_builtin_display ()

gboolean
fd_rr_output_is_builtin_display (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_output_get_is_underscanning ()

gboolean
fd_rr_output_get_is_underscanning (FdRROutput *output);

fd_rr_output_supports_underscanning ()

gboolean
fd_rr_output_supports_underscanning (FdRROutput *output);

fd_rr_output_supports_color_transform ()

gboolean
fd_rr_output_supports_color_transform (const 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_mode_get_freq_f ()

double
fd_rr_mode_get_freq_f (FdRRMode *mode);

fd_rr_mode_get_is_tiled ()

gboolean
fd_rr_mode_get_is_tiled (FdRRMode *mode);

Returns TRUE if this mode is a tiled mode created for span a tiled monitor.

Parameters

mode

a FdRRMode

 

fd_rr_mode_get_is_interlaced ()

gboolean
fd_rr_mode_get_is_interlaced (FdRRMode *mode);

fd_rr_crtc_get_id ()

guint32
fd_rr_crtc_get_id (FdRRCrtc *crtc);

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 ()

gboolean
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_NEXT

   

FD_RR_ROTATION_0

   

FD_RR_ROTATION_90

   

FD_RR_ROTATION_180

   

FD_RR_ROTATION_270

   

FD_RR_REFLECT_X

   

FD_RR_REFLECT_Y

   

FdRRCTM

typedef struct {
    /*
     * Conversion matrix in S31.32 sign-magnitude (not two's complement!)
     * format.
     */
    guint64 matrix[9];
} FdRRCTM;

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_ERROR_NO_DPMS_EXTENSION

   

FD_RR_CONNECTOR_TYPE_PANEL

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