Add new randr header file.

Signed-off-by: Christopher Michael <cp.michael@samsung.com>

SVN revision: 84109
This commit is contained in:
Christopher Michael 2013-02-19 10:54:39 +00:00 committed by Christopher Michael
parent 4c13cd354d
commit 734e841eb3
1 changed files with 76 additions and 0 deletions

76
src/bin/e_randr.h Normal file
View File

@ -0,0 +1,76 @@
#ifdef E_TYPEDEFS
typedef struct _E_Randr_Output_Config E_Randr_Output_Config;
typedef struct _E_Randr_Crtc_Config E_Randr_Crtc_Config;
typedef struct _E_Randr_Config E_Randr_Config;
#else
# ifndef E_RANDR_H
# define E_RANDR_H
#define E_RANDR_CONFIG_FILE_EPOCH 1
#define E_RANDR_CONFIG_FILE_GENERATION 1
#define E_RANDR_CONFIG_FILE_VERSION \
((E_RANDR_CONFIG_FILE_EPOCH * 1000000) + E_RANDR_CONFIG_FILE_GENERATION)
struct _E_Randr_Output_Config
{
unsigned int xid; // ecore_x_randr output id (xid)
unsigned int crtc; // ecore_x_randr crtc id (xid)
unsigned int policy; // value of the ecore_x_randr_output_policy
unsigned char primary; // flag to indicate if primary output
unsigned long edid_count; // monitor's edid length
unsigned char *edid; // monitor's edid
double timestamp; // config timestamp
};
struct _E_Randr_Crtc_Config
{
unsigned int xid; // ecore_x_randr crtc id (xid)
int x, y, width, height; // geometry
unsigned int orient; // value of the ecore_x_randr_orientation
unsigned int mode; // ecore_x_randr mode id (xid)
Eina_List *outputs; // list of outputs for this crtc
double timestamp; // config timestamp
};
struct _E_Randr_Config
{
/* RANDR CONFIG
*
* Screen:
* width, height (int);
*
* list of crtcs
* each crtc having:
* unsigned int crtc_id (Ecore_X_ID);
* int x, y, w, h; (Eina_Rectangle);
* unsigned int orientation (Ecore_X_Randr_Orienation);
* unsigned int mode_id (Ecore_X_ID);
* list of outputs
* each output having:
* unsigned int output_id (Ecore_X_ID);
* unsigned int crtc_id (Ecore_X_ID);
* unsigned int output_policy;
*/
int version; // INTERNAL CONFIG VERSION
struct
{
int width, height; // geometry
double timestamp; // config timestamp
} screen;
Eina_List *crtcs;
};
EINTERN Eina_Bool e_randr_init(void);
EINTERN int e_randr_shutdown(void);
EAPI Eina_Bool e_randr_config_save(void);
extern EAPI E_Randr_Config *e_randr_cfg;
# endif
#endif