diff --git a/legacy/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h b/legacy/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h index abb2ee8618..30aa82b2a0 100644 --- a/legacy/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h +++ b/legacy/ecore/src/lib/ecore_directfb/Ecore_DirectFB.h @@ -5,29 +5,28 @@ #ifdef EAPI #undef EAPI -#endif +#endif /* ifdef EAPI */ #ifdef _MSC_VER # ifdef BUILDING_DLL # define EAPI __declspec(dllexport) -# else +# else /* ifdef BUILDING_DLL */ # define EAPI __declspec(dllimport) -# endif -#else +# endif /* ifdef BUILDING_DLL */ +#else /* ifdef _MSC_VER */ # ifdef __GNUC__ # if __GNUC__ >= 4 # define EAPI __attribute__ ((visibility("default"))) -# else +# else /* if __GNUC__ >= 4 */ # define EAPI -# endif -# else +# endif /* if __GNUC__ >= 4 */ +# else /* ifdef __GNUC__ */ # define EAPI -# endif -#endif - +# endif /* ifdef __GNUC__ */ +#endif /* ifdef _MSC_VER */ #ifdef __cplusplus extern "C" { -#endif +#endif /* ifdef __cplusplus */ EAPI extern int ECORE_DIRECTFB_EVENT_POSITION; EAPI extern int ECORE_DIRECTFB_EVENT_SIZE; @@ -44,148 +43,141 @@ EAPI extern int ECORE_DIRECTFB_EVENT_ENTER; EAPI extern int ECORE_DIRECTFB_EVENT_LEAVE; EAPI extern int ECORE_DIRECTFB_EVENT_WHEEL; - - #ifndef _ECORE_DIRECTFB_WINDOW_PREDEF -typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window; -#endif -typedef struct _Ecore_DirectFB_Cursor Ecore_DirectFB_Cursor; - -typedef struct _Ecore_DirectFB_Event_Key_Down Ecore_DirectFB_Event_Key_Down; -typedef struct _Ecore_DirectFB_Event_Key_Up Ecore_DirectFB_Event_Key_Up; -typedef struct _Ecore_DirectFB_Event_Button_Down Ecore_DirectFB_Event_Button_Down; -typedef struct _Ecore_DirectFB_Event_Button_Up Ecore_DirectFB_Event_Button_Up; -typedef struct _Ecore_DirectFB_Event_Motion Ecore_DirectFB_Event_Motion; -typedef struct _Ecore_DirectFB_Event_Enter Ecore_DirectFB_Event_Enter; -typedef struct _Ecore_DirectFB_Event_Leave Ecore_DirectFB_Event_Leave; -typedef struct _Ecore_DirectFB_Event_Wheel Ecore_DirectFB_Event_Wheel; -typedef struct _Ecore_DirectFB_Event_Got_Focus Ecore_DirectFB_Event_Got_Focus; -typedef struct _Ecore_DirectFB_Event_Lost_Focus Ecore_DirectFB_Event_Lost_Focus; +typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window; +#endif /* ifndef _ECORE_DIRECTFB_WINDOW_PREDEF */ +typedef struct _Ecore_DirectFB_Cursor Ecore_DirectFB_Cursor; +typedef struct _Ecore_DirectFB_Event_Key_Down Ecore_DirectFB_Event_Key_Down; +typedef struct _Ecore_DirectFB_Event_Key_Up Ecore_DirectFB_Event_Key_Up; +typedef struct _Ecore_DirectFB_Event_Button_Down Ecore_DirectFB_Event_Button_Down; +typedef struct _Ecore_DirectFB_Event_Button_Up Ecore_DirectFB_Event_Button_Up; +typedef struct _Ecore_DirectFB_Event_Motion Ecore_DirectFB_Event_Motion; +typedef struct _Ecore_DirectFB_Event_Enter Ecore_DirectFB_Event_Enter; +typedef struct _Ecore_DirectFB_Event_Leave Ecore_DirectFB_Event_Leave; +typedef struct _Ecore_DirectFB_Event_Wheel Ecore_DirectFB_Event_Wheel; +typedef struct _Ecore_DirectFB_Event_Got_Focus Ecore_DirectFB_Event_Got_Focus; +typedef struct _Ecore_DirectFB_Event_Lost_Focus Ecore_DirectFB_Event_Lost_Focus; /* this struct is to keep windows data (id, window itself and surface) in memory as every call * to DirectFB for this values (e.g window->GetSurface(window,&surface)) will increment the - * reference count, then we will have to release N times the data, so better we just ask for - them once */ + * reference count, then we will have to release N times the data, so better we just ask for + them once */ struct _Ecore_DirectFB_Window { - DFBWindowID id; - IDirectFBWindow *window; - IDirectFBSurface *surface; - Ecore_DirectFB_Cursor *cursor; - + DFBWindowID id; + IDirectFBWindow *window; + IDirectFBSurface *surface; + Ecore_DirectFB_Cursor *cursor; }; struct _Ecore_DirectFB_Cursor { - IDirectFBSurface *surface; - int hot_x; - int hot_y; - + IDirectFBSurface *surface; + int hot_x; + int hot_y; }; struct _Ecore_DirectFB_Event_Key_Down /** DirectFB Key Down event */ { - char *name; /**< The name of the key that was released */ - char *string; /**< The logical symbol of the key that was pressed */ - char *key_compose; /**< The UTF-8 string conversion if any */ - unsigned int time; - DFBWindowID win; + char *name; /**< The name of the key that was released */ + char *string; /**< The logical symbol of the key that was pressed */ + char *key_compose; /**< The UTF-8 string conversion if any */ + unsigned int time; + DFBWindowID win; }; - + struct _Ecore_DirectFB_Event_Key_Up /** DirectFB Key Up event */ { - char *name; /**< The name of the key that was released */ - char *string; /**< The logical symbol of the key that was pressed */ - char *key_compose; /**< The UTF-8 string conversion if any */ - unsigned int time; - DFBWindowID win; + char *name; /**< The name of the key that was released */ + char *string; /**< The logical symbol of the key that was pressed */ + char *key_compose; /**< The UTF-8 string conversion if any */ + unsigned int time; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Button_Down { - int button; - int modifiers; - int x, y; - unsigned int time; - int double_click : 1; - int triple_click : 1; - DFBWindowID win; + int button; + int modifiers; + int x, y; + unsigned int time; + int double_click : 1; + int triple_click : 1; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Button_Up { - int button; - int modifiers; - int x, y; - unsigned int time; - DFBWindowID win; + int button; + int modifiers; + int x, y; + unsigned int time; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Motion { - int modifiers; - int x, y; - unsigned int time; - DFBWindowID win; + int modifiers; + int x, y; + unsigned int time; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Enter { - int modifiers; - int x, y; - unsigned int time; - DFBWindowID win; + int modifiers; + int x, y; + unsigned int time; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Leave { - int modifiers; - int x, y; - unsigned int time; - DFBWindowID win; + int modifiers; + int x, y; + unsigned int time; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Wheel { - int direction; - int z; - int modifiers; - unsigned int time; - DFBWindowID win; + int direction; + int z; + int modifiers; + unsigned int time; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Got_Focus { - unsigned int time; - DFBWindowID win; + unsigned int time; + DFBWindowID win; }; struct _Ecore_DirectFB_Event_Lost_Focus { - unsigned int time; - DFBWindowID win; + unsigned int time; + DFBWindowID win; }; /* main functions */ -EAPI int ecore_directfb_init(const char *name); -EAPI int ecore_directfb_shutdown(void); -EAPI IDirectFB * ecore_directfb_interface_get(void); +EAPI int ecore_directfb_init(const char *name); +EAPI int ecore_directfb_shutdown(void); +EAPI IDirectFB * ecore_directfb_interface_get(void); /* window operations */ -EAPI Ecore_DirectFB_Window * ecore_directfb_window_new(int x, int y, int w, int h); -EAPI void ecore_directfb_window_free(Ecore_DirectFB_Window *window); -EAPI void ecore_directfb_window_move(Ecore_DirectFB_Window *window, int x, int y); -EAPI void ecore_directfb_window_resize(Ecore_DirectFB_Window *window, int w, int h); -EAPI void ecore_directfb_window_focus(Ecore_DirectFB_Window *window); -EAPI void ecore_directfb_window_show(Ecore_DirectFB_Window *window); -EAPI void ecore_directfb_window_hide(Ecore_DirectFB_Window *window); -EAPI void ecore_directfb_window_shaped_set(Ecore_DirectFB_Window *window, int set); -EAPI void ecore_directfb_window_fullscreen_set(Ecore_DirectFB_Window *window, int set); -EAPI void ecore_directfb_window_size_get(Ecore_DirectFB_Window *window, int *w, int *h); -EAPI void ecore_directfb_window_cursor_show(Ecore_DirectFB_Window *window, int show); - - +EAPI Ecore_DirectFB_Window * ecore_directfb_window_new(int x, int y, int w, int h); +EAPI void ecore_directfb_window_free(Ecore_DirectFB_Window *window); +EAPI void ecore_directfb_window_move(Ecore_DirectFB_Window *window, int x, int y); +EAPI void ecore_directfb_window_resize(Ecore_DirectFB_Window *window, int w, int h); +EAPI void ecore_directfb_window_focus(Ecore_DirectFB_Window *window); +EAPI void ecore_directfb_window_show(Ecore_DirectFB_Window *window); +EAPI void ecore_directfb_window_hide(Ecore_DirectFB_Window *window); +EAPI void ecore_directfb_window_shaped_set(Ecore_DirectFB_Window *window, int set); +EAPI void ecore_directfb_window_fullscreen_set(Ecore_DirectFB_Window *window, int set); +EAPI void ecore_directfb_window_size_get(Ecore_DirectFB_Window *window, int *w, int *h); +EAPI void ecore_directfb_window_cursor_show(Ecore_DirectFB_Window *window, int show); #ifdef __cplusplus } -#endif +#endif /* ifdef __cplusplus */ -#endif +#endif /* ifndef _ECORE_DIRECTFB_H */ diff --git a/legacy/ecore/src/lib/ecore_directfb/ecore_directfb.c b/legacy/ecore/src/lib/ecore_directfb/ecore_directfb.c index e6bf2d6475..f7c5930be2 100644 --- a/legacy/ecore/src/lib/ecore_directfb/ecore_directfb.c +++ b/legacy/ecore/src/lib/ecore_directfb/ecore_directfb.c @@ -4,7 +4,7 @@ #ifdef HAVE_CONFIG_H # include -#endif +#endif /* ifdef HAVE_CONFIG_H */ #include #include @@ -21,11 +21,10 @@ /* with this you can create windows of directfb and handle events through ecore * TODO: * - handle all event types - * - + * - * */ int _ecore_directfb_log_dom = -1; - static int _ecore_directfb_init_count = 0; static int _window_event_fd = 0; @@ -50,20 +49,17 @@ EAPI int ECORE_DIRECTFB_EVENT_ENTER = 0; EAPI int ECORE_DIRECTFB_EVENT_LEAVE = 0; EAPI int ECORE_DIRECTFB_EVENT_WHEEL = 0; - static Ecore_Fd_Handler *_window_event_fd_handler_handle = NULL; static Ecore_Fd_Handler *_input_event_fd_handler_handle = NULL; /* this hash is to store all the possible key names for fast lookup */ static Eina_Hash *_ecore_directfb_key_symbols_hash = NULL; - -static IDirectFB *_dfb = NULL; // the main interface -static IDirectFBEventBuffer *_window_event; // the main event buffer (all windows are attached to this) -static IDirectFBEventBuffer *_input_event; // the main event buffer (all windows are attached to this) -static IDirectFBDisplayLayer *_layer; // the main layer -static DFBResult _err; // usefull for DFBCHECK - +static IDirectFB *_dfb = NULL; // the main interface +static IDirectFBEventBuffer *_window_event; // the main event buffer (all windows are attached to this) +static IDirectFBEventBuffer *_input_event; // the main event buffer (all windows are attached to this) +static IDirectFBDisplayLayer *_layer; // the main layer +static DFBResult _err; // usefull for DFBCHECK /*******************/ /* local functions */ @@ -72,30 +68,41 @@ static DFBResult _err; // usefull for DFBCHECK /* free ecore directfb events functions */ /****************************************/ -static void +static void _ecore_directfb_event_free_key_down(void *data __UNUSED__, void *ev) { Ecore_DirectFB_Event_Key_Up *e; - + e = ev; - if(e->name) free(e->name); - if (e->string) free(e->string); - if (e->key_compose) free(e->key_compose); + if(e->name) + free(e->name); + + if (e->string) + free(e->string); + + if (e->key_compose) + free(e->key_compose); + free(e); -} +} /* _ecore_directfb_event_free_key_down */ static void _ecore_directfb_event_free_key_up(void *data __UNUSED__, void *ev) { Ecore_DirectFB_Event_Key_Up *e; - - e = ev; - if(e->name) free(e->name); - if (e->string) free(e->string); - if (e->key_compose) free(e->key_compose); - free(e); -} + e = ev; + if(e->name) + free(e->name); + + if (e->string) + free(e->string); + + if (e->key_compose) + free(e->key_compose); + + free(e); +} /* _ecore_directfb_event_free_key_up */ /* directfb window input events handler */ /****************************************/ @@ -103,288 +110,290 @@ _ecore_directfb_event_free_key_up(void *data __UNUSED__, void *ev) static void _ecore_directfb_event_handle_motion(DFBEvent *evt) { + Ecore_DirectFB_Event_Motion *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Motion)); - Ecore_DirectFB_Event_Motion *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Motion)); + switch(evt->clazz) + { + case DFEC_INPUT: + e->modifiers = 0; + switch(evt->input.axis) + { + case DIAI_X: + e->x = _cursor_x = evt->input.axisabs; + e->y = _cursor_y; + break; + + case DIAI_Y: + e->y = _cursor_y = evt->input.axisabs; + e->x = _cursor_x; + break; + + case DIAI_Z: + //_ecore_directfb_event_handle_wheel(evt); + return; + + default: + return; + } /* switch */ + e->win = _ecore_directfb_fullscreen_window_id; + e->time = 0; + break; + + case DFEC_WINDOW: + e->modifiers = 0; + e->x = evt->window.x; + e->y = evt->window.y; + e->win = evt->window.window_id; + e->time = 0; + break; + + default: + break; + } /* switch */ + ecore_event_add(ECORE_DIRECTFB_EVENT_MOTION, e, NULL, NULL); +} /* _ecore_directfb_event_handle_motion */ - switch(evt->clazz) - { - case DFEC_INPUT: - e->modifiers = 0; - switch(evt->input.axis) - { - case DIAI_X: - e->x = _cursor_x = evt->input.axisabs; - e->y = _cursor_y; - break; - case DIAI_Y: - e->y = _cursor_y = evt->input.axisabs; - e->x = _cursor_x; - break; - case DIAI_Z: - //_ecore_directfb_event_handle_wheel(evt); - return; - default: - return; - } - e->win = _ecore_directfb_fullscreen_window_id; - e->time = 0; - break; - - case DFEC_WINDOW: - e->modifiers = 0; - e->x = evt->window.x; - e->y = evt->window.y; - e->win = evt->window.window_id; - e->time = 0; - break; - default: - break; - } - ecore_event_add(ECORE_DIRECTFB_EVENT_MOTION, e, NULL, NULL); -} static void _ecore_directfb_event_handle_key_down(DFBEvent *evt) { + Ecore_DirectFB_Event_Key_Down *e; + unsigned int key_symbol; + struct keymap *k; - Ecore_DirectFB_Event_Key_Down *e; - unsigned int key_symbol; - struct keymap *k; - - e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Down)); - - switch(evt->clazz) - { - case DFEC_INPUT: - key_symbol = evt->input.key_symbol; - k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); + e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Down)); - if(!k) - { - ERR("Symbol %0X of class DFEC_INPUT not found.", evt->input.key_symbol); - return; - } - e->name = strdup(k->name); - e->string = strdup(k->string); - e->key_compose = NULL; - e->win = _ecore_directfb_fullscreen_window_id; - e->time = 0; - break; - - case DFEC_WINDOW: - key_symbol = evt->window.key_symbol; - k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); + switch(evt->clazz) + { + case DFEC_INPUT: + key_symbol = evt->input.key_symbol; + k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); + + if(!k) + { + ERR("Symbol %0X of class DFEC_INPUT not found.", evt->input.key_symbol); + return; + } + + e->name = strdup(k->name); + e->string = strdup(k->string); + e->key_compose = NULL; + e->win = _ecore_directfb_fullscreen_window_id; + e->time = 0; + break; + + case DFEC_WINDOW: + key_symbol = evt->window.key_symbol; + k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); + + if(!k) + { + ERR("Symbol %0X of class DFEC_WINDOW not found.", evt->window.key_symbol); + return; + } + + e->name = strdup(k->name); + e->string = strdup(k->string); + e->key_compose = NULL; + e->win = evt->window.window_id; + e->time = 0; + break; + + default: + break; + } /* switch */ + + ecore_event_add(ECORE_DIRECTFB_EVENT_KEY_DOWN, e, _ecore_directfb_event_free_key_down, NULL); +} /* _ecore_directfb_event_handle_key_down */ - if(!k) - { - ERR("Symbol %0X of class DFEC_WINDOW not found.", evt->window.key_symbol); - return; - } - e->name = strdup(k->name); - e->string = strdup(k->string); - e->key_compose = NULL; - e->win = evt->window.window_id; - e->time = 0; - break; - default: - break; - } - - ecore_event_add(ECORE_DIRECTFB_EVENT_KEY_DOWN, e, _ecore_directfb_event_free_key_down, NULL); -} static void _ecore_directfb_event_handle_key_up(DFBEvent *evt) { - Ecore_DirectFB_Event_Key_Up *e; - unsigned int key_symbol; - struct keymap *k; - - e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Up)); - - switch(evt->clazz) - { - case DFEC_INPUT: - key_symbol = evt->input.key_symbol; - k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); + Ecore_DirectFB_Event_Key_Up *e; + unsigned int key_symbol; + struct keymap *k; - - if(!k) - { - ERR("Symbol %0X of class DFEC_INPUT not found.", evt->input.key_symbol); - return; - } - e->name = strdup(k->name); - e->string = strdup(k->string); - e->key_compose = NULL; - e->win = _ecore_directfb_fullscreen_window_id; - e->time = 0; - break; - - case DFEC_WINDOW: - key_symbol = evt->window.key_symbol; - k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); + e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Up)); - if(!k) - { - ERR("Symbol %0X of class DFEC_WINDOW not found.", evt->window.key_symbol); - return; - } - e->name = strdup(k->name); - e->string = strdup(k->string); - e->key_compose = NULL; - e->win = evt->window.window_id; - e->time = 0; - break; - default: - break; - } - ecore_event_add(ECORE_DIRECTFB_EVENT_KEY_UP, e, _ecore_directfb_event_free_key_up, NULL); + switch(evt->clazz) + { + case DFEC_INPUT: + key_symbol = evt->input.key_symbol; + k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); -} + if(!k) + { + ERR("Symbol %0X of class DFEC_INPUT not found.", evt->input.key_symbol); + return; + } + + e->name = strdup(k->name); + e->string = strdup(k->string); + e->key_compose = NULL; + e->win = _ecore_directfb_fullscreen_window_id; + e->time = 0; + break; + + case DFEC_WINDOW: + key_symbol = evt->window.key_symbol; + k = eina_hash_find(_ecore_directfb_key_symbols_hash, &key_symbol); + + if(!k) + { + ERR("Symbol %0X of class DFEC_WINDOW not found.", evt->window.key_symbol); + return; + } + + e->name = strdup(k->name); + e->string = strdup(k->string); + e->key_compose = NULL; + e->win = evt->window.window_id; + e->time = 0; + break; + + default: + break; + } /* switch */ + ecore_event_add(ECORE_DIRECTFB_EVENT_KEY_UP, e, _ecore_directfb_event_free_key_up, NULL); +} /* _ecore_directfb_event_handle_key_up */ static void _ecore_directfb_event_handle_button_down(DFBEvent *evt) { - Ecore_DirectFB_Event_Button_Down *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Button_Down)); + Ecore_DirectFB_Event_Button_Down *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Button_Down)); - switch(evt->clazz) - { - case DFEC_INPUT: - e->button = evt->input.button + 1; - e->modifiers = 0; - DFBCHECK(_layer->GetCursorPosition(_layer,&e->x,&e->y)); - e->x = _cursor_x; - e->y = _cursor_y; - e->win = _ecore_directfb_fullscreen_window_id; - e->time = 0; - - break; - - case DFEC_WINDOW: - e->button = evt->window.button + 1; - e->modifiers = 0; - e->x = evt->window.x; - e->y = evt->window.y; - e->win = evt->window.window_id; - e->time = 0; - break; - default: - break; - } - - ecore_event_add(ECORE_DIRECTFB_EVENT_BUTTON_DOWN, e, NULL, NULL); + switch(evt->clazz) + { + case DFEC_INPUT: + e->button = evt->input.button + 1; + e->modifiers = 0; + DFBCHECK(_layer->GetCursorPosition(_layer,&e->x,&e->y)); + e->x = _cursor_x; + e->y = _cursor_y; + e->win = _ecore_directfb_fullscreen_window_id; + e->time = 0; -} + break; + + case DFEC_WINDOW: + e->button = evt->window.button + 1; + e->modifiers = 0; + e->x = evt->window.x; + e->y = evt->window.y; + e->win = evt->window.window_id; + e->time = 0; + break; + + default: + break; + } /* switch */ + + ecore_event_add(ECORE_DIRECTFB_EVENT_BUTTON_DOWN, e, NULL, NULL); +} /* _ecore_directfb_event_handle_button_down */ static void _ecore_directfb_event_handle_button_up(DFBEvent *evt) { - Ecore_DirectFB_Event_Button_Up *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Button_Up)); + Ecore_DirectFB_Event_Button_Up *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Button_Up)); - switch(evt->clazz) - { - case DFEC_INPUT: - e->button = evt->input.button + 1; - e->modifiers = 0; - e->x = _cursor_x; - e->y = _cursor_y; - e->win = _ecore_directfb_fullscreen_window_id; - e->time = 0; - - break; - - case DFEC_WINDOW: - e->button = evt->window.button + 1; - e->modifiers = 0; - e->x = evt->window.x; - e->y = evt->window.y; - e->win = evt->window.window_id; - e->time = 0; - break; - default: - break; - } - ecore_event_add(ECORE_DIRECTFB_EVENT_BUTTON_UP, e, NULL, NULL); + switch(evt->clazz) + { + case DFEC_INPUT: + e->button = evt->input.button + 1; + e->modifiers = 0; + e->x = _cursor_x; + e->y = _cursor_y; + e->win = _ecore_directfb_fullscreen_window_id; + e->time = 0; -} + break; + + case DFEC_WINDOW: + e->button = evt->window.button + 1; + e->modifiers = 0; + e->x = evt->window.x; + e->y = evt->window.y; + e->win = evt->window.window_id; + e->time = 0; + break; + + default: + break; + } /* switch */ + ecore_event_add(ECORE_DIRECTFB_EVENT_BUTTON_UP, e, NULL, NULL); +} /* _ecore_directfb_event_handle_button_up */ static void _ecore_directfb_event_handle_enter(DFBWindowEvent *evt) { - Ecore_DirectFB_Event_Enter *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Enter)); + Ecore_DirectFB_Event_Enter *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Enter)); - e->modifiers = 0; - e->x = evt->x; - e->y = evt->y; - e->win = evt->window_id; - e->time = 0; - - ecore_event_add(ECORE_DIRECTFB_EVENT_ENTER, e, NULL, NULL); + e->modifiers = 0; + e->x = evt->x; + e->y = evt->y; + e->win = evt->window_id; + e->time = 0; -} + ecore_event_add(ECORE_DIRECTFB_EVENT_ENTER, e, NULL, NULL); +} /* _ecore_directfb_event_handle_enter */ static void _ecore_directfb_event_handle_leave(DFBWindowEvent *evt) { - Ecore_DirectFB_Event_Leave *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Leave)); + Ecore_DirectFB_Event_Leave *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Leave)); - e->modifiers = 0; - e->x = evt->x; - e->y = evt->y; - e->win = evt->window_id; - e->time = 0; - - ecore_event_add(ECORE_DIRECTFB_EVENT_LEAVE, e, NULL, NULL); + e->modifiers = 0; + e->x = evt->x; + e->y = evt->y; + e->win = evt->window_id; + e->time = 0; -} + ecore_event_add(ECORE_DIRECTFB_EVENT_LEAVE, e, NULL, NULL); +} /* _ecore_directfb_event_handle_leave */ static void _ecore_directfb_event_handle_wheel(DFBWindowEvent *evt) { - Ecore_DirectFB_Event_Wheel *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Wheel)); + Ecore_DirectFB_Event_Wheel *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Wheel)); - // currently there's no direction (only up/down); - e->direction = 0; - e->z = evt->step; - e->modifiers = 0; - e->win = evt->window_id; - e->time = 0; - - ecore_event_add(ECORE_DIRECTFB_EVENT_WHEEL, e, NULL, NULL); + // currently there's no direction (only up/down); + e->direction = 0; + e->z = evt->step; + e->modifiers = 0; + e->win = evt->window_id; + e->time = 0; -} + ecore_event_add(ECORE_DIRECTFB_EVENT_WHEEL, e, NULL, NULL); +} /* _ecore_directfb_event_handle_wheel */ static void _ecore_directfb_event_handle_got_focus(DFBWindowEvent *evt) { - Ecore_DirectFB_Event_Got_Focus *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Got_Focus)); + Ecore_DirectFB_Event_Got_Focus *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Got_Focus)); - e->win = evt->window_id; - e->time = 0; - - ecore_event_add(ECORE_DIRECTFB_EVENT_GOT_FOCUS, e, NULL, NULL); + e->win = evt->window_id; + e->time = 0; -} + ecore_event_add(ECORE_DIRECTFB_EVENT_GOT_FOCUS, e, NULL, NULL); +} /* _ecore_directfb_event_handle_got_focus */ static void _ecore_directfb_event_handle_lost_focus(DFBWindowEvent *evt) { - Ecore_DirectFB_Event_Lost_Focus *e; - e = calloc(1, sizeof(Ecore_DirectFB_Event_Lost_Focus)); + Ecore_DirectFB_Event_Lost_Focus *e; + e = calloc(1, sizeof(Ecore_DirectFB_Event_Lost_Focus)); - e->win = evt->window_id; - e->time = 0; - - ecore_event_add(ECORE_DIRECTFB_EVENT_LOST_FOCUS, e, NULL, NULL); - -} + e->win = evt->window_id; + e->time = 0; + ecore_event_add(ECORE_DIRECTFB_EVENT_LOST_FOCUS, e, NULL, NULL); +} /* _ecore_directfb_event_handle_lost_focus */ /* inputs and windows fds handlers */ /***********************************/ @@ -392,340 +401,360 @@ _ecore_directfb_event_handle_lost_focus(DFBWindowEvent *evt) * in fullscreen theres no window_id so get the id from a global var (only one fullscreen * window at a time */ - static Eina_Bool _ecore_directfb_input_event_fd_handler(void *data __UNUSED__,Ecore_Fd_Handler *fd_handler __UNUSED__) { - DFBEvent evt; - int v = 0; - - v = read(_input_event_fd, &evt, sizeof(DFBEvent)); - if (v < 0) return EINA_TRUE; - if (v < 1) return EINA_TRUE; - - /* we are getting duplicate events, only parse if we are in fullscreen */ - //if(_ecore_directfb_fullscreen_window_id == 0) break; - if(evt.input.type == DIET_KEYPRESS) - _ecore_directfb_event_handle_key_down(&evt); - if(evt.input.type == DIET_KEYRELEASE) - _ecore_directfb_event_handle_key_up(&evt); - if(evt.input.type == DIET_BUTTONPRESS) - _ecore_directfb_event_handle_button_down(&evt); - if(evt.input.type == DIET_BUTTONRELEASE) - _ecore_directfb_event_handle_button_up(&evt); - if(evt.input.type == DIET_AXISMOTION) - _ecore_directfb_event_handle_motion(&evt); + DFBEvent evt; + int v = 0; + + v = read(_input_event_fd, &evt, sizeof(DFBEvent)); + if (v < 0) + return EINA_TRUE; + + if (v < 1) + return EINA_TRUE; + + /* we are getting duplicate events, only parse if we are in fullscreen */ + //if(_ecore_directfb_fullscreen_window_id == 0) break; + if(evt.input.type == DIET_KEYPRESS) + _ecore_directfb_event_handle_key_down(&evt); + + if(evt.input.type == DIET_KEYRELEASE) + _ecore_directfb_event_handle_key_up(&evt); + + if(evt.input.type == DIET_BUTTONPRESS) + _ecore_directfb_event_handle_button_down(&evt); + + if(evt.input.type == DIET_BUTTONRELEASE) + _ecore_directfb_event_handle_button_up(&evt); + + if(evt.input.type == DIET_AXISMOTION) + _ecore_directfb_event_handle_motion(&evt); + + return EINA_TRUE; +} /* _ecore_directfb_input_event_fd_handler */ - return EINA_TRUE; -} - static Eina_Bool _ecore_directfb_window_event_fd_handler(void *data __UNUSED__,Ecore_Fd_Handler *fd_handler __UNUSED__) { - DFBEvent evt; - int v = 0; - - v = read(_window_event_fd, &evt, sizeof(DFBEvent)); - if (v < 0) return EINA_TRUE; - if (v < 1) return EINA_TRUE; - - if(evt.window.type & DWET_POSITION) - INF("position"); - if(evt.window.type & DWET_SIZE) - INF("size"); - if(evt.window.type & DWET_CLOSE) - INF("close"); - if(evt.window.type & DWET_DESTROYED) - INF("destroyed"); - if(evt.window.type & DWET_GOTFOCUS) - _ecore_directfb_event_handle_got_focus(&evt.window); - if(evt.window.type & DWET_LOSTFOCUS) - _ecore_directfb_event_handle_lost_focus(&evt.window); - if(evt.window.type & DWET_KEYDOWN) - _ecore_directfb_event_handle_key_down(&evt); - if(evt.window.type & DWET_KEYUP) - _ecore_directfb_event_handle_key_up(&evt); - if(evt.window.type & DWET_BUTTONDOWN) - _ecore_directfb_event_handle_button_down(&evt); - if(evt.window.type & DWET_BUTTONUP) - _ecore_directfb_event_handle_button_up(&evt); - if(evt.window.type & DWET_MOTION) - _ecore_directfb_event_handle_motion(&evt); - if(evt.window.type & DWET_ENTER) - _ecore_directfb_event_handle_enter(&evt.window); - if(evt.window.type & DWET_LEAVE) - _ecore_directfb_event_handle_leave(&evt.window); - if(evt.window.type & DWET_WHEEL) - _ecore_directfb_event_handle_wheel(&evt.window); - return EINA_TRUE; -} - + DFBEvent evt; + int v = 0; + + v = read(_window_event_fd, &evt, sizeof(DFBEvent)); + if (v < 0) + return EINA_TRUE; + + if (v < 1) + return EINA_TRUE; + + if(evt.window.type & DWET_POSITION) + INF("position"); + + if(evt.window.type & DWET_SIZE) + INF("size"); + + if(evt.window.type & DWET_CLOSE) + INF("close"); + + if(evt.window.type & DWET_DESTROYED) + INF("destroyed"); + + if(evt.window.type & DWET_GOTFOCUS) + _ecore_directfb_event_handle_got_focus(&evt.window); + + if(evt.window.type & DWET_LOSTFOCUS) + _ecore_directfb_event_handle_lost_focus(&evt.window); + + if(evt.window.type & DWET_KEYDOWN) + _ecore_directfb_event_handle_key_down(&evt); + + if(evt.window.type & DWET_KEYUP) + _ecore_directfb_event_handle_key_up(&evt); + + if(evt.window.type & DWET_BUTTONDOWN) + _ecore_directfb_event_handle_button_down(&evt); + + if(evt.window.type & DWET_BUTTONUP) + _ecore_directfb_event_handle_button_up(&evt); + + if(evt.window.type & DWET_MOTION) + _ecore_directfb_event_handle_motion(&evt); + + if(evt.window.type & DWET_ENTER) + _ecore_directfb_event_handle_enter(&evt.window); + + if(evt.window.type & DWET_LEAVE) + _ecore_directfb_event_handle_leave(&evt.window); + + if(evt.window.type & DWET_WHEEL) + _ecore_directfb_event_handle_wheel(&evt.window); + + return EINA_TRUE; +} /* _ecore_directfb_window_event_fd_handler */ + /* api functions */ /*****************/ - EAPI IDirectFB * ecore_directfb_interface_get(void) { - return _dfb; -} - - + return _dfb; +} /* ecore_directfb_interface_get */ EAPI Ecore_DirectFB_Window * ecore_directfb_window_new(int x, int y, int w, int h) { - Ecore_DirectFB_Window *window; - IDirectFBWindow *dfb_window; - IDirectFBSurface *dfb_surface = NULL; - DFBWindowDescription desc; - DFBWindowID id; - - memset(&desc, 0, sizeof(DFBWindowDescription)); - desc.flags = (DWDESC_POSX | DWDESC_POSY | DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS); - desc.posx = x; - desc.posy = y; - desc.width = w; - desc.height = h; - desc.caps = DWCAPS_ALPHACHANNEL; - - DFBCHECK(_layer->CreateWindow(_layer, &desc, &dfb_window)); - - dfb_window->AttachEventBuffer(dfb_window, _window_event); - dfb_window->SetOptions(dfb_window,DWOP_NONE); - dfb_window->SetOpacity(dfb_window, 0xFF); - - DFBCHECK(dfb_window->GetID(dfb_window, &id)); - DFBCHECK(dfb_window->GetSurface(dfb_window,&dfb_surface)); - - window = malloc(sizeof(Ecore_DirectFB_Window)); - window->id = id; - window->window = dfb_window; - window->surface = dfb_surface; - window->cursor = NULL; + Ecore_DirectFB_Window *window; + IDirectFBWindow *dfb_window; + IDirectFBSurface *dfb_surface = NULL; + DFBWindowDescription desc; + DFBWindowID id; - return window; -} + memset(&desc, 0, sizeof(DFBWindowDescription)); + desc.flags = (DWDESC_POSX | DWDESC_POSY | DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS); + desc.posx = x; + desc.posy = y; + desc.width = w; + desc.height = h; + desc.caps = DWCAPS_ALPHACHANNEL; + + DFBCHECK(_layer->CreateWindow(_layer, &desc, &dfb_window)); + + dfb_window->AttachEventBuffer(dfb_window, _window_event); + dfb_window->SetOptions(dfb_window,DWOP_NONE); + dfb_window->SetOpacity(dfb_window, 0xFF); + + DFBCHECK(dfb_window->GetID(dfb_window, &id)); + DFBCHECK(dfb_window->GetSurface(dfb_window,&dfb_surface)); + + window = malloc(sizeof(Ecore_DirectFB_Window)); + window->id = id; + window->window = dfb_window; + window->surface = dfb_surface; + window->cursor = NULL; + + return window; +} /* ecore_directfb_window_new */ EAPI void ecore_directfb_window_free(Ecore_DirectFB_Window *ecore_window) { - DFBCHECK(ecore_window->surface->Release(ecore_window->surface)); - DFBCHECK(ecore_window->window->Release(ecore_window->window)); - free(ecore_window); -} - + DFBCHECK(ecore_window->surface->Release(ecore_window->surface)); + DFBCHECK(ecore_window->window->Release(ecore_window->window)); + free(ecore_window); +} /* ecore_directfb_window_free */ EAPI void ecore_directfb_window_move(Ecore_DirectFB_Window *ecore_window, int x, int y) { - DFBCHECK(ecore_window->window->MoveTo(ecore_window->window, x, y)); -} + DFBCHECK(ecore_window->window->MoveTo(ecore_window->window, x, y)); +} /* ecore_directfb_window_move */ EAPI void ecore_directfb_window_resize(Ecore_DirectFB_Window *ecore_window, int w, int h) { - DFBCHECK(ecore_window->window->Resize(ecore_window->window, w, h)); -} + DFBCHECK(ecore_window->window->Resize(ecore_window->window, w, h)); +} /* ecore_directfb_window_resize */ -EAPI void +EAPI void ecore_directfb_window_focus(Ecore_DirectFB_Window *ecore_window) -{ - DFBCHECK(ecore_window->window->RequestFocus(ecore_window->window)); -} +{ + DFBCHECK(ecore_window->window->RequestFocus(ecore_window->window)); +} /* ecore_directfb_window_focus */ -EAPI void +EAPI void ecore_directfb_window_hide(Ecore_DirectFB_Window *ecore_window) { - DFBCHECK(ecore_window->window->SetOpacity(ecore_window->window,0)); - -} + DFBCHECK(ecore_window->window->SetOpacity(ecore_window->window,0)); +} /* ecore_directfb_window_hide */ EAPI void ecore_directfb_window_show(Ecore_DirectFB_Window *ecore_window) { - DFBCHECK(ecore_window->window->SetOpacity(ecore_window->window, 0xFF)); -} + DFBCHECK(ecore_window->window->SetOpacity(ecore_window->window, 0xFF)); +} /* ecore_directfb_window_show */ EAPI void ecore_directfb_window_shaped_set(Ecore_DirectFB_Window *ecore_window, int set) { - DFBWindowOptions opts; - - DFBCHECK(ecore_window->window->GetOptions(ecore_window->window, &opts)); - if(set) - { - opts |= DWOP_SHAPED; - opts |= DWOP_ALPHACHANNEL; - DFBCHECK(ecore_window->window->SetOptions(ecore_window->window, opts)); - } - else - { - opts &= ~DWOP_SHAPED; - opts &= ~DWOP_ALPHACHANNEL; - DFBCHECK(ecore_window->window->SetOptions(ecore_window->window, opts)); - } -} + DFBWindowOptions opts; + + DFBCHECK(ecore_window->window->GetOptions(ecore_window->window, &opts)); + if(set) + { + opts |= DWOP_SHAPED; + opts |= DWOP_ALPHACHANNEL; + DFBCHECK(ecore_window->window->SetOptions(ecore_window->window, opts)); + } + else + { + opts &= ~DWOP_SHAPED; + opts &= ~DWOP_ALPHACHANNEL; + DFBCHECK(ecore_window->window->SetOptions(ecore_window->window, opts)); + } +} /* ecore_directfb_window_shaped_set */ EAPI void ecore_directfb_window_cursor_show(Ecore_DirectFB_Window *ecore_window, int show) { - if(!show) - { - /* create an empty cursor and set it */ - IDirectFBSurface *cursor; - DFBSurfaceDescription desc; - - memset(&desc, 0, sizeof(DFBSurfaceDescription)); - desc.flags = (DSDESC_HEIGHT | DSDESC_WIDTH | DSDESC_PIXELFORMAT); - desc.width = 1; - desc.height = 1; - desc.pixelformat = DSPF_A1; - - DFBCHECK(_dfb->CreateSurface(_dfb,&desc,&cursor)); - DFBCHECK(cursor->Clear(cursor,0,0,0,0)); - DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, cursor, 0, 0)); - } - else - { - /* we already have a cursor surface so set it*/ - if(ecore_window->cursor) - { - DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, ecore_window->cursor->surface, ecore_window->cursor->hot_x, ecore_window->cursor->hot_y)); - } - /* or just set the default directfb cursor */ - else - { - DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, NULL, 0, 0)); - } - - } -} + if(!show) + { + /* create an empty cursor and set it */ + IDirectFBSurface *cursor; + DFBSurfaceDescription desc; + + memset(&desc, 0, sizeof(DFBSurfaceDescription)); + desc.flags = (DSDESC_HEIGHT | DSDESC_WIDTH | DSDESC_PIXELFORMAT); + desc.width = 1; + desc.height = 1; + desc.pixelformat = DSPF_A1; + + DFBCHECK(_dfb->CreateSurface(_dfb,&desc,&cursor)); + DFBCHECK(cursor->Clear(cursor,0,0,0,0)); + DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, cursor, 0, 0)); + } + else + { + /* we already have a cursor surface so set it*/ + if(ecore_window->cursor) + { + DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, ecore_window->cursor->surface, ecore_window->cursor->hot_x, ecore_window->cursor->hot_y)); + } + /* or just set the default directfb cursor */ + else + { + DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, NULL, 0, 0)); + } + } +} /* ecore_directfb_window_cursor_show */ EAPI void ecore_directfb_window_cursor_set(Ecore_DirectFB_Window *ecore_window, Ecore_DirectFB_Cursor *cursor) { - if( (!cursor) && (ecore_window->cursor)) - { - ecore_window->cursor = NULL; - DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, NULL, 0, 0)); - return; - } - if(cursor) - { - ecore_window->cursor = cursor; - DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, cursor->surface, cursor->hot_x, cursor->hot_y)); - - } + if((!cursor) && (ecore_window->cursor)) + { + ecore_window->cursor = NULL; + DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, NULL, 0, 0)); + return; + } -} + if(cursor) + { + ecore_window->cursor = cursor; + DFBCHECK(ecore_window->window->SetCursorShape(ecore_window->window, cursor->surface, cursor->hot_x, cursor->hot_y)); + } +} /* ecore_directfb_window_cursor_set */ -EAPI void +EAPI void ecore_directfb_window_fullscreen_set(Ecore_DirectFB_Window *ecore_window, int on) { - // always release the surface (we are going to get a new one in both cases) - DFBCHECK(ecore_window->surface->Release(ecore_window->surface)); - if(on) - { - DFBCHECK(_layer->SetCooperativeLevel(_layer,DLSCL_EXCLUSIVE)); - DFBCHECK(_layer->GetSurface(_layer,&ecore_window->surface)); - DFBCHECK(_dfb->CreateInputEventBuffer(_dfb, DICAPS_ALL, DFB_FALSE, &_input_event)); - DFBCHECK(_input_event->CreateFileDescriptor(_input_event,&_input_event_fd)); - /* the event of axismove sends one axis at a time, so we must store both */ - DFBCHECK(_layer->GetCursorPosition(_layer,&_cursor_x,&_cursor_y)); - - _input_event_fd_handler_handle = ecore_main_fd_handler_add(_input_event_fd,ECORE_FD_READ,_ecore_directfb_input_event_fd_handler, NULL,NULL,NULL); - _ecore_directfb_fullscreen_window_id = ecore_window->id; - } - else - { - ecore_main_fd_handler_del(_input_event_fd_handler_handle); - DFBCHECK(_input_event->Release(_input_event)); - DFBCHECK(_layer->SetCooperativeLevel(_layer,DLSCL_SHARED)); - DFBCHECK(ecore_window->window->GetSurface(ecore_window->window, &ecore_window->surface)); - _ecore_directfb_fullscreen_window_id = 0; - } - -} + // always release the surface (we are going to get a new one in both cases) + DFBCHECK(ecore_window->surface->Release(ecore_window->surface)); + if(on) + { + DFBCHECK(_layer->SetCooperativeLevel(_layer,DLSCL_EXCLUSIVE)); + DFBCHECK(_layer->GetSurface(_layer,&ecore_window->surface)); + DFBCHECK(_dfb->CreateInputEventBuffer(_dfb, DICAPS_ALL, DFB_FALSE, &_input_event)); + DFBCHECK(_input_event->CreateFileDescriptor(_input_event,&_input_event_fd)); + /* the event of axismove sends one axis at a time, so we must store both */ + DFBCHECK(_layer->GetCursorPosition(_layer,&_cursor_x,&_cursor_y)); + + _input_event_fd_handler_handle = ecore_main_fd_handler_add(_input_event_fd,ECORE_FD_READ,_ecore_directfb_input_event_fd_handler, NULL,NULL,NULL); + _ecore_directfb_fullscreen_window_id = ecore_window->id; + } + else + { + ecore_main_fd_handler_del(_input_event_fd_handler_handle); + DFBCHECK(_input_event->Release(_input_event)); + DFBCHECK(_layer->SetCooperativeLevel(_layer,DLSCL_SHARED)); + DFBCHECK(ecore_window->window->GetSurface(ecore_window->window, &ecore_window->surface)); + _ecore_directfb_fullscreen_window_id = 0; + } +} /* ecore_directfb_window_fullscreen_set */ EAPI void ecore_directfb_window_size_get(Ecore_DirectFB_Window *ecore_window, int *w, int *h) { - DFBCHECK(ecore_window->surface->GetSize(ecore_window->surface,w,h)); - return; -} + DFBCHECK(ecore_window->surface->GetSize(ecore_window->surface,w,h)); + return; +} /* ecore_directfb_window_size_get */ EAPI int ecore_directfb_init(const char *name __UNUSED__) { - int i = 0; - - if (++_ecore_directfb_init_count != 1) return _ecore_directfb_init_count; - _ecore_directfb_log_dom = eina_log_domain_register("EcoreDirectFB", ECORE_DIRECTFB_DEFAULT_LOG_COLOR); - if(_ecore_directfb_log_dom < 0) - { - EINA_LOG_ERR("Impossible to create a log domain for the Ecore directFB module."); - return _ecore_directfb_init_count--; - } - DFBCHECK(DirectFBInit(NULL,NULL)); - DFBCHECK(DirectFBCreate(&_dfb)); - - DFBCHECK(_dfb->GetDisplayLayer(_dfb, DLID_PRIMARY, &_layer)); - DFBCHECK(_layer->SetCooperativeLevel(_layer, DLSCL_SHARED)); - - - /* window events and fd */ - DFBCHECK(_dfb->CreateEventBuffer(_dfb, &_window_event)); - DFBCHECK(_window_event->CreateFileDescriptor(_window_event,&_window_event_fd)); - _window_event_fd_handler_handle = ecore_main_fd_handler_add(_window_event_fd,ECORE_FD_READ,_ecore_directfb_window_event_fd_handler, NULL,NULL,NULL); - - /* register ecore directfb events */ - ECORE_DIRECTFB_EVENT_POSITION = ecore_event_type_new(); - ECORE_DIRECTFB_EVENT_SIZE = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_CLOSE = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_DESTROYED = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_GOT_FOCUS = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_LOST_FOCUS = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_KEY_DOWN = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_KEY_UP = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_BUTTON_DOWN = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_BUTTON_UP = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_MOTION = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_ENTER = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_LEAVE = ecore_event_type_new();; - ECORE_DIRECTFB_EVENT_WHEEL = ecore_event_type_new();; + int i = 0; - /* create the hash table for the keynames */ - _ecore_directfb_key_symbols_hash = eina_hash_int32_new(free); - for(i=0; i<_ecore_directfb_key_symbols_count; i++) - { - struct keymap *k; - k = malloc(sizeof(struct keymap)); - k->name = _ecore_directfb_key_symbols[i].name; - k->string = _ecore_directfb_key_symbols[i].string; - eina_hash_add(_ecore_directfb_key_symbols_hash, &_ecore_directfb_key_symbols[i].id, k); - } - /* create the hash for the windows(key = windowid, val = Ecore_DirectFB_Window struct) */ - return _ecore_directfb_init_count; -} + if (++_ecore_directfb_init_count != 1) + return _ecore_directfb_init_count; + + _ecore_directfb_log_dom = eina_log_domain_register("EcoreDirectFB", ECORE_DIRECTFB_DEFAULT_LOG_COLOR); + if(_ecore_directfb_log_dom < 0) + { + EINA_LOG_ERR("Impossible to create a log domain for the Ecore directFB module."); + return _ecore_directfb_init_count--; + } + + DFBCHECK(DirectFBInit(NULL,NULL)); + DFBCHECK(DirectFBCreate(&_dfb)); + + DFBCHECK(_dfb->GetDisplayLayer(_dfb, DLID_PRIMARY, &_layer)); + DFBCHECK(_layer->SetCooperativeLevel(_layer, DLSCL_SHARED)); + + /* window events and fd */ + DFBCHECK(_dfb->CreateEventBuffer(_dfb, &_window_event)); + DFBCHECK(_window_event->CreateFileDescriptor(_window_event,&_window_event_fd)); + _window_event_fd_handler_handle = ecore_main_fd_handler_add(_window_event_fd,ECORE_FD_READ,_ecore_directfb_window_event_fd_handler, NULL,NULL,NULL); + + /* register ecore directfb events */ + ECORE_DIRECTFB_EVENT_POSITION = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_SIZE = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_CLOSE = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_DESTROYED = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_GOT_FOCUS = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_LOST_FOCUS = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_KEY_DOWN = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_KEY_UP = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_BUTTON_DOWN = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_BUTTON_UP = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_MOTION = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_ENTER = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_LEAVE = ecore_event_type_new(); + ECORE_DIRECTFB_EVENT_WHEEL = ecore_event_type_new(); + + /* create the hash table for the keynames */ + _ecore_directfb_key_symbols_hash = eina_hash_int32_new(free); + for(i = 0; i < _ecore_directfb_key_symbols_count; i++) + { + struct keymap *k; + k = malloc(sizeof(struct keymap)); + k->name = _ecore_directfb_key_symbols[i].name; + k->string = _ecore_directfb_key_symbols[i].string; + eina_hash_add(_ecore_directfb_key_symbols_hash, &_ecore_directfb_key_symbols[i].id, k); + } + /* create the hash for the windows(key = windowid, val = Ecore_DirectFB_Window struct) */ + return _ecore_directfb_init_count; +} /* ecore_directfb_init */ EAPI int ecore_directfb_shutdown(void) { - if (--_ecore_directfb_init_count != 0) return _ecore_directfb_init_count; + if (--_ecore_directfb_init_count != 0) + return _ecore_directfb_init_count; - ecore_main_fd_handler_del(_window_event_fd_handler_handle); - eina_hash_free(_ecore_directfb_key_symbols_hash); + ecore_main_fd_handler_del(_window_event_fd_handler_handle); + eina_hash_free(_ecore_directfb_key_symbols_hash); + + if(_ecore_directfb_fullscreen_window_id) + { + DFBCHECK(_input_event->Release(_input_event)); + ecore_main_fd_handler_del(_input_event_fd_handler_handle); + } + + DFBCHECK(_window_event->Release(_window_event)); + DFBCHECK(_layer->Release(_layer)); + DFBCHECK(_dfb->Release(_dfb)); + eina_log_domain_unregister(_ecore_directfb_log_dom); + _ecore_directfb_log_dom = -1; + return _ecore_directfb_init_count; +} /* ecore_directfb_shutdown */ - if(_ecore_directfb_fullscreen_window_id) - { - DFBCHECK(_input_event->Release(_input_event)); - ecore_main_fd_handler_del(_input_event_fd_handler_handle); - } - DFBCHECK(_window_event->Release(_window_event)); - DFBCHECK(_layer->Release(_layer)); - DFBCHECK(_dfb->Release(_dfb)); - eina_log_domain_unregister(_ecore_directfb_log_dom); - _ecore_directfb_log_dom = -1; - return _ecore_directfb_init_count; -} diff --git a/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h b/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h index 9b2c96fb03..19cca46e57 100644 --- a/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h +++ b/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_keys.h @@ -1,184 +1,184 @@ -typedef struct _Ecore_DirectFB_Key_Symbols Ecore_DirectFB_Key_Symbols; +typedef struct _Ecore_DirectFB_Key_Symbols Ecore_DirectFB_Key_Symbols; struct _Ecore_DirectFB_Key_Symbols { - char *string; - char *name; - unsigned int id; + char *string; + char *name; + unsigned int id; }; static const Ecore_DirectFB_Key_Symbols _ecore_directfb_key_symbols[] = { - {"\010", "BackSpace",DIKS_BACKSPACE}, - {"\011", "Tab", DIKS_TAB}, - {"\015", "Return", DIKS_RETURN}, - {"", "Cancel", DIKS_CANCEL}, - {"", "Escape", DIKS_ESCAPE}, - {" ", "space", DIKS_SPACE}, - {"!", "exclam", DIKS_EXCLAMATION_MARK}, - {"\"", "quotedbl", DIKS_QUOTATION}, - {"#", "numbersign", DIKS_NUMBER_SIGN}, - {"$", "dollar", DIKS_DOLLAR_SIGN}, - {"%", "percent", DIKS_PERCENT_SIGN}, - {"&", "ampersand", DIKS_AMPERSAND}, - {"'", "apostrophe", DIKS_APOSTROPHE}, - {"(", "parenleft", DIKS_PARENTHESIS_LEFT}, - {")", "parenright", DIKS_PARENTHESIS_RIGHT}, - {"*", "asterisk", DIKS_ASTERISK}, - {"+", "plus", DIKS_PLUS_SIGN}, - {",", "comma", DIKS_COMMA}, - {"-", "minus", DIKS_MINUS_SIGN}, - {".", "period", DIKS_PERIOD}, - {"/", "slash", DIKS_SLASH}, - {"0", "0", DIKS_0}, - {"1", "1", DIKS_1}, - {"2", "2", DIKS_2}, - {"3", "3", DIKS_3}, - {"4", "4", DIKS_4}, - {"5", "5", DIKS_5}, - {"6", "6", DIKS_6}, - {"7", "7", DIKS_7}, - {"8", "8", DIKS_8}, - {"9", "9", DIKS_9}, - {":", "colon", DIKS_COLON}, - {";", "semicolon", DIKS_SEMICOLON}, - {"<", "less", DIKS_LESS_THAN_SIGN}, - {"=", "equal", DIKS_EQUALS_SIGN}, - {">", "greater", DIKS_GREATER_THAN_SIGN}, - {"?", "question", DIKS_QUESTION_MARK}, - {"@", "at", DIKS_AT}, - {"A", "A", DIKS_CAPITAL_A }, - {"B", "B", DIKS_CAPITAL_B }, - {"C", "C", DIKS_CAPITAL_C }, - {"D", "D", DIKS_CAPITAL_D }, - {"E", "E", DIKS_CAPITAL_E }, - {"F", "F", DIKS_CAPITAL_F }, - {"G", "G", DIKS_CAPITAL_G }, - {"H", "H", DIKS_CAPITAL_H }, - {"I", "I", DIKS_CAPITAL_I }, - {"J", "J", DIKS_CAPITAL_J }, - {"K", "K", DIKS_CAPITAL_K }, - {"L", "L", DIKS_CAPITAL_L }, - {"M", "M", DIKS_CAPITAL_M }, - {"N", "N", DIKS_CAPITAL_N }, - {"O", "O", DIKS_CAPITAL_O }, - {"P", "P", DIKS_CAPITAL_P }, - {"Q", "Q", DIKS_CAPITAL_Q }, - {"R", "R", DIKS_CAPITAL_R }, - {"S", "S", DIKS_CAPITAL_S }, - {"T", "T", DIKS_CAPITAL_T }, - {"U", "U", DIKS_CAPITAL_U }, - {"V", "V", DIKS_CAPITAL_V }, - {"W", "W", DIKS_CAPITAL_W }, - {"X", "X", DIKS_CAPITAL_X }, - {"Y", "Y", DIKS_CAPITAL_Y }, - {"Z", "Z", DIKS_CAPITAL_Z }, - {"[", "bracketleft", DIKS_SQUARE_BRACKET_LEFT }, - {"\\", "backslash", DIKS_BACKSLASH }, - {"]", "bracketright", DIKS_SQUARE_BRACKET_RIGHT }, - {"^", "asciicircum", DIKS_CIRCUMFLEX_ACCENT }, - {"_", "underscore", DIKS_UNDERSCORE }, - {"`", "grave", DIKS_GRAVE_ACCENT}, - {"a", "a", DIKS_SMALL_A }, - {"b","b", DIKS_SMALL_B }, - {"c","c", DIKS_SMALL_C }, - {"d","d", DIKS_SMALL_D }, - {"e","e", DIKS_SMALL_E }, - {"f","f", DIKS_SMALL_F }, - {"g","g", DIKS_SMALL_G }, - {"h","h", DIKS_SMALL_H }, - {"i","i", DIKS_SMALL_I }, - {"j","j", DIKS_SMALL_J }, - {"k","k", DIKS_SMALL_K }, - {"l","l", DIKS_SMALL_L }, - {"m","m", DIKS_SMALL_M }, - {"n","n", DIKS_SMALL_N }, - {"o", "o", DIKS_SMALL_O }, - {"p", "p", DIKS_SMALL_P }, - {"q", "q", DIKS_SMALL_Q }, - {"r", "r", DIKS_SMALL_R }, - {"s", "s", DIKS_SMALL_S }, - {"t", "t", DIKS_SMALL_T }, - {"u", "u", DIKS_SMALL_U }, - {"v", "v", DIKS_SMALL_V }, - {"w", "w", DIKS_SMALL_W }, - {"x", "x", DIKS_SMALL_X }, - {"y", "y", DIKS_SMALL_Y }, - {"z", "z", DIKS_SMALL_Z }, - {"{", "braceleft",DIKS_CURLY_BRACKET_LEFT }, - {"|", "bar", DIKS_VERTICAL_BAR }, - {"}", "braceright", DIKS_CURLY_BRACKET_RIGHT }, - {"~", "asciitilde", DIKS_TILDE }, - {"\177", "Delete", DIKS_DELETE }, - {"", "Left", DIKS_CURSOR_LEFT }, - {"", "Right", DIKS_CURSOR_RIGHT}, - {"", "Up", DIKS_CURSOR_UP}, - {"", "Down", DIKS_CURSOR_DOWN}, - {"", "Insert", DIKS_INSERT}, - {"", "Home", DIKS_HOME}, - {"", "End", DIKS_END}, - {"", "Page_Up", DIKS_PAGE_UP}, - {"", "Page_Down", DIKS_PAGE_DOWN}, - {"", "Print", DIKS_PRINT}, - {"", "Pause", DIKS_PAUSE}, - /* ok */ - {"", "Select",DIKS_SELECT}, - /* goto */ - {"", "Clear", DIKS_CLEAR}, - /* power */ - /* power 2 */ - /* option */ - {"", "Menu",DIKS_MENU}, - {"", "Help",DIKS_HELP}, - /* info */ - /* time */ - /* vendor */ - /* archive */ - /* program */ - /* channel */ - /* favorites */ - /* hasta next */ - {"", "Next",DIKS_NEXT}, - {"", "Begin",DIKS_BEGIN}, - /* digits */ - /* teen */ - /* twen */ - {"", "Break", DIKS_BREAK}, - /* exit */ - /* setup */ - {"", "upleftcorner", DIKS_CURSOR_LEFT_UP }, - {"", "lowleftcorner", DIKS_CURSOR_LEFT_DOWN }, - {"", "uprightcorner", DIKS_CURSOR_UP_RIGHT }, - {"", "lowrightcorner",DIKS_CURSOR_DOWN_RIGHT }, - {"", "F1",DIKS_F1}, - {"", "F2",DIKS_F2}, - {"", "F3",DIKS_F3}, - {"", "F4",DIKS_F4}, - {"", "F5",DIKS_F5}, - {"", "F6",DIKS_F6}, - {"", "F7",DIKS_F7}, - {"", "F8",DIKS_F8}, - {"", "F9",DIKS_F9}, - {"", "F10",DIKS_F10}, - {"", "F11",DIKS_F11}, - {"", "F12",DIKS_F12}, - /* this are only mapped to one, not left right */ - {"", "Shift_L", DIKS_SHIFT}, - /*{"Shift_R",0xFFE2},*/ - {"", "Control_L", DIKS_CONTROL}, - /*{"Control_R",0xFFE4},*/ - {"", "Meta_L", DIKS_META}, - /* {"Meta_R",0xFFE8},*/ - {"", "Alt_L", DIKS_ALT}, - {"", "Alt_R", DIKS_ALTGR}, - {"", "Super_L", DIKS_SUPER}, - /*{"Super_R",0xFFEC},*/ - {"", "Hyper_L", DIKS_HYPER}, - /*{"Hyper_R",0xFFEE},*/ - - {"", "Caps_Lock", DIKS_CAPS_LOCK}, - {"", "Num_Lock", DIKS_NUM_LOCK}, - {"", "Scroll_Lock", DIKS_SCROLL_LOCK}, - /* not included the dead keys */ - /* not included the custom keys */ - {"", "VoidSymbol", DIKS_NULL} + {"\010", "BackSpace",DIKS_BACKSPACE}, + {"\011", "Tab", DIKS_TAB}, + {"\015", "Return", DIKS_RETURN}, + {"", "Cancel", DIKS_CANCEL}, + {"", "Escape", DIKS_ESCAPE}, + {" ", "space", DIKS_SPACE}, + {"!", "exclam", DIKS_EXCLAMATION_MARK}, + {"\"", "quotedbl", DIKS_QUOTATION}, + {"#", "numbersign", DIKS_NUMBER_SIGN}, + {"$", "dollar", DIKS_DOLLAR_SIGN}, + {"%", "percent", DIKS_PERCENT_SIGN}, + {"&", "ampersand", DIKS_AMPERSAND}, + {"'", "apostrophe", DIKS_APOSTROPHE}, + {"(", "parenleft", DIKS_PARENTHESIS_LEFT}, + {")", "parenright", DIKS_PARENTHESIS_RIGHT}, + {"*", "asterisk", DIKS_ASTERISK}, + {"+", "plus", DIKS_PLUS_SIGN}, + {",", "comma", DIKS_COMMA}, + {"-", "minus", DIKS_MINUS_SIGN}, + {".", "period", DIKS_PERIOD}, + {"/", "slash", DIKS_SLASH}, + {"0", "0", DIKS_0}, + {"1", "1", DIKS_1}, + {"2", "2", DIKS_2}, + {"3", "3", DIKS_3}, + {"4", "4", DIKS_4}, + {"5", "5", DIKS_5}, + {"6", "6", DIKS_6}, + {"7", "7", DIKS_7}, + {"8", "8", DIKS_8}, + {"9", "9", DIKS_9}, + {":", "colon", DIKS_COLON}, + {";", "semicolon", DIKS_SEMICOLON}, + {"<", "less", DIKS_LESS_THAN_SIGN}, + {"=", "equal", DIKS_EQUALS_SIGN}, + {">", "greater", DIKS_GREATER_THAN_SIGN}, + {"?", "question", DIKS_QUESTION_MARK}, + {"@", "at", DIKS_AT}, + {"A", "A", DIKS_CAPITAL_A }, + {"B", "B", DIKS_CAPITAL_B }, + {"C", "C", DIKS_CAPITAL_C }, + {"D", "D", DIKS_CAPITAL_D }, + {"E", "E", DIKS_CAPITAL_E }, + {"F", "F", DIKS_CAPITAL_F }, + {"G", "G", DIKS_CAPITAL_G }, + {"H", "H", DIKS_CAPITAL_H }, + {"I", "I", DIKS_CAPITAL_I }, + {"J", "J", DIKS_CAPITAL_J }, + {"K", "K", DIKS_CAPITAL_K }, + {"L", "L", DIKS_CAPITAL_L }, + {"M", "M", DIKS_CAPITAL_M }, + {"N", "N", DIKS_CAPITAL_N }, + {"O", "O", DIKS_CAPITAL_O }, + {"P", "P", DIKS_CAPITAL_P }, + {"Q", "Q", DIKS_CAPITAL_Q }, + {"R", "R", DIKS_CAPITAL_R }, + {"S", "S", DIKS_CAPITAL_S }, + {"T", "T", DIKS_CAPITAL_T }, + {"U", "U", DIKS_CAPITAL_U }, + {"V", "V", DIKS_CAPITAL_V }, + {"W", "W", DIKS_CAPITAL_W }, + {"X", "X", DIKS_CAPITAL_X }, + {"Y", "Y", DIKS_CAPITAL_Y }, + {"Z", "Z", DIKS_CAPITAL_Z }, + {"[", "bracketleft", DIKS_SQUARE_BRACKET_LEFT }, + {"\\", "backslash", DIKS_BACKSLASH }, + {"]", "bracketright", DIKS_SQUARE_BRACKET_RIGHT }, + {"^", "asciicircum", DIKS_CIRCUMFLEX_ACCENT }, + {"_", "underscore", DIKS_UNDERSCORE }, + {"`", "grave", DIKS_GRAVE_ACCENT}, + {"a", "a", DIKS_SMALL_A }, + {"b","b", DIKS_SMALL_B }, + {"c","c", DIKS_SMALL_C }, + {"d","d", DIKS_SMALL_D }, + {"e","e", DIKS_SMALL_E }, + {"f","f", DIKS_SMALL_F }, + {"g","g", DIKS_SMALL_G }, + {"h","h", DIKS_SMALL_H }, + {"i","i", DIKS_SMALL_I }, + {"j","j", DIKS_SMALL_J }, + {"k","k", DIKS_SMALL_K }, + {"l","l", DIKS_SMALL_L }, + {"m","m", DIKS_SMALL_M }, + {"n","n", DIKS_SMALL_N }, + {"o", "o", DIKS_SMALL_O }, + {"p", "p", DIKS_SMALL_P }, + {"q", "q", DIKS_SMALL_Q }, + {"r", "r", DIKS_SMALL_R }, + {"s", "s", DIKS_SMALL_S }, + {"t", "t", DIKS_SMALL_T }, + {"u", "u", DIKS_SMALL_U }, + {"v", "v", DIKS_SMALL_V }, + {"w", "w", DIKS_SMALL_W }, + {"x", "x", DIKS_SMALL_X }, + {"y", "y", DIKS_SMALL_Y }, + {"z", "z", DIKS_SMALL_Z }, + {"{", "braceleft",DIKS_CURLY_BRACKET_LEFT }, + {"|", "bar", DIKS_VERTICAL_BAR }, + {"}", "braceright", DIKS_CURLY_BRACKET_RIGHT }, + {"~", "asciitilde", DIKS_TILDE }, + {"\177", "Delete", DIKS_DELETE }, + {"", "Left", DIKS_CURSOR_LEFT }, + {"", "Right", DIKS_CURSOR_RIGHT}, + {"", "Up", DIKS_CURSOR_UP}, + {"", "Down", DIKS_CURSOR_DOWN}, + {"", "Insert", DIKS_INSERT}, + {"", "Home", DIKS_HOME}, + {"", "End", DIKS_END}, + {"", "Page_Up", DIKS_PAGE_UP}, + {"", "Page_Down", DIKS_PAGE_DOWN}, + {"", "Print", DIKS_PRINT}, + {"", "Pause", DIKS_PAUSE}, + /* ok */ + {"", "Select",DIKS_SELECT}, + /* goto */ + {"", "Clear", DIKS_CLEAR}, + /* power */ + /* power 2 */ + /* option */ + {"", "Menu",DIKS_MENU}, + {"", "Help",DIKS_HELP}, + /* info */ + /* time */ + /* vendor */ + /* archive */ + /* program */ + /* channel */ + /* favorites */ + /* hasta next */ + {"", "Next",DIKS_NEXT}, + {"", "Begin",DIKS_BEGIN}, + /* digits */ + /* teen */ + /* twen */ + {"", "Break", DIKS_BREAK}, + /* exit */ + /* setup */ + {"", "upleftcorner", DIKS_CURSOR_LEFT_UP }, + {"", "lowleftcorner", DIKS_CURSOR_LEFT_DOWN }, + {"", "uprightcorner", DIKS_CURSOR_UP_RIGHT }, + {"", "lowrightcorner",DIKS_CURSOR_DOWN_RIGHT }, + {"", "F1",DIKS_F1}, + {"", "F2",DIKS_F2}, + {"", "F3",DIKS_F3}, + {"", "F4",DIKS_F4}, + {"", "F5",DIKS_F5}, + {"", "F6",DIKS_F6}, + {"", "F7",DIKS_F7}, + {"", "F8",DIKS_F8}, + {"", "F9",DIKS_F9}, + {"", "F10",DIKS_F10}, + {"", "F11",DIKS_F11}, + {"", "F12",DIKS_F12}, + /* this are only mapped to one, not left right */ + {"", "Shift_L", DIKS_SHIFT}, + /*{"Shift_R",0xFFE2},*/ + {"", "Control_L", DIKS_CONTROL}, + /*{"Control_R",0xFFE4},*/ + {"", "Meta_L", DIKS_META}, + /* {"Meta_R",0xFFE8},*/ + {"", "Alt_L", DIKS_ALT}, + {"", "Alt_R", DIKS_ALTGR}, + {"", "Super_L", DIKS_SUPER}, + /*{"Super_R",0xFFEC},*/ + {"", "Hyper_L", DIKS_HYPER}, + /*{"Hyper_R",0xFFEE},*/ + + {"", "Caps_Lock", DIKS_CAPS_LOCK}, + {"", "Num_Lock", DIKS_NUM_LOCK}, + {"", "Scroll_Lock", DIKS_SCROLL_LOCK}, + /* not included the dead keys */ + /* not included the custom keys */ + {"", "VoidSymbol", DIKS_NULL} }; -static int _ecore_directfb_key_symbols_count = sizeof(_ecore_directfb_key_symbols)/sizeof(Ecore_DirectFB_Key_Symbols); +static int _ecore_directfb_key_symbols_count = sizeof(_ecore_directfb_key_symbols) / sizeof(Ecore_DirectFB_Key_Symbols); diff --git a/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_private.h b/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_private.h index e9124aa913..ed34587ab5 100644 --- a/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_private.h +++ b/legacy/ecore/src/lib/ecore_directfb/ecore_directfb_private.h @@ -6,47 +6,47 @@ extern int _ecore_directfb_log_dom; #ifdef ECORE_DIRECTFB_DEFAULT_LOG_COLOR #undef ECORE_DIRECTFB_DEFAULT_LOG_COLOR -#endif +#endif /* ifdef ECORE_DIRECTFB_DEFAULT_LOG_COLOR */ #define ECORE_DIRECTFB_DEFAULT_LOG_COLOR EINA_COLOR_BLUE #ifdef ERR # undef ERR -#endif +#endif /* ifdef ERR */ #define ERR(...) EINA_LOG_DOM_ERR(_ecore_directfb_log_dom, __VA_ARGS__) #ifdef DBG # undef DBG -#endif +#endif /* ifdef DBG */ #define DBG(...) EINA_LOG_DOM_DBG(_ecore_directfb_log_dom, __VA_ARGS__) #ifdef INF # undef INF -#endif +#endif /* ifdef INF */ #define INF(...) EINA_LOG_DOM_INFO(_ecore_directfb_log_dom, __VA_ARGS__) #ifdef WRN # undef WRN -#endif +#endif /* ifdef WRN */ #define WRN(...) EINA_LOG_DOM_WARN(_ecore_directfb_log_dom, __VA_ARGS__) #ifdef CRIT # undef CRIT -#endif +#endif /* ifdef CRIT */ #define CRIT(...) EINA_LOG_DOM_CRIT(_ecore_directfb_log_dom, __VA_ARGS__) /* macro for a safe call to DirectFB functions */ -#define DFBCHECK(x...) \ - { \ - _err = x; \ - if (_err != DFB_OK) { \ - CRIT("%s <%d>:\n\t", __FILE__, __LINE__ ); \ - DirectFBErrorFatal( #x, _err ); \ - } \ - } +#define DFBCHECK(x ...)\ + {\ + _err = x;\ + if (_err != DFB_OK) {\ + CRIT("%s <%d>:\n\t", __FILE__, __LINE__ );\ + DirectFBErrorFatal( # x, _err );\ + }\ + } struct keymap { - char *name; - char *string; + char *name; + char *string; }; -#endif +#endif /* ifndef _ECORE_DIRECTFB_PRIVATE_H */