aboutsummaryrefslogtreecommitdiffstats
path: root/src/bin/e_dnd.h
diff options
context:
space:
mode:
authorsebastid <sebastid>2005-05-03 17:27:42 +0000
committersebastid <sebastid@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>2005-05-03 17:27:42 +0000
commit954a7a11f63def364e286da28aea53d59f28f93b (patch)
treee20da2afdd2be629bac526017de068e22b5b9bbe /src/bin/e_dnd.h
parentefa853f59eb4be9859fcb5b034d17bed31942fab (diff)
downloadenlightenment-954a7a11f63def364e286da28aea53d59f28f93b.tar.gz
enlightenment-954a7a11f63def364e286da28aea53d59f28f93b.tar.xz
enlightenment-954a7a11f63def364e286da28aea53d59f28f93b.zip
Icon dragging in the ibar.
SVN revision: 14579
Diffstat (limited to 'src/bin/e_dnd.h')
-rw-r--r--src/bin/e_dnd.h27
1 files changed, 22 insertions, 5 deletions
diff --git a/src/bin/e_dnd.h b/src/bin/e_dnd.h
index 6f665f9fc..c292d79c0 100644
--- a/src/bin/e_dnd.h
+++ b/src/bin/e_dnd.h
@@ -5,8 +5,10 @@
#ifdef E_TYPEDEFS
typedef struct _E_Drop_Handler E_Drop_Handler;
-typedef struct _E_Drop_Event E_Drop_Event;
+typedef struct _E_Enter_Event E_Enter_Event;
typedef struct _E_Move_Event E_Move_Event;
+typedef struct _E_Leave_Event E_Leave_Event;
+typedef struct _E_Drop_Event E_Drop_Event;
#else
#ifndef E_DND_H
@@ -16,17 +18,19 @@ struct _E_Drop_Handler
{
void *data;
struct {
- void (*drop)(void *data, const char *type, void *event);
+ void (*enter)(void *data, const char *type, void *event);
void (*move)(void *data, const char *type, void *event);
+ void (*leave)(void *data, const char *type, void *event);
+ void (*drop)(void *data, const char *type, void *event);
} cb;
char *type;
int x, y, w, h;
unsigned char active : 1;
+ unsigned char entered : 1;
};
-struct _E_Drop_Event
+struct _E_Enter_Event
{
- void *data;
int x, y;
};
@@ -35,6 +39,17 @@ struct _E_Move_Event
int x, y;
};
+struct _E_Leave_Event
+{
+ int x, y;
+};
+
+struct _E_Drop_Event
+{
+ void *data;
+ int x, y;
+};
+
EAPI int e_dnd_init(void);
EAPI int e_dnd_shutdown(void);
@@ -46,8 +61,10 @@ EAPI void e_drag_update(int x, int y);
EAPI void e_drag_end(int x, int y);
EAPI E_Drop_Handler *e_drop_handler_add(void *data,
- void (*drop_cb)(void *data, const char *type, void *event),
+ void (*enter_cb)(void *data, const char *type, void *event),
void (*move_cb)(void *data, const char *type, void *event),
+ void (*leave_cb)(void *data, const char *type, void *event),
+ void (*drop_cb)(void *data, const char *type, void *event),
const char *type, int x, int y, int w, int h);
EAPI void e_drop_handler_del(E_Drop_Handler *handler);