summaryrefslogtreecommitdiff
path: root/legacy/ecore/src/lib/ecore_evas/Ecore_Evas.h
blob: bd38f46bdfdb905183dce407a2e20f187e72c04c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#ifndef _ECORE_EVAS_H
#define _ECORE_EVAS_H

/**
 * @file Ecore_Evas.h
 * @brief Evas wrapper functions
 */

/* FIXME:
 * to do soon:
 * - iconfication api needs to work
 * - maximization api nees to work
 * - document all calls
 * 
 * later:
 * - buffer back-end that renders to an evas_image_object ???
 * - qt back-end ???
 * - dfb back-end ??? (dfb's threads make this REALLY HARD)
 */

#include <Evas.h>

#ifdef __cplusplus
extern "C" {
#endif

/* these are dummy and just tell u what API levels ecore_evas supports - not if
 * the actual support is compiled in. you need to query for that separately.
 */
#define HAVE_ECORE_EVAS_X 1
#define HAVE_ECORE_EVAS_FB 1
#define HAVE_ECORE_EVAS_GL 1

typedef enum
{
   ECORE_EVAS_ENGINE_SOFTWARE_X11,
   ECORE_EVAS_ENGINE_SOFTWARE_FB,
   ECORE_EVAS_ENGINE_GL_X11
} Ecore_Evas_Engine_Type;

#ifndef _ECORE_X_H
#define _ECORE_X_WINDOW_PREDEF
typedef unsigned int Ecore_X_Window;
#endif
   
#ifndef _ECORE_EVAS_PRIVATE_H
/* basic data types */
typedef void Ecore_Evas;
#endif

/* module setup/shutdown calls */

int         ecore_evas_engine_type_supported_get(Ecore_Evas_Engine_Type engine);
       
int         ecore_evas_init(void);
int         ecore_evas_shutdown(void);

/* engine/target specific init calls */
Ecore_Evas     *ecore_evas_software_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
Ecore_X_Window  ecore_evas_software_x11_window_get(Ecore_Evas *ee);
   
Ecore_Evas     *ecore_evas_gl_x11_new(const char *disp_name, Ecore_X_Window parent, int x, int y, int w, int h);
Ecore_X_Window  ecore_evas_gl_x11_window_get(Ecore_Evas *ee);

Ecore_Evas     *ecore_evas_fb_new(char *disp_name, int rotation, int w, int h);

/* generic manipulation calls */
void        ecore_evas_free(Ecore_Evas *ee);
void       *ecore_evas_data_get(Ecore_Evas *ee, const char *key);
void        ecore_evas_data_set(Ecore_Evas *ee, const char *key, const void *data);
void        ecore_evas_callback_resize_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_move_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_show_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_hide_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_delete_request_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_destroy_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_focus_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_focus_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_mouse_in_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_mouse_out_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_pre_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
void        ecore_evas_callback_post_render_set(Ecore_Evas *ee, void (*func) (Ecore_Evas *ee));
Evas       *ecore_evas_get(Ecore_Evas *ee);
void        ecore_evas_move(Ecore_Evas *ee, int x, int y);
void        ecore_evas_resize(Ecore_Evas *ee, int w, int h);
void        ecore_evas_move_resize(Ecore_Evas *ee, int x, int y, int w, int h);
void        ecore_evas_geometry_get(Ecore_Evas *ee, int *x, int *y, int *w, int *h);
void        ecore_evas_rotation_set(Ecore_Evas *ee, int rot);
int         ecore_evas_rotation_get(Ecore_Evas *ee);
void        ecore_evas_shaped_set(Ecore_Evas *ee, int shaped);
int         ecore_evas_shaped_get(Ecore_Evas *ee);
void        ecore_evas_show(Ecore_Evas *ee);
void        ecore_evas_hide(Ecore_Evas *ee);   
int         ecore_evas_visibility_get(Ecore_Evas *ee);
void        ecore_evas_raise(Ecore_Evas *ee);
void        ecore_evas_lower(Ecore_Evas *ee);       
void        ecore_evas_title_set(Ecore_Evas *ee, const char *t);
const char *ecore_evas_title_get(Ecore_Evas *ee);
void        ecore_evas_name_class_set(Ecore_Evas *ee, const char *n, const char *c);
void        ecore_evas_name_class_get(Ecore_Evas *ee, const char **n, const char **c);
void        ecore_evas_size_min_set(Ecore_Evas *ee, int w, int h);
void        ecore_evas_size_min_get(Ecore_Evas *ee, int *w, int *h);
void        ecore_evas_size_max_set(Ecore_Evas *ee, int w, int h);
void        ecore_evas_size_max_get(Ecore_Evas *ee, int *w, int *h);
void        ecore_evas_size_base_set(Ecore_Evas *ee, int w, int h);
void        ecore_evas_size_base_get(Ecore_Evas *ee, int *w, int *h);
void        ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h);
void        ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h);
void        ecore_evas_cursor_set(Ecore_Evas *ee, const char *file, int layer, int hot_x, int hot_y);
void        ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int *hot_x, int *hot_y);
void        ecore_evas_layer_set(Ecore_Evas *ee, int layer);
int         ecore_evas_layer_get(Ecore_Evas *ee);
void        ecore_evas_focus_set(Ecore_Evas *ee, int on);
int         ecore_evas_focus_get(Ecore_Evas *ee);
void        ecore_evas_iconified_set(Ecore_Evas *ee, int on);
int         ecore_evas_iconified_get(Ecore_Evas *ee);
void        ecore_evas_borderless_set(Ecore_Evas *ee, int on);
int         ecore_evas_borderless_get(Ecore_Evas *ee);
void        ecore_evas_override_set(Ecore_Evas *ee, int on);
int         ecore_evas_override_get(Ecore_Evas *ee);
void        ecore_evas_maximized_set(Ecore_Evas *ee, int on);
int         ecore_evas_maximized_get(Ecore_Evas *ee);
void        ecore_evas_fullscreen_set(Ecore_Evas *ee, int on);
int         ecore_evas_fullscreen_get(Ecore_Evas *ee);
void        ecore_evas_avoid_damage_set(Ecore_Evas *ee, int on);
int         ecore_evas_avoid_damage_get(Ecore_Evas *ee);
void        ecore_evas_withdrawn_set(Ecore_Evas *ee, int withdrawn);
int         ecore_evas_withdrawn_get(Ecore_Evas *ee);
void        ecore_evas_sticky_set(Ecore_Evas *ee, int sticky);
int         ecore_evas_sticky_get(Ecore_Evas *ee);

#ifdef __cplusplus
}
#endif

#endif