3 typedef struct _E_Randr_Crtc_Info E_Randr_Crtc_Info;
4 typedef struct _E_Randr_Output_Info E_Randr_Output_Info;
5 typedef struct _E_Randr_Screen_Info_11 E_Randr_Screen_Info_11;
6 typedef struct _E_Randr_Screen_Info_12 E_Randr_Screen_Info_12;
7 typedef union _E_Randr_Screen_RRVD_Info E_Randr_Screen_RRVD_Info;
8 typedef struct _E_Randr_Screen_Info E_Randr_Screen_Info;
9 typedef struct _E_Randr_Output_Edid_Hash E_Randr_Output_Edid_Hash;
10 typedef struct _E_Randr_Output_Restore_Info E_Randr_Output_Restore_Info;
11 typedef struct _E_Randr_Crtc_Restore_Info E_Randr_Crtc_Restore_Info;
12 typedef struct _E_Randr_Screen_Restore_Info_11 E_Randr_Screen_Restore_Info_11;
13 typedef struct _E_Randr_Screen_Restore_Info_12 E_Randr_Screen_Restore_Info_12;
14 typedef union _E_Randr_Screen_Restore_Info_Union E_Randr_Screen_Restore_Info_Union;
15 typedef struct _E_Randr_Screen_Restore_Info E_Randr_Screen_Restore_Info;
21 struct _E_Randr_Crtc_Info
24 Eina_Rectangle geometry;
25 Eina_Rectangle panning;
26 Eina_Rectangle tracking;
27 Eina_Rectangle border;
28 Ecore_X_Randr_Orientation current_orientation;
29 Ecore_X_Randr_Orientation orientations;
30 Ecore_X_Randr_Crtc_Gamma **gamma_ramps;
33 Eina_List *possible_outputs;
34 Eina_List *outputs_common_modes;
35 Ecore_X_Randr_Mode_Info *current_mode;
38 struct _E_Randr_Output_Info
43 E_Randr_Crtc_Info *crtc;
44 Eina_List *wired_clones;
45 Ecore_X_Randr_Signal_Format signalformats;
46 Ecore_X_Randr_Signal_Format signalformat;
48 Ecore_X_Randr_Connector_Type connector_type;
49 Ecore_X_Randr_Connection_Status connection_status;
51 * Attached Monitor specific:
54 Eina_List *preferred_modes;
56 Eina_List *possible_crtcs;
57 Ecore_X_Randr_Screen_Size size_mm;
59 unsigned long edid_length;
61 double backlight_level;
62 Ecore_X_Render_Subpixel_Order subpixel_order;
63 Eina_List *compatible_outputs;
66 struct _E_Randr_Screen_Info_11
68 //List of Ecore_X_Randr_Screen_Size_MM*
71 Ecore_X_Randr_Orientation corientation;
72 Ecore_X_Randr_Orientation orientations;
73 //List of Ecore_X_Randr_Refresh_Rate*
75 Ecore_X_Randr_Refresh_Rate current_rate;
78 struct _E_Randr_Screen_Info_12
80 Ecore_X_Randr_Screen_Size min_size;
81 Ecore_X_Randr_Screen_Size max_size;
82 Ecore_X_Randr_Screen_Size current_size;
86 E_Randr_Output_Info *primary_output;
87 Ecore_X_Randr_Output_Policy output_policy;
88 Ecore_X_Randr_Relative_Alignment alignment;
91 //RRVD == RandR(R) Version Depended
92 union _E_Randr_Screen_RRVD_Info
94 E_Randr_Screen_Info_11 *randr_info_11;
95 E_Randr_Screen_Info_12 *randr_info_12;
98 struct _E_Randr_Screen_Info
102 E_Randr_Screen_RRVD_Info rrvd_info;
105 //Following stuff is just for configuration purposes
106 struct _E_Randr_Output_Edid_Hash {
110 struct _E_Randr_Output_Restore_Info
112 E_Randr_Output_Edid_Hash edid_hash;
113 double backlight_level;
116 struct _E_Randr_Crtc_Restore_Info
118 Eina_Rectangle geometry;
119 Ecore_X_Randr_Orientation orientation;
120 //list of the outputs;
124 struct _E_Randr_Screen_Restore_Info_11
126 Ecore_X_Randr_Screen_Size size;
127 Ecore_X_Randr_Refresh_Rate refresh_rate;
128 Ecore_X_Randr_Orientation orientation;
131 struct _E_Randr_Screen_Restore_Info_12
133 Eina_List *outputs_edid_hashes;
136 Ecore_X_Randr_Output_Policy output_policy;
137 Ecore_X_Randr_Relative_Alignment alignment;
140 union _E_Randr_Screen_Restore_Info_Union
142 E_Randr_Screen_Restore_Info_11 *restore_info_11;
143 Eina_List *restore_info_12;
146 struct _E_Randr_Screen_Restore_Info
149 E_Randr_Screen_Restore_Info_Union rrvd_restore_info;
152 EINTERN Eina_Bool e_randr_init(void);
153 EINTERN int e_randr_shutdown(void);
155 extern E_Randr_Screen_Info *e_randr_screen_info;