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

## Synopsis

    #include <libmateui/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);

`screen` : |
`data` : |

### mate_rr_screen_new ()

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

`screen` : |
`callback` : |
`data` : |
`error` : |
Returns : |

### mate_rr_screen_destroy ()

    void                mate_rr_screen_destroy             (MateRRScreen *screen);

`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);

`screen` : |
Returns : |

### mate_rr_screen_list_crtcs ()

    MateRRCrtc **      mate_rr_screen_list_crtcs          (MateRRScreen *screen);

`screen` : |
Returns : |

### mate_rr_screen_list_modes ()

    MateRRMode **      mate_rr_screen_list_modes          (MateRRScreen *screen);

`screen` : |
Returns : |

### mate_rr_screen_list_clone_modes ()

    MateRRMode **      mate_rr_screen_list_clone_modes    (MateRRScreen *screen);

`screen` : |
Returns : |

### mate_rr_screen_set_size ()

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

`screen` : |
`width` : |
`height` : |
`mm_width` : |
`mm_height` : |

### mate_rr_screen_get_output_by_id ()

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

`screen` : |
`id` : |
Returns : |

### mate_rr_screen_get_output_by_name ()

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

`screen` : |
`name` : |
Returns : |

### mate_rr_screen_get_crtc_by_id ()

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

`screen` : |
`id` : |
Returns : |

### 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);

`screen` : |
`min_width` : |
`max_width` : |
`min_height` : |
`max_height` : |