## gnome-rr-screen gnome-rr-screen |

## Synopsis

    #include <libgnomeui/gnome-rr.h>

    typedef             GnomeRRScreen;
    void                (*GnomeRRScreenChanged)             (GnomeRRScreen *screen,
                                                             gpointer data);
    GnomeRRScreen *     gnome_rr_screen_new                 (GdkScreen *screen,
                                                             GnomeRRScreenChanged callback,
                                                             gpointer data,
                                                             GError **error);
    void                gnome_rr_screen_destroy             (GnomeRRScreen *screen);
    gboolean            gnome_rr_screen_refresh             (GnomeRRScreen *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);
    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);
    GnomeRRCrtc *       gnome_rr_screen_get_crtc_by_id      (GnomeRRScreen *screen,
                                                             guint32 id);
    void                gnome_rr_screen_get_ranges          (GnomeRRScreen *screen,
                                                             int *min_width,
                                                             int *max_width,
                                                             int *min_height,
                                                             int *max_height);

## Description

## Details

### GnomeRRScreen

    typedef struct GnomeRRScreen GnomeRRScreen;

### GnomeRRScreenChanged ()

    void                (*GnomeRRScreenChanged)             (GnomeRRScreen *screen,
                                                             gpointer data);

### gnome_rr_screen_new ()

    GnomeRRScreen *     gnome_rr_screen_new                 (GdkScreen *screen,
                                                             GnomeRRScreenChanged callback,
                                                             gpointer data,
                                                             GError **error);

### gnome_rr_screen_destroy ()

    void                gnome_rr_screen_destroy             (GnomeRRScreen *screen);

### gnome_rr_screen_refresh ()

    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.

`screen` : | a GnomeRRScreen
`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.

### gnome_rr_screen_list_outputs ()

    GnomeRROutput **    gnome_rr_screen_list_outputs        (GnomeRRScreen *screen);

### gnome_rr_screen_list_crtcs ()

    GnomeRRCrtc **      gnome_rr_screen_list_crtcs          (GnomeRRScreen *screen);

### gnome_rr_screen_list_modes ()

    GnomeRRMode **      gnome_rr_screen_list_modes          (GnomeRRScreen *screen);

### gnome_rr_screen_list_clone_modes ()

    GnomeRRMode **      gnome_rr_screen_list_clone_modes    (GnomeRRScreen *screen);

### gnome_rr_screen_set_size ()

    void                gnome_rr_screen_set_size            (GnomeRRScreen *screen,
                                                             int width,
                                                             int height,
                                                             int mm_width,
                                                             int mm_height);

### gnome_rr_screen_get_output_by_id ()

    GnomeRROutput *     gnome_rr_screen_get_output_by_id    (GnomeRRScreen *screen,
                                                             guint32 id);

### gnome_rr_screen_get_output_by_name ()

    GnomeRROutput *     gnome_rr_screen_get_output_by_name  (GnomeRRScreen *screen,
                                                             const char *name);

### gnome_rr_screen_get_crtc_by_id ()

    GnomeRRCrtc *       gnome_rr_screen_get_crtc_by_id      (GnomeRRScreen *screen,
                                                             guint32 id);

### gnome_rr_screen_get_ranges ()

    void                gnome_rr_screen_get_ranges          (GnomeRRScreen *screen,
                                                             int *min_width,
                                                             int *max_width,
                                                             int *min_height,
                                                             int *max_height);