mate-rr-screen

## mate-rr-screen mate-rr-screen |

## Synopsis

    #include <mate-rr.h>

    typedef             MateRRScreen;
    void                (*MateRRScreenChanged)              (MateRRScreen *screen,
                                                             gpointer data);
    MateRRScreen *      mate_rr_screen_new                  (GdkScreen *screen,
                                                             MateRRScreenChanged callback,
                                                             gpointer data,
                                                             GError **error);
    void                mate_rr_screen_destroy              (MateRRScreen *screen);
    gboolean            mate_rr_screen_refresh              (MateRRScreen *screen,
                                                             GError **error);
    MateRROutput **     mate_rr_screen_list_outputs         (MateRRScreen *screen);
    MateRRCrtc **       mate_rr_screen_list_crtcs           (MateRRScreen *screen);
    MateRRMode **       mate_rr_screen_list_modes           (MateRRScreen *screen);
    MateRRMode **       mate_rr_screen_list_clone_modes     (MateRRScreen *screen);
    void                mate_rr_screen_set_size             (MateRRScreen *screen,
                                                             int width,
                                                             int height,
                                                             int mm_width,
                                                             int mm_height);
    MateRROutput *      mate_rr_screen_get_output_by_id     (MateRRScreen *screen,
                                                             guint32 id);
    MateRROutput *      mate_rr_screen_get_output_by_name   (MateRRScreen *screen,
                                                             const char *name);
    MateRRCrtc *        mate_rr_screen_get_crtc_by_id       (MateRRScreen *screen,
                                                             guint32 id);
    void                mate_rr_screen_get_ranges           (MateRRScreen *screen,
                                                             int *min_width,
                                                             int *max_width,
                                                             int *min_height,
                                                             int *max_height);

## Description

## Details

### MateRRScreen

    typedef struct MateRRScreen MateRRScreen;

### MateRRScreenChanged ()

    void                (*MateRRScreenChanged)              (MateRRScreen *screen,
                                                             gpointer data);

### mate_rr_screen_new ()

    MateRRScreen *      mate_rr_screen_new                  (GdkScreen *screen,
                                                             MateRRScreenChanged callback,
                                                             gpointer data,
                                                             GError **error);

### mate_rr_screen_destroy ()

    void                mate_rr_screen_destroy              (MateRRScreen *screen);

### mate_rr_screen_refresh ()

    gboolean            mate_rr_screen_refresh              (MateRRScreen *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 MateRRScreen
`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.

### mate_rr_screen_list_outputs ()

    MateRROutput **     mate_rr_screen_list_outputs         (MateRRScreen *screen);

### mate_rr_screen_list_crtcs ()

    MateRRCrtc **       mate_rr_screen_list_crtcs           (MateRRScreen *screen);

### mate_rr_screen_list_modes ()

    MateRRMode **       mate_rr_screen_list_modes           (MateRRScreen *screen);

### mate_rr_screen_list_clone_modes ()

    MateRRMode **       mate_rr_screen_list_clone_modes     (MateRRScreen *screen);

### mate_rr_screen_set_size ()

    void                mate_rr_screen_set_size             (MateRRScreen *screen,
                                                             int width,
                                                             int height,
                                                             int mm_width,
                                                             int mm_height);

### mate_rr_screen_get_output_by_id ()

    MateRROutput *      mate_rr_screen_get_output_by_id     (MateRRScreen *screen,
                                                             guint32 id);

### mate_rr_screen_get_output_by_name ()

    MateRROutput *      mate_rr_screen_get_output_by_name   (MateRRScreen *screen,
                                                             const char *name);

### mate_rr_screen_get_crtc_by_id ()

    MateRRCrtc *        mate_rr_screen_get_crtc_by_id       (MateRRScreen *screen,
                                                             guint32 id);

### mate_rr_screen_get_ranges ()

    void                mate_rr_screen_get_ranges           (MateRRScreen *screen,
                                                             int *min_width,
                                                             int *max_width,
                                                             int *min_height,
                                                             int *max_height);