Jorge's dfb patches are finally in! :)

SVN revision: 18751
This commit is contained in:
Carsten Haitzler 2005-12-01 06:39:35 +00:00
parent e475d8844f
commit 2489a46975
6 changed files with 218 additions and 219 deletions

View File

@ -45,7 +45,7 @@ extern int ECORE_DIRECTFB_EVENT_WHEEL;
#ifndef _ECORE_DIRECTFB_WINDOW_PREDEF
typedef struct _Ecore_DirectFB_Window Ecore_DirectFB_Window;
#endif
#endif
typedef struct _Ecore_DirectFB_Cursor Ecore_DirectFB_Cursor;
typedef struct _Ecore_DirectFB_Event_Key_Down Ecore_DirectFB_Event_Key_Down;
@ -83,8 +83,8 @@ struct _Ecore_DirectFB_Cursor
struct _Ecore_DirectFB_Event_Key_Down /** DirectFB Key Down event */
{
char *keyname; /**< The name of the key that was released */
char *keysymbol; /**< The logical symbol of the key that was pressed */
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;
@ -92,8 +92,8 @@ struct _Ecore_DirectFB_Event_Key_Down /** DirectFB Key Down event */
struct _Ecore_DirectFB_Event_Key_Up /** DirectFB Key Up event */
{
char *keyname; /**< The name of the key that was released */
char *keysymbol; /**< The logical symbol of the key that was pressed */
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;

View File

@ -7,7 +7,11 @@
/* ecore_directfb */
/******************/
/* About */
/* with this you can create windows of directfb and handle events through ecore */
/* with this you can create windows of directfb and handle events through ecore
* TODO:
* - handle all event types
* -
* */
static int _ecore_directfb_key_symbols_count = sizeof(_ecore_directfb_key_symbols)/sizeof(Ecore_DirectFB_Key_Symbols);
static int _ecore_directfb_init_count = 0;
@ -62,8 +66,8 @@ _ecore_directfb_event_free_key_down(void *data __UNUSED__, void *ev)
Ecore_DirectFB_Event_Key_Up *e;
e = ev;
free(e->keyname);
if (e->keysymbol) free(e->keysymbol);
if(e->name) free(e->name);
if (e->string) free(e->string);
if (e->key_compose) free(e->key_compose);
free(e);
}
@ -74,8 +78,8 @@ _ecore_directfb_event_free_key_up(void *data __UNUSED__, void *ev)
Ecore_DirectFB_Event_Key_Up *e;
e = ev;
free(e->keyname);
if (e->keysymbol) free(e->keysymbol);
if(e->name) free(e->name);
if (e->string) free(e->string);
if (e->key_compose) free(e->key_compose);
free(e);
}
@ -151,7 +155,7 @@ _ecore_directfb_event_handle_key_down(DFBEvent *evt)
Ecore_DirectFB_Event_Key_Down *e;
unsigned int key_symbol;
char *key_name;
struct keymap *k;
e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Down));
@ -159,31 +163,31 @@ _ecore_directfb_event_handle_key_down(DFBEvent *evt)
{
case DFEC_INPUT:
key_symbol = evt->input.key_symbol;
key_name = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
k = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
if(!key_name)
if(!k)
{
printf("error en el numero, %0X\n", evt->input.key_symbol);
return;
}
e->keyname = strdup(key_name);
e->keysymbol = strdup(key_name);
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;
break;
case DFEC_WINDOW:
key_symbol = evt->window.key_symbol;
key_name = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
k = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
if(!key_name)
if(!k)
{
printf("error en el numero, %0X\n", evt->window.key_symbol);
return;
}
e->keyname = strdup(key_name);
e->keysymbol = strdup(key_name);
e->name = strdup(k->name);
e->string = strdup(k->string);
e->key_compose = NULL;
e->win = evt->window.window_id;
e->time = 0;
@ -199,7 +203,7 @@ _ecore_directfb_event_handle_key_up(DFBEvent *evt)
{
Ecore_DirectFB_Event_Key_Up *e;
unsigned int key_symbol;
char *key_name;
struct keymap *k;
e = calloc(1, sizeof(Ecore_DirectFB_Event_Key_Up));
@ -207,15 +211,16 @@ _ecore_directfb_event_handle_key_up(DFBEvent *evt)
{
case DFEC_INPUT:
key_symbol = evt->input.key_symbol;
key_name = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
k = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
if(!key_name)
if(!k)
{
printf("error en el numero, %0X\n", evt->input.key_symbol);
return;
}
e->keyname = strdup(key_name);
e->keysymbol = strdup(key_name);
e->name = strdup(k->name);
e->string = strdup(k->string);
e->key_compose = NULL;
e->win = _ecore_directfb_fullscreen_window_id;
e->time = 0;
@ -223,15 +228,15 @@ _ecore_directfb_event_handle_key_up(DFBEvent *evt)
case DFEC_WINDOW:
key_symbol = evt->window.key_symbol;
key_name = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
k = ecore_hash_get(_ecore_directfb_key_symbols_hash, &key_symbol);
if(!key_name)
if(!k)
{
printf("error en el numero, %0X\n", evt->window.key_symbol);
return;
}
e->keyname = strdup(key_name);
e->keysymbol = strdup(key_name);
e->name = strdup(k->name);
e->string = strdup(k->string);
e->key_compose = NULL;
e->win = evt->window.window_id;
e->time = 0;
@ -695,7 +700,11 @@ ecore_directfb_init(const char *name)
_ecore_directfb_key_symbols_hash = ecore_hash_new(_ecore_directfb_hash_create,_ecore_directfb_hash_compare);
for(i=0; i<_ecore_directfb_key_symbols_count; i++)
{
ecore_hash_set(_ecore_directfb_key_symbols_hash, &_ecore_directfb_key_symbols[i].keycode, _ecore_directfb_key_symbols[i].keysymbol);
struct keymap *k;
k = malloc(sizeof(struct keymap));
k->name = _ecore_directfb_key_symbols[i].name;
k->string = _ecore_directfb_key_symbols[i].string;
ecore_hash_set(_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;
@ -717,7 +726,10 @@ ecore_directfb_shutdown(void)
/* free the key symbol names hash */
for(i=0; i<_ecore_directfb_key_symbols_count; i++)
{
ecore_hash_remove(_ecore_directfb_key_symbols_hash, &_ecore_directfb_key_symbols[i].keycode);
struct keymap *k;
k = ecore_hash_get(_ecore_directfb_key_symbols_hash, &_ecore_directfb_key_symbols[i].id);
ecore_hash_remove(_ecore_directfb_key_symbols_hash, &_ecore_directfb_key_symbols[i].id);
free(k);
}
if(_ecore_directfb_fullscreen_window_id)

View File

@ -1,131 +1,131 @@
typedef struct _Ecore_DirectFB_Key_Symbols Ecore_DirectFB_Key_Symbols;
struct _Ecore_DirectFB_Key_Symbols
{
char *keysymbol;
unsigned int keycode;
char *string;
char *name;
unsigned int id;
} _ecore_directfb_key_symbols[] = {
{"BackSpace", DIKS_BACKSPACE},
{"Tab", DIKS_TAB},
{"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", DIKS_0},
{"1", DIKS_1},
{"2", DIKS_2},
{"3", DIKS_3},
{"4", DIKS_4},
{"5", DIKS_5},
{"6", DIKS_6},
{"7", DIKS_7},
{"8", DIKS_8},
{"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", DIKS_CAPITAL_A },
{"B", DIKS_CAPITAL_B },
{"C", DIKS_CAPITAL_C },
{"D", DIKS_CAPITAL_D },
{"E", DIKS_CAPITAL_E },
{"F", DIKS_CAPITAL_F },
{"G", DIKS_CAPITAL_G },
{"H", DIKS_CAPITAL_H },
{"I", DIKS_CAPITAL_I },
{"J", DIKS_CAPITAL_J },
{"K", DIKS_CAPITAL_K },
{"L", DIKS_CAPITAL_L },
{"M", DIKS_CAPITAL_M },
{"N", DIKS_CAPITAL_N },
{"O", DIKS_CAPITAL_O },
{"P", DIKS_CAPITAL_P },
{"Q", DIKS_CAPITAL_Q },
{"R", DIKS_CAPITAL_R },
{"S", DIKS_CAPITAL_S },
{"T", DIKS_CAPITAL_T },
{"U", DIKS_CAPITAL_U },
{"V", DIKS_CAPITAL_V },
{"W", DIKS_CAPITAL_W },
{"X", DIKS_CAPITAL_X },
{"Y", DIKS_CAPITAL_Y },
{"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", DIKS_SMALL_A },
{"b", DIKS_SMALL_B },
{"c", DIKS_SMALL_C },
{"d", DIKS_SMALL_D },
{"e", DIKS_SMALL_E },
{"f", DIKS_SMALL_F },
{"g", DIKS_SMALL_G },
{"h", DIKS_SMALL_H },
{"i", DIKS_SMALL_I },
{"j", DIKS_SMALL_J },
{"k", DIKS_SMALL_K },
{"l", DIKS_SMALL_L },
{"m", DIKS_SMALL_M },
{"n", DIKS_SMALL_N },
{"o", DIKS_SMALL_O },
{"p", DIKS_SMALL_P },
{"q", DIKS_SMALL_Q },
{"r", DIKS_SMALL_R },
{"s", DIKS_SMALL_S },
{"t", DIKS_SMALL_T },
{"u", DIKS_SMALL_U },
{"v", DIKS_SMALL_V },
{"w", DIKS_SMALL_W },
{"x", DIKS_SMALL_X },
{"y", DIKS_SMALL_Y },
{"z", DIKS_SMALL_Z },
{"braceleft", DIKS_CURLY_BRACKET_LEFT },
{"bar", DIKS_VERTICAL_BAR },
{"braceright", DIKS_CURLY_BRACKET_RIGHT },
{"asciitilde", DIKS_TILDE },
{"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},
{"\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},
{"", "Select",DIKS_SELECT},
/* goto */
{"Clear", DIKS_CLEAR},
{"", "Clear", DIKS_CLEAR},
/* power */
/* power 2 */
/* option */
{"Menu", DIKS_MENU},
{"Help", DIKS_HELP},
{"", "Menu",DIKS_MENU},
{"", "Help",DIKS_HELP},
/* info */
/* time */
/* vendor */
@ -134,48 +134,48 @@ struct _Ecore_DirectFB_Key_Symbols
/* channel */
/* favorites */
/* hasta next */
{"Next", DIKS_NEXT},
{"Begin", DIKS_BEGIN},
{"", "Next",DIKS_NEXT},
{"", "Begin",DIKS_BEGIN},
/* digits */
/* teen */
/* twen */
{"Break", DIKS_BREAK},
{"", "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},
{"", "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}, */
{"", "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},
{"", "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}
{"", "VoidSymbol", DIKS_NULL}
};

View File

@ -8,4 +8,8 @@
} \
}
struct keymap
{
char *name;
char *string;
};

View File

@ -21,18 +21,21 @@ static Ecore_Idle_Enterer *ecore_evas_directfb_idle_enterer = NULL;
static void
_ecore_evas_directfb_render(Ecore_Evas *ee)
{
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
Evas_List *updates;
if (ee->func.fn_pre_render) ee->func.fn_pre_render(ee);
updates = evas_render_updates(ee->evas);
if (updates)
{
DFBRegion region;
IDirectFBSurface *surface;
Evas_List *l;
surface = ee->engine.directfb.window->surface;
for (l = updates; l; l = l->next)
{
Evas_Rectangle *rect;
rect = l->data;
region.x1 = rect->x;
region.y1 = rect->y;
@ -58,6 +61,7 @@ _ecore_evas_directfb_idle_enter(void *data __UNUSED__)
for (l = (Ecore_List2 *)ecore_evases; l; l = l->next)
{
Ecore_Evas *ee;
ee = (Ecore_Evas *)l;
_ecore_evas_directfb_render(ee);
}
@ -132,7 +136,7 @@ _ecore_evas_directfb_mouse_move_process(Ecore_Evas *ee, int x, int y, unsigned i
else if (ee->rotation == 270)
evas_event_feed_mouse_move(ee->evas, y, ee->w - x - 1, timestamp, NULL);
}
static int
_ecore_evas_directfb_event_key_down(void *data __UNUSED__, int type __UNUSED__, void *event)
@ -144,9 +148,8 @@ _ecore_evas_directfb_event_key_down(void *data __UNUSED__, int type __UNUSED__,
ee = _ecore_evas_directfb_match(e->win);
if (!ee) return 1; /* pass on event */
evas_event_feed_key_down(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, e->time, NULL);
evas_event_feed_key_down(ee->evas, e->name, NULL, e->string, e->key_compose, e->time, NULL);
return 1;
}
static int
@ -159,9 +162,8 @@ _ecore_evas_directfb_event_key_up(void *data __UNUSED__, int type __UNUSED__, vo
ee = _ecore_evas_directfb_match(e->win);
if (!ee) return 1; /* pass on event */
evas_event_feed_key_up(ee->evas, e->keyname, e->keysymbol, e->key_compose, NULL, e->time, NULL);
evas_event_feed_key_up(ee->evas, e->name, NULL, e->string, e->key_compose, e->time, NULL);
return 1;
}
static int
@ -176,7 +178,6 @@ _ecore_evas_directfb_event_motion(void *data __UNUSED__, int type __UNUSED__, vo
if (!ee) return 1; /* pass on event */
_ecore_evas_directfb_mouse_move_process(ee, e->x, e->y, e->time);
return 1;
}
static int
@ -283,7 +284,6 @@ _ecore_evas_directfb_event_lost_focus(void *data __UNUSED__, int type __UNUSED__
ee->prop.focused = 0;
return 1;
}
int
_ecore_evas_directfb_shutdown(void)
@ -478,13 +478,13 @@ _ecore_evas_directfb_fullscreen_set(Ecore_Evas *ee, int on)
}
}
einfo = (Evas_Engine_Info_DirectFB *)evas_engine_info_get(ee->evas);
if(einfo)
if (einfo)
{
einfo->info.surface = ee->engine.directfb.window->surface;
evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo);
}
ee->prop.fullscreen = on;
if(resized)
if (resized)
{
if(ee->func.fn_resize) ee->func.fn_resize(ee);
}
@ -506,14 +506,14 @@ static const Ecore_Evas_Engine_Func _ecore_directfb_engine_func =
NULL, /* cb mouse out */
NULL, /* cb pre render */
NULL, /* cb post render */
_ecore_evas_directfb_move, /* move */
_ecore_evas_directfb_move, /* move */
NULL, /* managed move */
_ecore_evas_directfb_resize, /* resize */
NULL, /* move resize */
NULL,//_ecore_evas_directfb_rotation_set,/* rotation */
_ecore_evas_directfb_shaped_set,/* shaped */
_ecore_evas_directfb_show, /* show */
_ecore_evas_directfb_hide, /* hide */
_ecore_evas_directfb_shaped_set, /* shaped */
_ecore_evas_directfb_show, /* show */
_ecore_evas_directfb_hide, /* hide */
NULL, /* raise */
NULL, /* lower */
NULL, /* title set */
@ -522,7 +522,7 @@ static const Ecore_Evas_Engine_Func _ecore_directfb_engine_func =
NULL, /* size max */
NULL, /* size base */
NULL, /* size step */
_ecore_evas_directfb_cursor_set,/* cursor set */
_ecore_evas_directfb_cursor_set, /* cursor set */
NULL, /* layer set */
_ecore_evas_directfb_focus_set, /* focus */
NULL, /* iconified */
@ -556,10 +556,7 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
#ifdef BUILD_ECORE_EVAS_DIRECTFB
Evas_Engine_Info_DirectFB *einfo;
Ecore_Evas *ee;
Ecore_DirectFB_Window *window;
int rmethod;
rmethod = evas_render_method_lookup("directfb");
@ -576,7 +573,6 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
if (disp_name) ee->name = strdup(disp_name);
if (w < 1) w = 1;
if (h < 1) h = 1;
ee->rotation = 0;
@ -587,16 +583,6 @@ ecore_evas_directfb_new(const char *disp_name, int windowed, int x, int y, int w
ee->h = h;
ee->prop.layer = 1;
ee->prop.fullscreen = 0;
/*ee->prop.max.w = 0;
ee->prop.max.h = 0;
ee->prop.layer = 0;
ee->prop.focused = 1;
ee->prop.borderless = 0;
ee->prop.override = 1;
ee->prop.maximized = 0;
ee->prop.withdrawn = 0;
ee->prop.sticky = 0;*/
//ee->prop.cursor.object = 0;
/* init evas here */
ee->evas = evas_new();

View File

@ -143,10 +143,7 @@ struct _Ecore_Evas_Engine
#endif
#ifdef BUILD_ECORE_EVAS_DIRECTFB
struct {
Ecore_DirectFB_Window *window;
/*IDirectFBWindow *window;
DirectFBSurface *surface;
DirectFBWindowID id;*/
Ecore_DirectFB_Window *window;
} directfb;
#endif
};