aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libraries/evas/src/modules/engines/direct3d/evas_engine.h
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/evas/src/modules/engines/direct3d/evas_engine.h')
-rw-r--r--libraries/evas/src/modules/engines/direct3d/evas_engine.h125
1 files changed, 125 insertions, 0 deletions
diff --git a/libraries/evas/src/modules/engines/direct3d/evas_engine.h b/libraries/evas/src/modules/engines/direct3d/evas_engine.h
new file mode 100644
index 0000000..da1ebff
--- /dev/null
+++ b/libraries/evas/src/modules/engines/direct3d/evas_engine.h
@@ -0,0 +1,125 @@
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#include <d3d9.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#define EVAS_INLINE_ARRAY_H // We dont need that and it is buggy
15
16#include "evas_common.h"
17
18#ifdef __cplusplus
19}
20#endif
21
22
23//#define ENABLE_LOG_PRINTF
24
25extern int _evas_engine_direct3d_log_dom ;
26#ifdef ERR
27# undef ERR
28#endif
29#define ERR(...) EINA_LOG_DOM_ERR(_evas_engine_direct3d_log_dom, __VA_ARGS__)
30
31#ifdef DBG
32# undef DBG
33#endif
34#define DBG(...) EINA_LOG_DOM_DBG(_evas_engine_direct3d_log_dom, __VA_ARGS__)
35
36#ifdef INF
37# undef INF
38#endif
39#define INF(...) EINA_LOG_DOM_INFO(_evas_engine_direct3d_log_dom, __VA_ARGS__)
40
41#ifdef WRN
42# undef WRN
43#endif
44#define WRN(...) EINA_LOG_DOM_WARN(_evas_engine_direct3d_log_dom, __VA_ARGS__)
45
46#ifdef CRIT
47# undef CRIT
48#endif
49#define CRIT(...) EINA_LOG_DOM_CRIT(_evas_engine_direct3d_log_dom, __VA_ARGS__)
50
51#ifdef ENABLE_LOG_PRINTF
52#define Log(str, ...) INF("D3D "str, __VA_ARGS__)
53#else
54#define Log(str, ...)
55#endif
56
57typedef void * Direct3DDeviceHandler;
58typedef void * Direct3DImageHandler;
59typedef void * Direct3DFontGlyphHandler;
60
61
62#ifdef __cplusplus
63extern "C" {
64#endif
65
66// Main engine functions
67
68Direct3DDeviceHandler evas_direct3d_init(HWND window, int depth, int fullscreen);
69void evas_direct3d_free(Direct3DDeviceHandler d3d);
70void evas_direct3d_render_all(Direct3DDeviceHandler d3d);
71void evas_direct3d_resize(Direct3DDeviceHandler d3d, int width, int height);
72void evas_direct3d_set_fullscreen(Direct3DDeviceHandler d3d,
73 int width, int height, int fullscreen);
74void evas_direct3d_set_layered(Direct3DDeviceHandler d3d, int layered,
75 int mask_width, int mask_height, unsigned char *mask);
76
77
78// Context manipulations
79
80void evas_direct3d_context_color_set(Direct3DDeviceHandler d3d, int r, int g, int b, int a);
81void evas_direct3d_context_set_multiplier(Direct3DDeviceHandler d3d, int r, int g, int b, int a);
82
83// Simple objects
84
85void evas_direct3d_line_draw(Direct3DDeviceHandler d3d, int x1, int y1, int x2, int y2);
86void evas_direct3d_rectangle_draw(Direct3DDeviceHandler d3d, int x, int y, int w, int h);
87
88// Images
89
90Direct3DImageHandler evas_direct3d_image_load(Direct3DDeviceHandler d3d,
91 const char *file, const char *key, int *error, Evas_Image_Load_Opts *lo);
92Direct3DImageHandler evas_direct3d_image_new_from_data(Direct3DDeviceHandler d3d,
93 int w, int h, DWORD *image_data, int alpha, int cspace);
94Direct3DImageHandler evas_direct3d_image_new_from_copied_data(Direct3DDeviceHandler d3d,
95 int w, int h, DWORD *image_data, int alpha, int cspace);
96void evas_direct3d_image_free(Direct3DDeviceHandler d3d, Direct3DImageHandler image);
97void evas_direct3d_image_data_put(Direct3DDeviceHandler d3d, Direct3DImageHandler image,
98 DWORD *image_data);
99void evas_direct3d_image_data_get(Direct3DDeviceHandler d3d, Direct3DImageHandler image,
100 int to_write, DATA32 **image_data);
101void evas_direct3d_image_draw(Direct3DDeviceHandler d3d, Direct3DImageHandler image,
102 int src_x, int src_y, int src_w, int src_h,
103 int dst_x, int dst_y, int dst_w, int dst_h, int smooth);
104void evas_direct3d_image_size_get(Direct3DImageHandler image, int *w, int *h);
105void evas_direct3d_image_border_set(Direct3DDeviceHandler d3d, Direct3DImageHandler image,
106 int l, int r, int t, int b);
107void evas_direct3d_image_border_get(Direct3DDeviceHandler d3d, Direct3DImageHandler image,
108 int *l, int *r, int *t, int *b);
109
110// Fonts
111
112Direct3DFontGlyphHandler evas_direct3d_font_texture_new(Direct3DDeviceHandler d3d,
113 RGBA_Font_Glyph *fg);
114void evas_direct3d_font_texture_free(Direct3DFontGlyphHandler ft);
115void evas_direct3d_font_texture_draw(Direct3DDeviceHandler d3d, void *dest, void *context,
116 RGBA_Font_Glyph *fg, int x, int y);
117void evas_direct3d_select_or_create_font(Direct3DDeviceHandler d3d, void *font);
118void evas_direct3d_font_free(Direct3DDeviceHandler d3d, void *font);
119
120#ifdef __cplusplus
121}
122#endif
123
124
125#endif /* __EVAS_ENGINE_H__ */