move around - flatter.
[profile/ivi/evas.git] / src / modules / engines / software_16_sdl / evas_engine.h
1 #ifndef EVAS_ENGINE_SDL_16_H
2 #define EVAS_ENGINE_SDL_16_H
3
4 #include "evas_common.h"
5 #include "evas_private.h"
6 #include "evas_common_soft16.h"
7 #include "Evas_Engine_SDL_16.h"
8
9 typedef struct _SDL_Engine_Image_Entry SDL_Engine_Image_Entry;
10 struct _SDL_Engine_Image_Entry
11 {
12   Engine_Image_Entry     cache_entry;
13
14   SDL_Surface           *surface;
15
16   struct
17   {
18     unsigned int         engine_surface : 1;
19   } flags;
20 };
21
22
23 typedef struct _Render_Engine Render_Engine;
24 struct _Render_Engine
25 {
26   SDL_Engine_Image_Entry        *soft16_engine_image;
27
28   Evas_Cache_Engine_Image       *cache;
29
30   Soft16_Image                  *tmp_out;
31
32   int                            w;
33   int                            h;
34   int                            rot;
35
36   Tilebuf                       *tb;
37   Tilebuf_Rect                  *rects;
38   Tilebuf_Rect                  *cur_rect;
39
40   SDL_Rect                      *update_rects;
41   int                            update_rects_count;
42   int                            update_rects_limit;
43
44   struct
45   {
46     unsigned int                 fullscreen : 1;
47     unsigned int                 noframe : 1;
48     unsigned int                 alpha : 1;
49     unsigned int                 hwsurface : 1;
50     unsigned int                 end : 1;
51   } flags;
52 };
53
54 #endif