jamse brown ... errr... gadman is dead.
basically if moduels wish to put objects on a desktop - they now will have to DIY and look after themselves. until we have gadcons with "free" layout that do similar stuff - but this simply means module authors need to d a bit more work. gadman code is unmaintained and a burden - thus removed. also borders and e_win's have their own pointers now - this should nuke the stuck pointer bug... :) SVN revision: 24925
This commit is contained in:
parent
770820eee8
commit
0a5e26b82b
|
@ -54,7 +54,6 @@ e_place.h \
|
|||
e_resist.h \
|
||||
e_startup.h \
|
||||
e_hints.h \
|
||||
e_gadman.h \
|
||||
e_signals.h \
|
||||
e_xinerama.h \
|
||||
e_table.h \
|
||||
|
@ -203,7 +202,6 @@ e_place.c \
|
|||
e_resist.c \
|
||||
e_startup.c \
|
||||
e_hints.c \
|
||||
e_gadman.c \
|
||||
e_signals.c \
|
||||
e_xinerama.c \
|
||||
e_table.c \
|
||||
|
|
|
@ -1351,49 +1351,6 @@ ACT_FN_GO_KEY(winlist)
|
|||
}
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
ACT_FN_GO(edit_mode)
|
||||
{
|
||||
if (!obj) obj = E_OBJECT(e_container_current_get(e_manager_current_get()));
|
||||
if (!obj) return;
|
||||
if (obj->type != E_CONTAINER_TYPE)
|
||||
{
|
||||
obj = E_OBJECT(e_container_current_get(e_manager_current_get()));
|
||||
if (!obj) return;
|
||||
}
|
||||
e_gadman_mode_set(((E_Container *)obj)->gadman, E_GADMAN_MODE_EDIT);
|
||||
e_gadcon_all_edit_begin();
|
||||
}
|
||||
ACT_FN_END(edit_mode)
|
||||
{
|
||||
if (!obj) obj = E_OBJECT(e_container_current_get(e_manager_current_get()));
|
||||
if (!obj) return;
|
||||
if (obj->type != E_CONTAINER_TYPE)
|
||||
{
|
||||
obj = E_OBJECT(e_container_current_get(e_manager_current_get()));
|
||||
if (!obj) return;
|
||||
}
|
||||
e_gadman_mode_set(((E_Container *)obj)->gadman, E_GADMAN_MODE_NORMAL);
|
||||
e_gadcon_all_edit_end();
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
ACT_FN_GO(edit_mode_toggle)
|
||||
{
|
||||
if (!obj) obj = E_OBJECT(e_container_current_get(e_manager_current_get()));
|
||||
if (!obj) return;
|
||||
if (obj->type != E_CONTAINER_TYPE)
|
||||
{
|
||||
obj = E_OBJECT(e_container_current_get(e_manager_current_get()));
|
||||
if (!obj) return;
|
||||
}
|
||||
if (e_gadman_mode_get(((E_Container *)obj)->gadman) == E_GADMAN_MODE_NORMAL)
|
||||
e_gadman_mode_set(((E_Container *)obj)->gadman, E_GADMAN_MODE_EDIT);
|
||||
else
|
||||
e_gadman_mode_set(((E_Container *)obj)->gadman, E_GADMAN_MODE_NORMAL);
|
||||
}
|
||||
/***************************************************************************/
|
||||
|
||||
/***************************************************************************/
|
||||
ACT_FN_GO(desk_deskshow_toggle)
|
||||
{
|
||||
|
@ -1476,10 +1433,8 @@ ACT_FN_GO(pointer_resize_push)
|
|||
return;
|
||||
if (bd->zone)
|
||||
man = bd->zone->container->manager;
|
||||
e_pointer_type_push(bd->pointer, bd, params);
|
||||
}
|
||||
if (!man) man = e_manager_current_get();
|
||||
if (!man) return;
|
||||
e_pointer_type_push(man->pointer, obj, params);
|
||||
}
|
||||
|
||||
ACT_FN_GO(pointer_resize_pop)
|
||||
|
@ -1497,10 +1452,8 @@ ACT_FN_GO(pointer_resize_pop)
|
|||
return;
|
||||
if (bd->zone)
|
||||
man = (E_Manager *)bd->zone->container->manager;
|
||||
e_pointer_type_pop(bd->pointer, bd, params);
|
||||
}
|
||||
if (!man) man = e_manager_current_get();
|
||||
if (!man) return;
|
||||
e_pointer_type_pop(man->pointer, obj, params);
|
||||
}
|
||||
|
||||
/***************************************************************************/
|
||||
|
@ -1812,14 +1765,6 @@ e_actions_init(void)
|
|||
ACT_GO_MOUSE(winlist);
|
||||
ACT_GO_KEY(winlist);
|
||||
|
||||
ACT_GO(edit_mode);
|
||||
ACT_END(edit_mode);
|
||||
|
||||
/* edit_mode */
|
||||
ACT_GO(edit_mode_toggle);
|
||||
e_register_action_predef_name(_("Gadgets"), _("Toggle Edit Mode"), "edit_mode_toggle", NULL,
|
||||
EDIT_RESTRICT_ACTION | EDIT_RESTRICT_PARAMS, 0);
|
||||
|
||||
/* restart */
|
||||
ACT_GO(restart);
|
||||
e_register_action_predef_name(_("Enlightenment"), _("Restart"), "restart", NULL,
|
||||
|
|
|
@ -473,6 +473,7 @@ e_border_new(E_Container *con, Ecore_X_Window win, int first_map, int internal)
|
|||
|
||||
focus_stack = evas_list_append(focus_stack, bd);
|
||||
|
||||
bd->pointer = e_pointer_window_new(bd->win, 0);
|
||||
return bd;
|
||||
}
|
||||
|
||||
|
@ -2973,6 +2974,7 @@ e_border_resize_limit(E_Border *bd, int *w, int *h)
|
|||
static void
|
||||
_e_border_free(E_Border *bd)
|
||||
{
|
||||
e_object_del(E_OBJECT(bd->pointer));
|
||||
if (bd->focused)
|
||||
{
|
||||
if (e_config->focus_revert_on_hide_or_close)
|
||||
|
@ -3189,8 +3191,6 @@ _e_border_del(E_Border *bd)
|
|||
ecore_event_add(E_EVENT_BORDER_REMOVE, ev, _e_border_event_border_remove_free, NULL);
|
||||
}
|
||||
|
||||
/* remove all pointers for this win. */
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, NULL);
|
||||
e_container_border_remove(bd);
|
||||
if (bd->parent)
|
||||
{
|
||||
|
@ -6981,28 +6981,28 @@ _e_border_pointer_resize_begin(E_Border *bd)
|
|||
switch (bd->resize_mode)
|
||||
{
|
||||
case RESIZE_TL:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_tl");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_tl");
|
||||
break;
|
||||
case RESIZE_T:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_t");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_t");
|
||||
break;
|
||||
case RESIZE_TR:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_tr");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_tr");
|
||||
break;
|
||||
case RESIZE_R:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_r");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_r");
|
||||
break;
|
||||
case RESIZE_BR:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_br");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_br");
|
||||
break;
|
||||
case RESIZE_B:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_b");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_b");
|
||||
break;
|
||||
case RESIZE_BL:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_bl");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_bl");
|
||||
break;
|
||||
case RESIZE_L:
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "resize_l");
|
||||
e_pointer_type_push(bd->pointer, bd, "resize_l");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -7013,28 +7013,28 @@ _e_border_pointer_resize_end(E_Border *bd)
|
|||
switch (bd->resize_mode)
|
||||
{
|
||||
case RESIZE_TL:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_tl");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_tl");
|
||||
break;
|
||||
case RESIZE_T:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_t");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_t");
|
||||
break;
|
||||
case RESIZE_TR:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_tr");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_tr");
|
||||
break;
|
||||
case RESIZE_R:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_r");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_r");
|
||||
break;
|
||||
case RESIZE_BR:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_br");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_br");
|
||||
break;
|
||||
case RESIZE_B:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_b");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_b");
|
||||
break;
|
||||
case RESIZE_BL:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_bl");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_bl");
|
||||
break;
|
||||
case RESIZE_L:
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "resize_l");
|
||||
e_pointer_type_pop(bd->pointer, bd, "resize_l");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -7042,11 +7042,11 @@ _e_border_pointer_resize_end(E_Border *bd)
|
|||
static void
|
||||
_e_border_pointer_move_begin(E_Border *bd)
|
||||
{
|
||||
e_pointer_type_push(bd->zone->container->manager->pointer, bd, "move");
|
||||
e_pointer_type_push(bd->pointer, bd, "move");
|
||||
}
|
||||
|
||||
static void
|
||||
_e_border_pointer_move_end(E_Border *bd)
|
||||
{
|
||||
e_pointer_type_pop(bd->zone->container->manager->pointer, bd, "move");
|
||||
e_pointer_type_pop(bd->pointer, bd, "move");
|
||||
}
|
||||
|
|
|
@ -444,6 +444,7 @@ struct _E_Border
|
|||
Evas_List *transients;
|
||||
|
||||
E_App *app;
|
||||
E_Pointer *pointer;
|
||||
};
|
||||
|
||||
struct _E_Border_Pending_Move_Resize
|
||||
|
|
|
@ -857,9 +857,6 @@ e_config_init(void)
|
|||
CFG_KEYBIND(E_BINDING_CONTEXT_ANY, "Tab",
|
||||
E_BINDING_MODIFIER_SHIFT | E_BINDING_MODIFIER_ALT, 0,
|
||||
"winlist", "prev");
|
||||
CFG_KEYBIND(E_BINDING_CONTEXT_ANY, "g",
|
||||
E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||
"edit_mode_toggle", NULL);
|
||||
CFG_KEYBIND(E_BINDING_CONTEXT_ANY, "End",
|
||||
E_BINDING_MODIFIER_CTRL | E_BINDING_MODIFIER_ALT, 0,
|
||||
"restart", NULL);
|
||||
|
|
|
@ -174,8 +174,6 @@ e_container_new(E_Manager *man)
|
|||
{
|
||||
zone = e_zone_new(con, 0, 0, 0, con->w, con->h);
|
||||
}
|
||||
con->gadman = e_gadman_new(con);
|
||||
|
||||
return con;
|
||||
}
|
||||
|
||||
|
@ -965,7 +963,6 @@ _e_container_free(E_Container *con)
|
|||
l = l->next;
|
||||
e_object_del(E_OBJECT(tmp->data));
|
||||
}
|
||||
if (con->gadman) e_object_del(E_OBJECT(con->gadman));
|
||||
con->manager->containers = evas_list_remove(con->manager->containers, con);
|
||||
e_canvas_del(con->bg_ecore_evas);
|
||||
ecore_evas_free(con->bg_ecore_evas);
|
||||
|
@ -1150,7 +1147,6 @@ _e_container_resize_handle(E_Container *con)
|
|||
ev->container = con;
|
||||
e_object_ref(E_OBJECT(con));
|
||||
|
||||
e_gadman_all_save(con->gadman);
|
||||
e_xinerama_update();
|
||||
screens = (Evas_List *)e_xinerama_screens_get();
|
||||
if (screens)
|
||||
|
@ -1186,8 +1182,6 @@ _e_container_resize_handle(E_Container *con)
|
|||
e_shelf_zone_move_resize_handle(zone);
|
||||
}
|
||||
|
||||
e_gadman_container_resize(con->gadman);
|
||||
|
||||
ecore_event_add(E_EVENT_CONTAINER_RESIZE, ev, _e_container_event_container_resize_free, NULL);
|
||||
|
||||
for (i = 0; i < 7; i++)
|
||||
|
|
|
@ -35,7 +35,6 @@ struct _E_Container
|
|||
int x, y, w, h;
|
||||
char visible : 1;
|
||||
E_Manager *manager;
|
||||
E_Gadman *gadman;
|
||||
|
||||
unsigned int num;
|
||||
const char *name;
|
||||
|
|
2097
src/bin/e_gadman.c
2097
src/bin/e_gadman.c
File diff suppressed because it is too large
Load Diff
|
@ -1,128 +0,0 @@
|
|||
/*
|
||||
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
||||
*/
|
||||
#ifdef E_TYPEDEFS
|
||||
|
||||
typedef enum _E_Gadman_Policy
|
||||
{
|
||||
/* type */
|
||||
E_GADMAN_POLICY_ANYWHERE = 0,
|
||||
E_GADMAN_POLICY_EDGES = 1,
|
||||
/* extra flags */
|
||||
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,
|
||||
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
|
||||
} E_Gadman_Policy;
|
||||
|
||||
typedef enum _E_Gadman_Change
|
||||
{
|
||||
E_GADMAN_CHANGE_MOVE_RESIZE,
|
||||
E_GADMAN_CHANGE_EDGE,
|
||||
E_GADMAN_CHANGE_ZONE,
|
||||
E_GADMAN_CHANGE_RAISE
|
||||
} E_Gadman_Change;
|
||||
|
||||
typedef enum _E_Gadman_Edge
|
||||
{
|
||||
E_GADMAN_EDGE_LEFT,
|
||||
E_GADMAN_EDGE_RIGHT,
|
||||
E_GADMAN_EDGE_TOP,
|
||||
E_GADMAN_EDGE_BOTTOM
|
||||
} E_Gadman_Edge;
|
||||
|
||||
typedef enum _E_Gadman_Mode
|
||||
{
|
||||
E_GADMAN_MODE_NORMAL,
|
||||
E_GADMAN_MODE_EDIT
|
||||
} E_Gadman_Mode;
|
||||
|
||||
typedef struct _E_Gadman E_Gadman;
|
||||
typedef struct _E_Gadman_Client E_Gadman_Client;
|
||||
|
||||
#else
|
||||
#ifndef E_GADMAN_H
|
||||
#define E_GADMAN_H
|
||||
|
||||
#define E_GADMAN_TYPE 0xE0b01006
|
||||
#define E_GADMAN_CLIENT_TYPE 0xE0b01007
|
||||
|
||||
struct _E_Gadman
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
E_Container *container;
|
||||
Evas_List *clients;
|
||||
E_Gadman_Mode mode;
|
||||
};
|
||||
|
||||
struct _E_Gadman_Client
|
||||
{
|
||||
E_Object e_obj_inherit;
|
||||
E_Gadman *gadman;
|
||||
|
||||
Evas_Object *control_object;
|
||||
Evas_Object *event_object;
|
||||
E_Menu *menu;
|
||||
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;
|
||||
E_Gadman_Edge edge;
|
||||
const char *domain;
|
||||
E_Zone *zone;
|
||||
int instance;
|
||||
E_Gadman_Policy policy;
|
||||
Evas_Coord x, y, w, h;
|
||||
Evas_Coord minw, minh, maxw, maxh;
|
||||
unsigned char use_autow : 1;
|
||||
unsigned char use_autoh : 1;
|
||||
unsigned char allow_overlap : 1;
|
||||
unsigned char always_on_top : 1;
|
||||
Evas_Coord autow, autoh;
|
||||
double ax, ay;
|
||||
double mina, maxa;
|
||||
struct {
|
||||
int l, r, t, b;
|
||||
} pad;
|
||||
void (*func) (void *data, E_Gadman_Client *gmc, E_Gadman_Change change);
|
||||
void *data;
|
||||
void *config;
|
||||
};
|
||||
|
||||
EAPI int e_gadman_init(void);
|
||||
EAPI int e_gadman_shutdown(void);
|
||||
EAPI E_Gadman *e_gadman_new(E_Container *con);
|
||||
EAPI void e_gadman_mode_set(E_Gadman *gm, E_Gadman_Mode mode);
|
||||
EAPI E_Gadman_Mode e_gadman_mode_get(E_Gadman *gm);
|
||||
EAPI void e_gadman_all_save(E_Gadman *gm);
|
||||
EAPI void e_gadman_container_resize(E_Gadman *gm);
|
||||
EAPI E_Gadman_Client *e_gadman_client_new(E_Gadman *gm);
|
||||
EAPI void e_gadman_client_save(E_Gadman_Client *gmc);
|
||||
EAPI void e_gadman_client_edge_set(E_Gadman_Client *gmc, E_Gadman_Edge edge);
|
||||
EAPI void e_gadman_client_load(E_Gadman_Client *gmc);
|
||||
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);
|
||||
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);
|
||||
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);
|
||||
EAPI void e_gadman_client_padding_set(E_Gadman_Client *gmc, int l, int r, int t, int b);
|
||||
EAPI void e_gadman_client_auto_size_set(E_Gadman_Client *gmc, Evas_Coord autow, Evas_Coord autoh);
|
||||
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);
|
||||
EAPI void e_gadman_client_geometry_get(E_Gadman_Client *gmc, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
|
||||
EAPI void e_gadman_client_user_resize(E_Gadman_Client *gmc, Evas_Coord w, Evas_Coord h);
|
||||
EAPI void e_gadman_client_resize(E_Gadman_Client *gmc, Evas_Coord w, Evas_Coord h);
|
||||
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);
|
||||
EAPI E_Menu *e_gadman_client_menu_new(E_Gadman_Client *gmc);
|
||||
|
||||
#endif
|
||||
#endif
|
|
@ -31,7 +31,6 @@
|
|||
#include "e_resist.h"
|
||||
#include "e_startup.h"
|
||||
#include "e_hints.h"
|
||||
#include "e_gadman.h"
|
||||
#include "e_signals.h"
|
||||
#include "e_xinerama.h"
|
||||
#include "e_table.h"
|
||||
|
|
|
@ -50,7 +50,7 @@ e_init_init(void)
|
|||
ecore_evas_name_class_set(_e_init_ecore_evas, "E", "Init_Window");
|
||||
ecore_evas_title_set(_e_init_ecore_evas, "Enlightenment Init");
|
||||
|
||||
_e_init_pointer = e_pointer_window_new(_e_init_win);
|
||||
_e_init_pointer = e_pointer_window_new(_e_init_win, 1);
|
||||
|
||||
ecore_evas_raise(_e_init_ecore_evas);
|
||||
ecore_evas_show(_e_init_ecore_evas);
|
||||
|
|
|
@ -79,7 +79,7 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
|||
E_Manager *man;
|
||||
man = l->data;
|
||||
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
|
||||
man->pointer = e_pointer_window_new(man->root);
|
||||
man->pointer = e_pointer_window_new(man->root, 1);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
@ -128,7 +128,7 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
|||
E_Manager *man;
|
||||
man = l->data;
|
||||
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
|
||||
man->pointer = e_pointer_window_new(man->root);
|
||||
man->pointer = e_pointer_window_new(man->root, 1);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
|
|
@ -5354,7 +5354,7 @@ break;
|
|||
E_Manager *man;
|
||||
man = ml->data;
|
||||
if (man->pointer) e_object_del(E_OBJECT(man->pointer));
|
||||
man->pointer = e_pointer_window_new(man->root);
|
||||
man->pointer = e_pointer_window_new(man->root, 1);
|
||||
}
|
||||
SAVE;
|
||||
END_INT;
|
||||
|
|
|
@ -907,7 +907,6 @@ _e_main_screens_init(void)
|
|||
if (!e_container_init()) return 0;
|
||||
if (!e_zone_init()) return 0;
|
||||
if (!e_desk_init()) return 0;
|
||||
if (!e_gadman_init()) return 0;
|
||||
if (!e_menu_init()) return 0;
|
||||
if (!e_exehist_init()) return 0;
|
||||
|
||||
|
@ -971,7 +970,6 @@ _e_main_screens_shutdown(void)
|
|||
e_focus_shutdown();
|
||||
e_exehist_shutdown();
|
||||
e_menu_shutdown();
|
||||
e_gadman_shutdown();
|
||||
e_desk_shutdown();
|
||||
e_zone_shutdown();
|
||||
e_container_shutdown();
|
||||
|
|
|
@ -148,7 +148,7 @@ e_manager_new(Ecore_X_Window root, int num)
|
|||
h = ecore_event_handler_add(ECORE_X_EVENT_SCREENSAVER_NOTIFY, _e_manager_cb_screensaver_notify, man);
|
||||
if (h) man->handlers = evas_list_append(man->handlers, h);
|
||||
|
||||
man->pointer = e_pointer_window_new(man->root);
|
||||
man->pointer = e_pointer_window_new(man->root, 1);
|
||||
|
||||
return man;
|
||||
}
|
||||
|
|
|
@ -130,14 +130,6 @@ e_maximize_border_gadman_fill(E_Border *bd, int *x1, int *y1, int *x2, int *y2)
|
|||
Evas_List *l, *rects = NULL;
|
||||
E_Maximize_Rect *r;
|
||||
|
||||
for (l = bd->zone->container->gadman->clients; l; l = l->next)
|
||||
{
|
||||
E_Gadman_Client *gmc;
|
||||
|
||||
gmc = l->data;
|
||||
if ((gmc->zone != bd->zone)) continue;
|
||||
OBSTACLE(gmc->x, gmc->y, gmc->x + gmc->w, gmc->y + gmc->h);
|
||||
}
|
||||
for (l = e_shelf_list(); l; l = l->next)
|
||||
{
|
||||
E_Shelf *es;
|
||||
|
|
|
@ -189,66 +189,6 @@ e_place_zone_region_smart(E_Zone *zone, Evas_List *skiplist, int x, int y, int w
|
|||
{
|
||||
Evas_List *l;
|
||||
|
||||
for (l = zone->container->gadman->clients; l; l = l->next)
|
||||
{
|
||||
E_Gadman_Client *gmc;
|
||||
int bx, by, bw, bh;
|
||||
|
||||
gmc = l->data;
|
||||
if ((gmc->zone != zone)) continue;
|
||||
|
||||
bx = gmc->x;
|
||||
by = gmc->y;
|
||||
bw = gmc->w;
|
||||
bh = gmc->h;
|
||||
if (E_INTERSECTS(bx, by, bw, bh, 0, 0, zw, zh))
|
||||
{
|
||||
if ((bx > 0) && (bx <= zw) && (!u_x[bx]))
|
||||
{
|
||||
a_w++;
|
||||
if (a_w > a_alloc_w)
|
||||
{
|
||||
a_alloc_w += 32;
|
||||
E_REALLOC(a_x, int, a_alloc_w);
|
||||
}
|
||||
a_x[a_w - 1] = bx;
|
||||
u_x[bx] = 1;
|
||||
}
|
||||
if (((bx + bw) > 0) && ((bx + bw) <= zw) && (!u_x[bx + bw]))
|
||||
{
|
||||
a_w++;
|
||||
if (a_w > a_alloc_w)
|
||||
{
|
||||
a_alloc_w += 32;
|
||||
E_REALLOC(a_x, int, a_alloc_w);
|
||||
}
|
||||
a_x[a_w - 1] = bx + bw;
|
||||
u_x[bx + bw] = 1;
|
||||
}
|
||||
if ((by > 0) && (by <= zh) && (!u_y[by]))
|
||||
{
|
||||
a_h++;
|
||||
if (a_h > a_alloc_h)
|
||||
{
|
||||
a_alloc_h += 32;
|
||||
E_REALLOC(a_y, int, a_alloc_h);
|
||||
}
|
||||
a_y[a_h - 1] = by;
|
||||
u_y[by] = 1;
|
||||
}
|
||||
if (((by + bh) > 0) && ((by + bh) <= zh) && (!u_y[by + bh]))
|
||||
{
|
||||
a_h++;
|
||||
if (a_h > a_alloc_h)
|
||||
{
|
||||
a_alloc_h += 32;
|
||||
E_REALLOC(a_y, int, a_alloc_h);
|
||||
}
|
||||
a_y[a_h - 1] = by + bh;
|
||||
u_y[by + bh] = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
for (l = e_shelf_list(); l; l = l->next)
|
||||
{
|
||||
E_Shelf *es;
|
||||
|
|
|
@ -20,6 +20,8 @@ struct _E_Pointer_Stack
|
|||
|
||||
static Evas_List *_e_pointers = NULL;
|
||||
|
||||
static void _e_pointer_canvas_add(E_Pointer *p);
|
||||
static void _e_pointer_canvas_del(E_Pointer *p);
|
||||
static void _e_pointer_cb_move(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info);
|
||||
static void _e_pointer_free(E_Pointer *p);
|
||||
static void _e_pointer_stack_free(E_Pointer_Stack *elem);
|
||||
|
@ -27,109 +29,29 @@ static int _e_pointer_type_set(E_Pointer *p, const char *type);
|
|||
|
||||
/* externally accessible functions */
|
||||
EAPI E_Pointer *
|
||||
e_pointer_window_new(Ecore_X_Window win)
|
||||
e_pointer_window_new(Ecore_X_Window win, int filled)
|
||||
{
|
||||
E_Pointer *p = NULL;
|
||||
|
||||
p = E_OBJECT_ALLOC(E_Pointer, E_POINTER_TYPE, _e_pointer_free);
|
||||
if (!p) return NULL;
|
||||
|
||||
if (e_config->use_e_cursor)
|
||||
{
|
||||
Evas_Engine_Info_Buffer *einfo;
|
||||
Evas_Object *o;
|
||||
int rmethod;
|
||||
|
||||
rmethod = evas_render_method_lookup("buffer");
|
||||
if (!rmethod) return NULL;
|
||||
|
||||
p = E_OBJECT_ALLOC(E_Pointer, E_POINTER_TYPE, _e_pointer_free);
|
||||
if (!p) return NULL;
|
||||
p->e_cursor = 1;
|
||||
p->win = win;
|
||||
|
||||
p->w = e_config->cursor_size;
|
||||
p->h = e_config->cursor_size;
|
||||
|
||||
/* create evas */
|
||||
p->evas = evas_new();
|
||||
if (!p->evas)
|
||||
{
|
||||
e_object_del(E_OBJECT(p));
|
||||
return NULL;
|
||||
}
|
||||
evas_output_method_set(p->evas, rmethod);
|
||||
evas_output_size_set(p->evas, p->w, p->h);
|
||||
evas_output_viewport_set(p->evas, 0, 0, p->w, p->h);
|
||||
|
||||
p->pixels = malloc(p->w * p->h * sizeof(int));
|
||||
if (!p->pixels)
|
||||
{
|
||||
e_object_del(E_OBJECT(p));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(p->evas);
|
||||
if (!einfo)
|
||||
{
|
||||
e_object_del(E_OBJECT(p));
|
||||
return NULL;
|
||||
}
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = p->pixels;
|
||||
einfo->info.dest_buffer_row_bytes = p->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
evas_engine_info_set(p->evas, (Evas_Engine_Info *)einfo);
|
||||
|
||||
/* set the pointer edje */
|
||||
o = edje_object_add(p->evas);
|
||||
if (!o)
|
||||
{
|
||||
e_object_del(E_OBJECT(p));
|
||||
return NULL;
|
||||
}
|
||||
p->pointer_object = o;
|
||||
|
||||
/* Create the hotspot object */
|
||||
o = evas_object_rectangle_add(p->evas);
|
||||
if (!o)
|
||||
{
|
||||
e_object_del(E_OBJECT(p));
|
||||
return NULL;
|
||||
}
|
||||
p->hot_object = o;
|
||||
evas_object_event_callback_add(o,
|
||||
EVAS_CALLBACK_MOVE,
|
||||
_e_pointer_cb_move, p);
|
||||
|
||||
/* Init the cursor object */
|
||||
if (ecore_x_cursor_color_supported_get())
|
||||
p->color = 1;
|
||||
else
|
||||
p->color = 0;
|
||||
|
||||
/* init edje */
|
||||
evas_object_move(p->pointer_object, 0, 0);
|
||||
evas_object_resize(p->pointer_object, p->w, p->h);
|
||||
evas_object_show(p->pointer_object);
|
||||
|
||||
ecore_x_cursor_size_set(e_config->cursor_size * 3 / 4);
|
||||
e_pointer_type_push(p, p, "default");
|
||||
|
||||
_e_pointers = evas_list_append(_e_pointers, p);
|
||||
if (ecore_x_cursor_color_supported_get()) p->color = 1;
|
||||
else p->color = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
p = E_OBJECT_ALLOC(E_Pointer, E_POINTER_TYPE, _e_pointer_free);
|
||||
if (!p) return NULL;
|
||||
p->e_cursor = 0;
|
||||
p->win = win;
|
||||
|
||||
ecore_x_cursor_size_set(e_config->cursor_size * 3 / 4);
|
||||
e_pointer_type_push(p, p, "default");
|
||||
|
||||
_e_pointers = evas_list_append(_e_pointers, p);
|
||||
}
|
||||
ecore_x_cursor_size_set(e_config->cursor_size * 3 / 4);
|
||||
if (filled) e_pointer_type_push(p, p, "default");
|
||||
_e_pointers = evas_list_append(_e_pointers, p);
|
||||
return p;
|
||||
}
|
||||
|
||||
|
@ -182,11 +104,15 @@ e_pointer_type_push(E_Pointer *p, void *obj, const char *type)
|
|||
E_Pointer_Stack *stack;
|
||||
|
||||
p->e_cursor = e_config->use_e_cursor;
|
||||
if (p->e_cursor)
|
||||
{
|
||||
if (!p->evas) _e_pointer_canvas_add(p);
|
||||
}
|
||||
|
||||
if (!_e_pointer_type_set(p, type))
|
||||
{
|
||||
p->e_cursor = 0;
|
||||
if (!_e_pointer_type_set(p, type))
|
||||
return;
|
||||
if (!_e_pointer_type_set(p, type)) return;
|
||||
}
|
||||
|
||||
if (p->type) evas_stringshare_del(p->type);
|
||||
|
@ -224,7 +150,11 @@ e_pointer_type_pop(E_Pointer *p, void *obj, const char *type)
|
|||
|
||||
if (!p->stack)
|
||||
{
|
||||
printf("BUG: No pointer on the stack!\n");
|
||||
if (p->e_cursor)
|
||||
{
|
||||
if (p->evas) _e_pointer_canvas_del(p);
|
||||
}
|
||||
ecore_x_window_cursor_set(p->win, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -267,6 +197,7 @@ e_pointer_idler_before(void)
|
|||
|
||||
p = l->data;
|
||||
if (!p->e_cursor) continue;
|
||||
if (!p->evas) continue;
|
||||
|
||||
updates = evas_render_updates(p->evas);
|
||||
if ((updates) || (p->hot.update))
|
||||
|
@ -283,6 +214,80 @@ e_pointer_idler_before(void)
|
|||
}
|
||||
|
||||
/* local subsystem functions */
|
||||
static void
|
||||
_e_pointer_canvas_add(E_Pointer *p)
|
||||
{
|
||||
Evas_Engine_Info_Buffer *einfo;
|
||||
Evas_Object *o;
|
||||
int rmethod;
|
||||
|
||||
p->w = e_config->cursor_size;
|
||||
p->h = e_config->cursor_size;
|
||||
|
||||
/* create evas */
|
||||
p->evas = evas_new();
|
||||
if (!p->evas)
|
||||
{
|
||||
e_object_del(E_OBJECT(p));
|
||||
return;
|
||||
}
|
||||
rmethod = evas_render_method_lookup("buffer");
|
||||
evas_output_method_set(p->evas, rmethod);
|
||||
evas_output_size_set(p->evas, p->w, p->h);
|
||||
evas_output_viewport_set(p->evas, 0, 0, p->w, p->h);
|
||||
|
||||
p->pixels = malloc(p->w * p->h * sizeof(int));
|
||||
if (!p->pixels)
|
||||
{
|
||||
evas_free(p->evas);
|
||||
p->evas = NULL;
|
||||
return;
|
||||
}
|
||||
einfo = (Evas_Engine_Info_Buffer *)evas_engine_info_get(p->evas);
|
||||
if (!einfo)
|
||||
{
|
||||
free(p->pixels);
|
||||
p->pixels = NULL;
|
||||
evas_free(p->evas);
|
||||
p->evas = NULL;
|
||||
return;
|
||||
}
|
||||
einfo->info.depth_type = EVAS_ENGINE_BUFFER_DEPTH_ARGB32;
|
||||
einfo->info.dest_buffer = p->pixels;
|
||||
einfo->info.dest_buffer_row_bytes = p->w * sizeof(int);
|
||||
einfo->info.use_color_key = 0;
|
||||
einfo->info.alpha_threshold = 0;
|
||||
einfo->info.func.new_update_region = NULL;
|
||||
einfo->info.func.free_update_region = NULL;
|
||||
evas_engine_info_set(p->evas, (Evas_Engine_Info *)einfo);
|
||||
|
||||
/* set the pointer edje */
|
||||
o = edje_object_add(p->evas);
|
||||
p->pointer_object = o;
|
||||
/* Create the hotspot object */
|
||||
o = evas_object_rectangle_add(p->evas);
|
||||
p->hot_object = o;
|
||||
evas_object_event_callback_add(o, EVAS_CALLBACK_MOVE,
|
||||
_e_pointer_cb_move, p);
|
||||
/* init edje */
|
||||
evas_object_move(p->pointer_object, 0, 0);
|
||||
evas_object_resize(p->pointer_object, p->w, p->h);
|
||||
evas_object_show(p->pointer_object);
|
||||
}
|
||||
|
||||
static void
|
||||
_e_pointer_canvas_del(E_Pointer *p)
|
||||
{
|
||||
if (p->pointer_object) evas_object_del(p->pointer_object);
|
||||
if (p->hot_object) evas_object_del(p->hot_object);
|
||||
if (p->evas) evas_free(p->evas);
|
||||
if (p->pixels) free(p->pixels);
|
||||
p->pointer_object = NULL;
|
||||
p->hot_object = NULL;
|
||||
p->evas = NULL;
|
||||
p->pixels = NULL;
|
||||
}
|
||||
|
||||
static void
|
||||
_e_pointer_cb_move(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *event_info)
|
||||
{
|
||||
|
@ -305,12 +310,8 @@ _e_pointer_free(E_Pointer *p)
|
|||
{
|
||||
_e_pointers = evas_list_remove(_e_pointers, p);
|
||||
|
||||
/* free evas */
|
||||
if (p->pointer_object) evas_object_del(p->pointer_object);
|
||||
if (p->hot_object) evas_object_del(p->hot_object);
|
||||
if (p->evas) evas_free(p->evas);
|
||||
if (p->pixels) free(p->pixels);
|
||||
|
||||
_e_pointer_canvas_del(p);
|
||||
|
||||
while (p->stack)
|
||||
{
|
||||
_e_pointer_stack_free(p->stack->data);
|
||||
|
@ -324,8 +325,7 @@ _e_pointer_free(E_Pointer *p)
|
|||
static void
|
||||
_e_pointer_stack_free(E_Pointer_Stack *elem)
|
||||
{
|
||||
if (elem->type)
|
||||
evas_stringshare_del(elem->type);
|
||||
if (elem->type) evas_stringshare_del(elem->type);
|
||||
free(elem);
|
||||
}
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ struct _E_Pointer
|
|||
} hot;
|
||||
};
|
||||
|
||||
EAPI E_Pointer *e_pointer_window_new(Ecore_X_Window win);
|
||||
EAPI E_Pointer *e_pointer_window_new(Ecore_X_Window win, int filled);
|
||||
EAPI void e_pointer_type_push(E_Pointer *p, void *obj, const char *type);
|
||||
EAPI void e_pointer_type_pop(E_Pointer *p, void *obj, const char *type);
|
||||
EAPI void e_pointers_size_set(int size);
|
||||
|
|
|
@ -85,13 +85,6 @@ e_resist_container_border_position(E_Container *con, Evas_List *skiplist,
|
|||
}
|
||||
e_container_border_list_free(bl);
|
||||
|
||||
for (l = con->gadman->clients; l; l = l->next)
|
||||
{
|
||||
E_Gadman_Client *gmc;
|
||||
|
||||
gmc = l->data;
|
||||
OBSTACLE(gmc->x, gmc->y, gmc->w, gmc->h, e_config->gadget_resist);
|
||||
}
|
||||
for (l = e_shelf_list(); l; l = l->next)
|
||||
{
|
||||
E_Shelf *es;
|
||||
|
@ -135,27 +128,6 @@ e_resist_container_gadman_position(E_Container *con, Evas_List *skiplist,
|
|||
return 0;
|
||||
}
|
||||
|
||||
for (l = con->gadman->clients; l; l = l->next)
|
||||
{
|
||||
E_Gadman_Client *gmc;
|
||||
int ok;
|
||||
|
||||
gmc = l->data;
|
||||
ok = 1;
|
||||
for (ll = skiplist; ll; ll = ll->next)
|
||||
{
|
||||
if (ll->data == gmc)
|
||||
{
|
||||
ok = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (ok)
|
||||
{
|
||||
OBSTACLE(gmc->x, gmc->y, gmc->w, gmc->h, e_config->gadget_resist);
|
||||
}
|
||||
}
|
||||
|
||||
for (l = e_shelf_list(); l; l = l->next)
|
||||
{
|
||||
E_Shelf *es;
|
||||
|
|
149
src/bin/e_test.c
149
src/bin/e_test.c
|
@ -4,7 +4,6 @@
|
|||
#include "e.h"
|
||||
|
||||
static void _e_test_internal(E_Container *con);
|
||||
static void _cb_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change);
|
||||
|
||||
EAPI void
|
||||
e_test(void)
|
||||
|
@ -28,149 +27,6 @@ e_test(void)
|
|||
}
|
||||
|
||||
#if 0
|
||||
/* local subsystem functions */
|
||||
typedef struct _Dat Dat;
|
||||
struct _Dat
|
||||
{
|
||||
Evas_Object *table;
|
||||
Evas_List *items;
|
||||
};
|
||||
|
||||
static void
|
||||
_e_test_internal(E_Container *con)
|
||||
{
|
||||
E_Gadman_Client *gmc;
|
||||
Dat *dat;
|
||||
Evas_Object *o;
|
||||
int i, j;
|
||||
|
||||
dat = calloc(1, sizeof(Dat));
|
||||
dat->table = e_table_add(con->bg_evas);
|
||||
e_table_freeze(dat->table);
|
||||
e_table_homogenous_set(dat->table, 1);
|
||||
for (j = 0; j < 5; j++)
|
||||
{
|
||||
for (i = 0; i < 5; i++)
|
||||
{
|
||||
o = evas_object_rectangle_add(con->bg_evas);
|
||||
dat->items = evas_list_append(dat->items, o);
|
||||
evas_object_color_set(o, i * 50, j * 50, 100, 100);
|
||||
e_table_pack(dat->table, o, i, j, 1, 1);
|
||||
e_table_pack_options_set(o, 1, 1, 1, 1, 0.5, 0.5, 0, 0, -1, -1);
|
||||
evas_object_show(o);
|
||||
}
|
||||
}
|
||||
e_table_thaw(dat->table);
|
||||
evas_object_show(dat->table);
|
||||
|
||||
gmc = e_gadman_client_new(con->gadman);
|
||||
e_gadman_client_domain_set(gmc, "TEST", 0);
|
||||
e_gadman_client_policy_set(gmc,
|
||||
E_GADMAN_POLICY_ANYWHERE |
|
||||
E_GADMAN_POLICY_HMOVE |
|
||||
E_GADMAN_POLICY_VMOVE |
|
||||
E_GADMAN_POLICY_HSIZE |
|
||||
E_GADMAN_POLICY_VSIZE);
|
||||
e_gadman_client_min_size_set(gmc, 10, 10);
|
||||
e_gadman_client_auto_size_set(gmc, 128, 128);
|
||||
e_gadman_client_align_set(gmc, 0.5, 0.5);
|
||||
e_gadman_client_resize(gmc, 128, 128);
|
||||
e_gadman_client_change_func_set(gmc, _cb_change, dat);
|
||||
e_gadman_client_load(gmc);
|
||||
}
|
||||
|
||||
static void
|
||||
_cb_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change)
|
||||
{
|
||||
Dat *dat;
|
||||
Evas_Coord x, y, w, h;
|
||||
|
||||
dat = data;
|
||||
switch (change)
|
||||
{
|
||||
case E_GADMAN_CHANGE_MOVE_RESIZE:
|
||||
e_gadman_client_geometry_get(gmc, &x, &y, &w, &h);
|
||||
evas_object_move(dat->table, x, y);
|
||||
evas_object_resize(dat->table, w, h);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#elif 0
|
||||
typedef struct _Dat Dat;
|
||||
struct _Dat
|
||||
{
|
||||
Evas_Object *layout;
|
||||
Evas_List *items;
|
||||
};
|
||||
|
||||
static void
|
||||
_e_test_internal(E_Container *con)
|
||||
{
|
||||
E_Gadman_Client *gmc;
|
||||
Dat *dat;
|
||||
Evas_Object *o;
|
||||
int i;
|
||||
|
||||
dat = calloc(1, sizeof(Dat));
|
||||
dat->layout = e_layout_add(con->bg_evas);
|
||||
e_layout_freeze(dat->layout);
|
||||
e_layout_virtual_size_set(dat->layout, 800, 600);
|
||||
for (i = 0; i < 10; i++)
|
||||
{
|
||||
Evas_Coord x, y, w, h;
|
||||
|
||||
o = evas_object_rectangle_add(con->bg_evas);
|
||||
dat->items = evas_list_append(dat->items, o);
|
||||
evas_object_color_set(o, i * 25, 255 - (i * 25), 100, 100);
|
||||
e_layout_pack(dat->layout, o);
|
||||
w = rand() % 800;
|
||||
h = rand() % 600;
|
||||
x = rand() % (800 - w);
|
||||
y = rand() % (600 - h);
|
||||
e_layout_child_move(o, x, y);
|
||||
e_layout_child_resize(o, w, h);
|
||||
evas_object_show(o);
|
||||
}
|
||||
e_layout_thaw(dat->layout);
|
||||
evas_object_show(dat->layout);
|
||||
|
||||
gmc = e_gadman_client_new(con->gadman);
|
||||
e_gadman_client_domain_set(gmc, "TEST", 0);
|
||||
e_gadman_client_policy_set(gmc,
|
||||
E_GADMAN_POLICY_ANYWHERE |
|
||||
E_GADMAN_POLICY_HMOVE |
|
||||
E_GADMAN_POLICY_VMOVE |
|
||||
E_GADMAN_POLICY_HSIZE |
|
||||
E_GADMAN_POLICY_VSIZE);
|
||||
e_gadman_client_min_size_set(gmc, 10, 10);
|
||||
e_gadman_client_auto_size_set(gmc, 128, 128);
|
||||
e_gadman_client_align_set(gmc, 0.5, 0.5);
|
||||
e_gadman_client_resize(gmc, 128, 128);
|
||||
e_gadman_client_change_func_set(gmc, _cb_change, dat);
|
||||
e_gadman_client_load(gmc);
|
||||
}
|
||||
|
||||
static void
|
||||
_cb_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change)
|
||||
{
|
||||
Dat *dat;
|
||||
Evas_Coord x, y, w, h;
|
||||
|
||||
dat = data;
|
||||
switch (change)
|
||||
{
|
||||
case E_GADMAN_CHANGE_MOVE_RESIZE:
|
||||
e_gadman_client_geometry_get(gmc, &x, &y, &w, &h);
|
||||
evas_object_move(dat->layout, x, y);
|
||||
evas_object_resize(dat->layout, w, h);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
#elif 0
|
||||
static int
|
||||
_e_test_timer(void *data)
|
||||
{
|
||||
|
@ -836,9 +692,4 @@ static void
|
|||
_e_test_internal(E_Container *con)
|
||||
{
|
||||
}
|
||||
|
||||
static void
|
||||
_cb_change(void *data, E_Gadman_Client *gmc, E_Gadman_Change change)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -75,6 +75,8 @@ e_win_new(E_Container *con)
|
|||
win->min_aspect = 0.0;
|
||||
win->max_aspect = 0.0;
|
||||
wins = evas_list_append(wins, win);
|
||||
|
||||
win->pointer = e_pointer_window_new(win->evas_win, 0);
|
||||
return win;
|
||||
}
|
||||
|
||||
|
@ -104,7 +106,6 @@ e_win_hide(E_Win *win)
|
|||
E_OBJECT_CHECK(win);
|
||||
E_OBJECT_TYPE_CHECK(win, E_WIN_TYPE);
|
||||
if (win->border) e_border_hide(win->border, 1);
|
||||
e_pointer_type_pop(win->container->manager->pointer, win, NULL);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
|
@ -368,6 +369,7 @@ e_win_evas_object_win_get(Evas_Object *obj)
|
|||
static void
|
||||
_e_win_free(E_Win *win)
|
||||
{
|
||||
e_object_del(E_OBJECT(win->pointer));
|
||||
e_canvas_del(win->ecore_evas);
|
||||
ecore_evas_free(win->ecore_evas);
|
||||
if (win->border)
|
||||
|
|
|
@ -35,6 +35,8 @@ struct _E_Win
|
|||
unsigned char centered : 1;
|
||||
unsigned char dialog : 1;
|
||||
} state;
|
||||
|
||||
E_Pointer *pointer;
|
||||
};
|
||||
|
||||
EAPI int e_win_init (void);
|
||||
|
|
Loading…
Reference in New Issue