move around - flatter.
[profile/ivi/evas.git] / src / modules / engines / software_16_wince / evas_engine.h
1 #ifndef __EVAS_ENGINE_H__
2 #define __EVAS_ENGINE_H__
3
4
5 #define WIN32_LEAN_AND_MEAN
6 #include <windows.h>
7 #undef WIN32_LEAN_AND_MEAN
8
9 #include "evas_common_soft16.h"
10
11
12 typedef struct _FB_Output_Buffer FB_Output_Buffer;
13
14 struct _FB_Output_Buffer
15 {
16    Soft16_Image *im;
17    void         *priv;
18 };
19
20
21 /* Raw FrameBuffer */
22
23 void             *evas_software_wince_fb_init (HWND window,
24                                                int  width,
25                                                int  height);
26 FB_Output_Buffer *evas_software_wince_fb_output_buffer_new (void *priv,
27                                                             int   width,
28                                                             int   height);
29 void              evas_software_wince_fb_shutdown(void *priv);
30 void              evas_software_wince_fb_output_buffer_free (FB_Output_Buffer *fbob);
31 void              evas_software_wince_fb_output_buffer_paste (FB_Output_Buffer *fbob);
32
33 void              evas_software_wince_fb_surface_resize(FB_Output_Buffer *fbob);
34
35
36 /* GAPI */
37
38 void             *evas_software_wince_gapi_init (HWND window,
39                                                  int  width,
40                                                  int  height);
41 FB_Output_Buffer *evas_software_wince_gapi_output_buffer_new (void *priv,
42                                                               int   width,
43                                                               int   height);
44 void              evas_software_wince_gapi_shutdown(void *priv);
45 void              evas_software_wince_gapi_output_buffer_free (FB_Output_Buffer *fbob);
46 void              evas_software_wince_gapi_output_buffer_paste (FB_Output_Buffer *fbob);
47
48 void              evas_software_wince_gapi_surface_resize(FB_Output_Buffer *fbob);
49
50 void             *evas_software_wince_gapi_default_keys(void);
51 int               evas_software_wince_gapi_suspend(void);
52 int               evas_software_wince_gapi_resume(void);
53
54
55 /* DirectDraw */
56
57 #ifdef __cplusplus
58 extern "C" {
59 #endif
60
61
62 void             *evas_software_wince_ddraw_init (HWND window,
63                                                   int  width,
64                                                   int  height);
65 FB_Output_Buffer *evas_software_wince_ddraw_output_buffer_new (void *priv,
66                                                                int   width,
67                                                                int   height);
68 void              evas_software_wince_ddraw_shutdown(void *priv);
69 void              evas_software_wince_ddraw_output_buffer_free (FB_Output_Buffer *fbob);
70 void              evas_software_wince_ddraw_output_buffer_paste (FB_Output_Buffer *fbob);
71
72 void              evas_software_wince_ddraw_surface_resize(FB_Output_Buffer *fbob);
73
74
75 #ifdef __cplusplus
76 }
77 #endif
78
79
80 #endif /* __EVAS_ENGINE_H__ */