2005-02-07 05:51:09 -08:00
|
|
|
/*
|
|
|
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
|
|
*/
|
2005-01-15 01:50:26 -08:00
|
|
|
#ifdef E_TYPEDEFS
|
|
|
|
|
|
|
|
typedef enum _E_Gadman_Policy
|
|
|
|
{
|
|
|
|
/* type */
|
2005-01-15 07:21:57 -08:00
|
|
|
E_GADMAN_POLICY_ANYWHERE = 0,
|
|
|
|
E_GADMAN_POLICY_EDGES = 1,
|
2005-01-15 01:50:26 -08:00
|
|
|
/* extra flags */
|
2005-01-15 07:21:57 -08:00
|
|
|
E_GADMAN_POLICY_FIXED_ZONE = 1 << 8,
|
|
|
|
E_GADMAN_POLICY_HSIZE = 1 << 9,
|
|
|
|
E_GADMAN_POLICY_VSIZE = 1 << 10,
|
|
|
|
E_GADMAN_POLICY_HMOVE = 1 << 11,
|
2006-01-19 20:04:14 -08:00
|
|
|
E_GADMAN_POLICY_VMOVE = 1 << 12,
|
|
|
|
/* more extra flags */
|
|
|
|
E_GADMAN_POLICY_ALLOW_OVERLAP = 1 << 15,
|
|
|
|
E_GADMAN_POLICY_ALWAYS_ON_TOP = 1 << 16 // not used yet
|
2005-01-15 01:50:26 -08:00
|
|
|
} E_Gadman_Policy;
|
|
|
|
|
2005-01-15 07:21:57 -08:00
|
|
|
typedef enum _E_Gadman_Change
|
|
|
|
{
|
2005-01-20 05:42:51 -08:00
|
|
|
E_GADMAN_CHANGE_MOVE_RESIZE,
|
2005-01-18 07:40:54 -08:00
|
|
|
E_GADMAN_CHANGE_EDGE,
|
2005-01-20 05:42:51 -08:00
|
|
|
E_GADMAN_CHANGE_ZONE,
|
|
|
|
E_GADMAN_CHANGE_RAISE
|
2005-01-15 07:21:57 -08:00
|
|
|
} E_Gadman_Change;
|
|
|
|
|
2005-01-18 07:40:54 -08:00
|
|
|
typedef enum _E_Gadman_Edge
|
|
|
|
{
|
|
|
|
E_GADMAN_EDGE_LEFT,
|
|
|
|
E_GADMAN_EDGE_RIGHT,
|
|
|
|
E_GADMAN_EDGE_TOP,
|
|
|
|
E_GADMAN_EDGE_BOTTOM
|
|
|
|
} E_Gadman_Edge;
|
|
|
|
|
2005-01-17 00:54:37 -08:00
|
|
|
typedef enum _E_Gadman_Mode
|
|
|
|
{
|
|
|
|
E_GADMAN_MODE_NORMAL,
|
|
|
|
E_GADMAN_MODE_EDIT
|
|
|
|
} E_Gadman_Mode;
|
|
|
|
|
2005-01-15 01:50:26 -08:00
|
|
|
typedef struct _E_Gadman E_Gadman;
|
|
|
|
typedef struct _E_Gadman_Client E_Gadman_Client;
|
|
|
|
|
|
|
|
#else
|
|
|
|
#ifndef E_GADMAN_H
|
|
|
|
#define E_GADMAN_H
|
|
|
|
|
2005-01-21 22:58:34 -08:00
|
|
|
#define E_GADMAN_TYPE 0xE0b01006
|
|
|
|
#define E_GADMAN_CLIENT_TYPE 0xE0b01007
|
|
|
|
|
2005-01-15 01:50:26 -08:00
|
|
|
struct _E_Gadman
|
|
|
|
{
|
|
|
|
E_Object e_obj_inherit;
|
|
|
|
E_Container *container;
|
|
|
|
Evas_List *clients;
|
2005-01-17 00:54:37 -08:00
|
|
|
E_Gadman_Mode mode;
|
2005-01-15 01:50:26 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _E_Gadman_Client
|
|
|
|
{
|
|
|
|
E_Object e_obj_inherit;
|
|
|
|
E_Gadman *gadman;
|
2005-01-15 07:21:57 -08:00
|
|
|
|
|
|
|
Evas_Object *control_object;
|
2005-01-17 08:18:34 -08:00
|
|
|
Evas_Object *event_object;
|
|
|
|
E_Menu *menu;
|
2005-01-17 02:05:15 -08:00
|
|
|
Evas_Coord down_x, down_y;
|
|
|
|
Evas_Coord down_store_x, down_store_y, down_store_w, down_store_h;
|
|
|
|
unsigned char moving : 1;
|
|
|
|
unsigned char resizing_l : 1;
|
|
|
|
unsigned char resizing_r : 1;
|
|
|
|
unsigned char resizing_u : 1;
|
|
|
|
unsigned char resizing_d : 1;
|
2005-01-18 07:40:54 -08:00
|
|
|
E_Gadman_Edge edge;
|
2005-01-15 07:21:57 -08:00
|
|
|
char *domain;
|
2005-01-17 00:54:37 -08:00
|
|
|
E_Zone *zone;
|
2005-01-15 07:21:57 -08:00
|
|
|
int instance;
|
|
|
|
E_Gadman_Policy policy;
|
|
|
|
Evas_Coord x, y, w, h;
|
|
|
|
Evas_Coord minw, minh, maxw, maxh;
|
2005-01-18 07:40:54 -08:00
|
|
|
unsigned char use_autow : 1;
|
|
|
|
unsigned char use_autoh : 1;
|
|
|
|
Evas_Coord autow, autoh;
|
2005-01-15 07:21:57 -08:00
|
|
|
double ax, ay;
|
|
|
|
double mina, maxa;
|
2005-09-23 16:40:45 -07:00
|
|
|
struct {
|
|
|
|
int l, r, t, b;
|
|
|
|
} pad;
|
2005-01-15 07:21:57 -08:00
|
|
|
void (*func) (void *data, E_Gadman_Client *gmc, E_Gadman_Change change);
|
|
|
|
void *data;
|
2005-08-25 00:42:44 -07:00
|
|
|
void *config;
|
2005-01-15 01:50:26 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
EAPI int e_gadman_init(void);
|
|
|
|
EAPI int e_gadman_shutdown(void);
|
2005-01-18 07:40:54 -08:00
|
|
|
EAPI E_Gadman *e_gadman_new(E_Container *con);
|
2005-01-17 00:54:37 -08:00
|
|
|
EAPI void e_gadman_mode_set(E_Gadman *gm, E_Gadman_Mode mode);
|
|
|
|
EAPI E_Gadman_Mode e_gadman_mode_get(E_Gadman *gm);
|
2005-08-25 00:42:44 -07:00
|
|
|
EAPI void e_gadman_all_save(E_Gadman *gm);
|
2005-01-21 21:21:48 -08:00
|
|
|
EAPI void e_gadman_container_resize(E_Gadman *gm);
|
2005-01-15 01:50:26 -08:00
|
|
|
EAPI E_Gadman_Client *e_gadman_client_new(E_Gadman *gm);
|
2005-01-17 02:05:15 -08:00
|
|
|
EAPI void e_gadman_client_save(E_Gadman_Client *gmc);
|
2005-01-19 06:31:40 -08:00
|
|
|
EAPI void e_gadman_client_edge_set(E_Gadman_Client *gmc, E_Gadman_Edge edge);
|
2005-01-17 02:05:15 -08:00
|
|
|
EAPI void e_gadman_client_load(E_Gadman_Client *gmc);
|
2005-01-17 00:54:37 -08:00
|
|
|
EAPI void e_gadman_client_domain_set(E_Gadman_Client *gmc, char *domain, int instance);
|
|
|
|
EAPI void e_gadman_client_zone_set(E_Gadman_Client *gmc, E_Zone *zone);
|
2005-01-15 01:50:26 -08:00
|
|
|
EAPI void e_gadman_client_policy_set(E_Gadman_Client *gmc, E_Gadman_Policy pol);
|
|
|
|
EAPI void e_gadman_client_min_size_set(E_Gadman_Client *gmc, Evas_Coord minw, Evas_Coord minh);
|
2005-01-15 07:21:57 -08:00
|
|
|
EAPI void e_gadman_client_max_size_set(E_Gadman_Client *gmc, Evas_Coord maxw, Evas_Coord maxh);
|
|
|
|
EAPI void e_gadman_client_align_set(E_Gadman_Client *gmc, double xalign, double yalign);
|
|
|
|
EAPI void e_gadman_client_aspect_set(E_Gadman_Client *gmc, double mina, double maxa);
|
2005-09-23 16:40:45 -07:00
|
|
|
EAPI void e_gadman_client_padding_set(E_Gadman_Client *gmc, int l, int r, int t, int b);
|
2005-01-18 07:40:54 -08:00
|
|
|
EAPI void e_gadman_client_auto_size_set(E_Gadman_Client *gmc, Evas_Coord autow, Evas_Coord autoh);
|
2005-01-21 07:45:56 -08:00
|
|
|
EAPI void e_gadman_client_edge_set(E_Gadman_Client *gmc, E_Gadman_Edge edge);
|
|
|
|
EAPI E_Gadman_Edge e_gadman_client_edge_get(E_Gadman_Client *gmc);
|
2005-01-15 07:21:57 -08:00
|
|
|
EAPI void e_gadman_client_geometry_get(E_Gadman_Client *gmc, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
|
2005-07-08 02:45:54 -07:00
|
|
|
EAPI void e_gadman_client_user_resize(E_Gadman_Client *gmc, Evas_Coord w, Evas_Coord h);
|
2005-01-21 07:45:56 -08:00
|
|
|
EAPI void e_gadman_client_resize(E_Gadman_Client *gmc, Evas_Coord w, Evas_Coord h);
|
2005-01-15 07:21:57 -08:00
|
|
|
EAPI void e_gadman_client_change_func_set(E_Gadman_Client *gmc, void (*func) (void *data, E_Gadman_Client *gmc, E_Gadman_Change change), void *data);
|
2005-01-17 08:18:34 -08:00
|
|
|
EAPI E_Menu *e_gadman_client_menu_new(E_Gadman_Client *gmc);
|
2005-01-15 07:21:57 -08:00
|
|
|
|
2005-01-15 01:50:26 -08:00
|
|
|
#endif
|
|
|
|
#endif
|