24 #include <X11/extensions/Xrandr.h>
34 Rotation cur_rotation;
40 struct ScreenInfo *screen_info;
46 struct CrtcInfo *cur_crtc;
55 XRRScreenResources *res;
56 int min_width, min_height;
57 int max_width, max_height;
65 struct OutputInfo **outputs;
66 struct CrtcInfo **crtcs;
69 struct CrtcInfo *primary_crtc;
71 struct CrtcInfo *cur_crtc;
72 struct OutputInfo *cur_output;
75 extern struct ScreenInfo *screen_info;
76 extern const uint big_pixbuf[], small_pixbuf[];
81 void free_screen_info (
struct ScreenInfo *screen_info);
83 struct ScreenInfo* internal_read_screen_info (Display *);
85 int internal_set_screen_size (
struct ScreenInfo *screen_info);
86 void internal_output_auto (
struct ScreenInfo *screen_info,
struct OutputInfo *output_info);
87 void internal_output_off (
struct ScreenInfo *screen_info,
struct OutputInfo *output);
88 void internal_output_set_primary (
struct ScreenInfo *screen_info, RROutput output_id);
89 struct CrtcInfo* internal_auto_find_crtc (
struct ScreenInfo *screen_info,
struct OutputInfo *output_info);
91 XRRModeInfo *internal_find_mode_by_xid (
struct ScreenInfo *screen_info, RRMode mode_id);
92 int internal_mode_height (XRRModeInfo *mode_info, Rotation rotation);
93 int internal_mode_width (XRRModeInfo *mode_info, Rotation rotation);
94 int internal_get_width_by_output_id (
struct ScreenInfo *screen_info, RROutput output_id);
95 int internal_get_height_by_output_id (
struct ScreenInfo *screen_info, RROutput output_id);
96 char *internal_get_output_name (
struct ScreenInfo *screen_info, RROutput
id);
97 Status internal_crtc_apply (
struct CrtcInfo *crtc_info);
98 Status internal_crtc_disable (
struct CrtcInfo *crtc);
99 int internal_main_low_apply (
struct ScreenInfo *screen_info);