devilhorns pushed a commit to branch master.

commit 83151516e812ef2f36cee1446f740b5eb55f936d
Author: Chris Michael <[email protected]>
Date:   Tue Apr 16 13:47:02 2013 +0100

    Add output and output_mode structures.
    
    These are needed in the drm backend.
    
    Signed-off-by: Chris Michael <[email protected]>
---
 src/bin/e_comp_wl.h | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/src/bin/e_comp_wl.h b/src/bin/e_comp_wl.h
index 2451252..70e142a 100644
--- a/src/bin/e_comp_wl.h
+++ b/src/bin/e_comp_wl.h
@@ -38,6 +38,8 @@ typedef struct _E_Wayland_Shell_Grab E_Wayland_Shell_Grab;
 typedef struct _E_Wayland_Keyboard_Info E_Wayland_Keyboard_Info;
 typedef struct _E_Wayland_Input E_Wayland_Input;
 typedef struct _E_Wayland_Compositor E_Wayland_Compositor;
+typedef struct _E_Wayland_Output E_Wayland_Output;
+typedef struct _E_Wayland_Ouput_Mode E_Wayland_Output_Mode;
 
 enum _E_Wayland_Shell_Surface_Type
 {
@@ -277,6 +279,72 @@ struct _E_Wayland_Compositor
    void (*ping_cb) (E_Wayland_Surface *ews, unsigned int serial);
 };
 
+struct _E_Wayland_Output
+{
+   unsigned int id;
+
+   void *render_state;
+
+   struct 
+     {
+        struct wl_list link;
+        struct wl_list resources;
+        struct wl_global *global;
+     } wl;
+
+   E_Wayland_Compositor *compositor;
+
+   struct 
+     {
+        Evas_Coord x, y, w, h;
+        Evas_Coord mm_w, mm_h;
+     } geometry;
+
+   pixman_region32_t region, prev_damage;
+
+   struct 
+     {
+        Eina_Bool needed : 1;
+        Eina_Bool scheduled : 1;
+     } repaint;
+
+   Eina_Bool dirty : 1;
+
+   struct 
+     {
+        struct wl_signal sig;
+        unsigned int timestamp;
+     } frame;
+
+   char *make, *model;
+   unsigned int subpixel, transform;
+
+   struct 
+     {
+        E_Wayland_Output_Mode *current;
+        E_Wayland_Output_Mode *origin;
+        struct wl_list list;
+     } mode;
+
+   void (*repaint) (E_Wayland_Output *output, pixman_region32_t *damage);
+   void (*destroy) (E_Wayland_Output *output);
+   int (*switch_mode) (E_Wayland_Output *output, E_Wayland_Output_Mode *mode);
+
+   /* TODO: add backlight support */
+};
+
+struct _E_Wayland_Output_Mode
+{
+   struct 
+     {
+        struct wl_list link;
+     } wl;
+
+   unsigned int flags;
+   Evas_Coord w, h;
+   unsigned int refresh;
+};
+
 /* external variables */
 extern E_Wayland_Compositor *_e_wl_comp;
 

-- 

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter

Reply via email to