73 lines
1.5 KiB
C
73 lines
1.5 KiB
C
#ifdef E_TYPEDEFS
|
|
|
|
typedef struct _E_Output_Mode E_Output_Mode;
|
|
typedef struct _E_Output E_Output;
|
|
|
|
#else
|
|
# ifndef E_OUTPUT_H
|
|
# define E_OUTPUT_H
|
|
|
|
struct _E_Output_Mode
|
|
{
|
|
Evas_Coord w, h;
|
|
unsigned int refresh;
|
|
unsigned int flags;
|
|
};
|
|
|
|
struct _E_Output
|
|
{
|
|
unsigned int id;
|
|
|
|
E_Compositor *compositor;
|
|
|
|
Evas_Coord x, y, w, h;
|
|
Evas_Coord mm_w, mm_h;
|
|
char *make, *model;
|
|
unsigned int subpixel;
|
|
unsigned int transform;
|
|
|
|
Eina_List *modes;
|
|
E_Output_Mode *current, *original;
|
|
|
|
Eina_Bool dirty : 1;
|
|
|
|
struct
|
|
{
|
|
pixman_region32_t region;
|
|
pixman_region32_t prev_damage;
|
|
|
|
Eina_Bool needed : 1;
|
|
Eina_Bool scheduled : 1;
|
|
} repaint;
|
|
|
|
struct
|
|
{
|
|
struct wl_list link;
|
|
struct wl_list resources;
|
|
struct wl_global *global;
|
|
} wl;
|
|
|
|
struct
|
|
{
|
|
struct wl_signal frame;
|
|
struct wl_signal destroy;
|
|
} signals;
|
|
|
|
void *state;
|
|
|
|
/* TODO: add backlight and dpms support */
|
|
|
|
void (*cb_repaint_start)(E_Output *output);
|
|
void (*cb_repaint)(E_Output *output, pixman_region32_t *damage);
|
|
void (*cb_destroy)(E_Output *output);
|
|
};
|
|
|
|
EAPI void e_output_init(E_Output *output, E_Compositor *comp, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, unsigned int transform);
|
|
EAPI void e_output_shutdown(E_Output *output);
|
|
EAPI void e_output_repaint(E_Output *output, unsigned int secs);
|
|
EAPI void e_output_repaint_schedule(E_Output *output);
|
|
EAPI void e_output_damage(E_Output *output);
|
|
|
|
# endif
|
|
#endif
|