2005-02-07 05:51:09 -08:00
|
|
|
/*
|
|
|
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
|
|
*/
|
2005-01-12 08:03:09 -08:00
|
|
|
#ifdef E_TYPEDEFS
|
2005-01-03 01:26:13 -08:00
|
|
|
|
|
|
|
typedef struct _E_Zone E_Zone;
|
|
|
|
|
2005-01-15 00:31:39 -08:00
|
|
|
typedef struct _E_Event_Zone_Desk_Count_Set E_Event_Zone_Desk_Count_Set;
|
2005-07-01 01:20:05 -07:00
|
|
|
/* TODO: Move this to a general place? */
|
|
|
|
typedef struct _E_Event_Pointer_Warp E_Event_Pointer_Warp;
|
2005-01-15 00:31:39 -08:00
|
|
|
|
2005-01-12 08:03:09 -08:00
|
|
|
#else
|
|
|
|
#ifndef E_ZONE_H
|
|
|
|
#define E_ZONE_H
|
|
|
|
|
2005-01-21 22:58:34 -08:00
|
|
|
#define E_ZONE_TYPE 0xE0b0100d
|
|
|
|
|
2005-01-03 01:26:13 -08:00
|
|
|
struct _E_Zone
|
|
|
|
{
|
|
|
|
E_Object e_obj_inherit;
|
|
|
|
|
|
|
|
int x, y, w, h;
|
|
|
|
char *name;
|
2005-02-13 04:33:31 -08:00
|
|
|
/* num matches the id of the xinerama screen
|
2005-02-21 08:16:40 -08:00
|
|
|
* this zone belongs to. */
|
2005-05-12 06:13:53 -07:00
|
|
|
unsigned int num;
|
2005-01-03 01:26:13 -08:00
|
|
|
E_Container *container;
|
2005-07-20 06:07:58 -07:00
|
|
|
int fullscreen;
|
2005-01-03 01:26:13 -08:00
|
|
|
|
|
|
|
Evas_Object *bg_object;
|
|
|
|
Evas_Object *bg_event_object;
|
2005-01-20 05:42:51 -08:00
|
|
|
Evas_Object *bg_clip_object;
|
2005-06-29 07:28:47 -07:00
|
|
|
Evas_Object *prev_bg_object;
|
2005-06-30 07:07:28 -07:00
|
|
|
Evas_Object *transition_object;
|
2005-01-03 01:26:13 -08:00
|
|
|
|
2005-01-08 06:41:21 -08:00
|
|
|
int desk_x_count, desk_y_count;
|
|
|
|
int desk_x_current, desk_y_current;
|
2005-01-12 08:03:09 -08:00
|
|
|
E_Desk **desks;
|
2005-04-22 01:19:39 -07:00
|
|
|
|
|
|
|
Evas_List *handlers;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
Ecore_X_Window top, right, bottom, left;
|
|
|
|
Ecore_Timer *timer;
|
2005-04-22 02:23:00 -07:00
|
|
|
E_Direction direction;
|
2005-04-22 01:19:39 -07:00
|
|
|
} flip;
|
2005-05-05 01:33:17 -07:00
|
|
|
|
|
|
|
E_Action *cur_mouse_action;
|
2005-05-06 21:34:26 -07:00
|
|
|
Evas_List *popups;
|
2005-07-20 06:07:58 -07:00
|
|
|
|
|
|
|
Ecore_Evas *black_ecore_evas;
|
|
|
|
Evas *black_evas;
|
|
|
|
Ecore_X_Window black_win;
|
2005-01-03 01:26:13 -08:00
|
|
|
};
|
|
|
|
|
2005-01-15 00:31:39 -08:00
|
|
|
struct _E_Event_Zone_Desk_Count_Set
|
|
|
|
{
|
|
|
|
E_Zone *zone;
|
|
|
|
};
|
|
|
|
|
2005-07-01 01:20:05 -07:00
|
|
|
struct _E_Event_Pointer_Warp
|
2005-06-08 07:06:28 -07:00
|
|
|
{
|
2005-07-01 01:20:05 -07:00
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} prev;
|
|
|
|
struct {
|
|
|
|
int x, y;
|
|
|
|
} curr;
|
2005-06-08 07:06:28 -07:00
|
|
|
};
|
|
|
|
|
2005-01-05 02:37:53 -08:00
|
|
|
EAPI int e_zone_init(void);
|
|
|
|
EAPI int e_zone_shutdown(void);
|
2005-02-13 04:33:31 -08:00
|
|
|
EAPI E_Zone *e_zone_new(E_Container *con, int num, int x, int y, int w, int h);
|
2005-09-02 02:56:01 -07:00
|
|
|
EAPI void e_zone_name_set(E_Zone *zone, const char *name);
|
2005-01-03 01:26:13 -08:00
|
|
|
EAPI void e_zone_move(E_Zone *zone, int x, int y);
|
|
|
|
EAPI void e_zone_resize(E_Zone *zone, int w, int h);
|
|
|
|
EAPI void e_zone_move_resize(E_Zone *zone, int x, int y, int w, int h);
|
2005-07-20 06:07:58 -07:00
|
|
|
EAPI void e_zone_fullscreen_set(E_Zone *zone, int on);
|
2005-01-03 01:26:13 -08:00
|
|
|
EAPI E_Zone *e_zone_current_get(E_Container *con);
|
|
|
|
EAPI void e_zone_bg_reconfigure(E_Zone *zone);
|
2005-04-22 02:38:59 -07:00
|
|
|
EAPI void e_zone_flip_coords_handle(E_Zone *zone, int x, int y);
|
2005-01-08 13:21:56 -08:00
|
|
|
EAPI void e_zone_desk_count_set(E_Zone *zone, int x_count, int y_count);
|
2005-01-09 10:58:13 -08:00
|
|
|
EAPI void e_zone_desk_count_get(E_Zone *zone, int *x_count, int *y_count);
|
2005-04-29 12:42:19 -07:00
|
|
|
EAPI void e_zone_update_flip(E_Zone *zone);
|
2005-07-11 20:53:56 -07:00
|
|
|
EAPI void e_zone_update_flip_all(void);
|
2005-04-29 21:21:55 -07:00
|
|
|
EAPI void e_zone_desk_flip_by(E_Zone *zone, int dx, int dy);
|
|
|
|
EAPI void e_zone_desk_flip_to(E_Zone *zone, int x, int y);
|
|
|
|
EAPI void e_zone_desk_linear_flip_by(E_Zone *zone, int dx);
|
|
|
|
EAPI void e_zone_desk_linear_flip_to(E_Zone *zone, int x);
|
2005-07-26 21:51:42 -07:00
|
|
|
EAPI void e_zone_flip_win_disable(void);
|
|
|
|
EAPI void e_zone_flip_win_restore(void);
|
2005-06-02 02:49:07 -07:00
|
|
|
|
|
|
|
EAPI int e_zone_app_exec(E_Zone *zone, E_App *a);
|
2005-07-26 21:51:42 -07:00
|
|
|
|
2005-01-15 00:31:39 -08:00
|
|
|
extern EAPI int E_EVENT_ZONE_DESK_COUNT_SET;
|
2005-07-01 01:20:05 -07:00
|
|
|
extern EAPI int E_EVENT_POINTER_WARP;
|
2005-01-15 00:31:39 -08:00
|
|
|
|
2005-01-03 01:26:13 -08:00
|
|
|
#endif
|
2005-01-12 08:03:09 -08:00
|
|
|
#endif
|