2005-01-12 08:03:09 -08:00
|
|
|
#ifdef E_TYPEDEFS
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2005-01-03 01:34:24 -08:00
|
|
|
typedef struct _E_Desk E_Desk;
|
2005-02-15 04:11:31 -08:00
|
|
|
typedef struct _E_Event_Desk_Show E_Event_Desk_Show;
|
2008-06-05 03:52:13 -07:00
|
|
|
typedef struct _E_Event_Desk_Before_Show E_Event_Desk_Before_Show;
|
2009-02-25 14:21:46 -08:00
|
|
|
typedef struct _E_Event_Desk_After_Show E_Event_Desk_After_Show;
|
2005-09-05 16:14:58 -07:00
|
|
|
typedef struct _E_Event_Desk_Name_Change E_Event_Desk_Name_Change;
|
2012-12-04 22:51:16 -08:00
|
|
|
typedef struct _E_Event_Desk_Window_Profile_Change E_Event_Desk_Window_Profile_Change;
|
2005-01-03 01:34:24 -08:00
|
|
|
|
2005-01-12 08:03:09 -08:00
|
|
|
#else
|
|
|
|
#ifndef E_DESK_H
|
|
|
|
#define E_DESK_H
|
|
|
|
|
2005-01-21 22:58:34 -08:00
|
|
|
#define E_DESK_TYPE 0xE0b01005
|
|
|
|
|
2012-12-31 06:00:47 -08:00
|
|
|
typedef enum
|
|
|
|
{
|
|
|
|
E_DESKFLIP_ANIMATION_MODE_OFF,
|
|
|
|
E_DESKFLIP_ANIMATION_MODE_PANE,
|
|
|
|
E_DESKFLIP_ANIMATION_MODE_ZOOM
|
|
|
|
} E_Deskflip_Animation_Mode;
|
|
|
|
|
2005-01-03 01:34:24 -08:00
|
|
|
struct _E_Desk
|
|
|
|
{
|
|
|
|
E_Object e_obj_inherit;
|
|
|
|
|
|
|
|
E_Zone *zone;
|
2006-03-02 04:03:48 -08:00
|
|
|
const char *name;
|
2012-12-04 22:51:16 -08:00
|
|
|
const char *window_profile;
|
2005-04-08 17:13:09 -07:00
|
|
|
int x, y;
|
2010-05-28 13:49:01 -07:00
|
|
|
unsigned char visible : 1;
|
2006-07-20 17:46:40 -07:00
|
|
|
unsigned int deskshow_toggle : 1;
|
2009-02-27 10:36:08 -08:00
|
|
|
int fullscreen_borders;
|
2005-01-03 01:34:24 -08:00
|
|
|
|
|
|
|
Evas_Object *bg_object;
|
2012-06-20 23:19:43 -07:00
|
|
|
|
giant comp rejiggering commit #6:
* border->fx REMOVED, related border api REMOVED
* comp edc has new class of groups: e/comp/effects[/auto]
** these are effects which can be applied to any compositor object through the e_comp_win_effect* api and are written in embryo
*** two types - base and auto - base = manual, for use with animators; auto are "trigger and forget", for use as actual effects
* desk flip transition animations moved to comp effects and FIXED(ish)
* "zoom" effect renamed to "diagonal" for slightly less misleading name since it never did any zooming
* actual "zoom" effect added
* border hierarchy now as follows: cw->effect_obj swallows cw->shobj, cw->shobj swallows cw->bd->bg_object ?: cw->obj, if (cw->bd->bg_object) cw->bd->bg_object swallows cw->obj
** cw->effect_obj now used for all positioning and comp logic
** cw->effect_obj ONLY used for object transformation effects (moving, zooming, fading, etc)
** cw->shobj ONLY for comp visual/non-movement effects (focus effect, unfocus opacity, legacy shadows); this is a candidate for removal/rewrite in E19
* even more comp shape rewrites
* desk flip animation time now controlled by theme since edje doesn't support setting transition time in C; related config value removed
* desk flip transitions (in e_desk.c) rewritten
* various modules (evry/illume2) updated to use comp effects instead of fx offset
* desk flip configuration BROKEN(ish)
2013-02-28 07:20:32 -08:00
|
|
|
unsigned int animate_count;
|
2005-01-03 01:34:24 -08:00
|
|
|
};
|
|
|
|
|
2005-02-15 04:11:31 -08:00
|
|
|
struct _E_Event_Desk_Show
|
|
|
|
{
|
|
|
|
E_Desk *desk;
|
|
|
|
};
|
|
|
|
|
2008-06-05 03:52:13 -07:00
|
|
|
struct _E_Event_Desk_Before_Show
|
|
|
|
{
|
|
|
|
E_Desk *desk;
|
|
|
|
};
|
|
|
|
|
2009-02-25 14:21:46 -08:00
|
|
|
struct _E_Event_Desk_After_Show
|
|
|
|
{
|
|
|
|
E_Desk *desk;
|
|
|
|
};
|
2008-06-05 03:52:13 -07:00
|
|
|
|
2005-09-05 16:14:58 -07:00
|
|
|
struct _E_Event_Desk_Name_Change
|
|
|
|
{
|
|
|
|
E_Desk *desk;
|
|
|
|
};
|
|
|
|
|
2012-12-04 22:51:16 -08:00
|
|
|
struct _E_Event_Desk_Window_Profile_Change
|
|
|
|
{
|
|
|
|
E_Desk *desk;
|
|
|
|
};
|
|
|
|
|
2010-11-22 07:21:32 -08:00
|
|
|
EINTERN int e_desk_init(void);
|
|
|
|
EINTERN int e_desk_shutdown(void);
|
2005-01-08 06:41:21 -08:00
|
|
|
EAPI E_Desk *e_desk_new(E_Zone *zone, int x, int y);
|
2005-01-03 01:34:24 -08:00
|
|
|
EAPI void e_desk_name_set(E_Desk *desk, const char *name);
|
2006-03-02 04:03:48 -08:00
|
|
|
EAPI void e_desk_name_add(int container, int zone, int desk_x, int desk_y, const char *name);
|
2005-08-05 21:00:03 -07:00
|
|
|
EAPI void e_desk_name_del(int container, int zone, int desk_x, int desk_y);
|
|
|
|
EAPI void e_desk_name_update(void);
|
2005-01-03 01:34:24 -08:00
|
|
|
EAPI void e_desk_show(E_Desk *desk);
|
2006-07-22 15:25:04 -07:00
|
|
|
EAPI void e_desk_deskshow(E_Zone *zone);
|
2013-05-13 14:20:02 -07:00
|
|
|
EAPI E_Border *e_desk_last_focused_focus(E_Desk *desk);
|
2005-01-03 01:34:24 -08:00
|
|
|
EAPI E_Desk *e_desk_current_get(E_Zone *zone);
|
2005-01-08 09:32:08 -08:00
|
|
|
EAPI E_Desk *e_desk_at_xy_get(E_Zone *zone, int x, int y);
|
2005-05-17 05:33:12 -07:00
|
|
|
EAPI E_Desk *e_desk_at_pos_get(E_Zone *zone, int pos);
|
2005-01-20 06:01:31 -08:00
|
|
|
EAPI void e_desk_xy_get(E_Desk *desk, int *x, int *y);
|
2005-01-03 01:34:24 -08:00
|
|
|
EAPI void e_desk_next(E_Zone *zone);
|
|
|
|
EAPI void e_desk_prev(E_Zone *zone);
|
2005-01-08 06:41:21 -08:00
|
|
|
EAPI void e_desk_row_add(E_Zone *zone);
|
|
|
|
EAPI void e_desk_row_remove(E_Zone *zone);
|
|
|
|
EAPI void e_desk_col_add(E_Zone *zone);
|
|
|
|
EAPI void e_desk_col_remove(E_Zone *zone);
|
2012-12-20 06:07:33 -08:00
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8)
|
2012-12-04 22:51:16 -08:00
|
|
|
EAPI void e_desk_window_profile_set(E_Desk *desk, const char *profile);
|
|
|
|
EAPI void e_desk_window_profile_add(int container, int zone, int desk_x, int desk_y, const char *profile);
|
|
|
|
EAPI void e_desk_window_profile_del(int container, int zone, int desk_x, int desk_y);
|
|
|
|
EAPI void e_desk_window_profile_update(void);
|
2012-12-05 01:59:02 -08:00
|
|
|
#endif
|
2005-01-03 01:34:24 -08:00
|
|
|
|
2005-02-15 04:11:31 -08:00
|
|
|
extern EAPI int E_EVENT_DESK_SHOW;
|
2008-06-05 03:52:13 -07:00
|
|
|
extern EAPI int E_EVENT_DESK_BEFORE_SHOW;
|
2009-02-25 14:21:46 -08:00
|
|
|
extern EAPI int E_EVENT_DESK_AFTER_SHOW;
|
2006-07-22 15:25:04 -07:00
|
|
|
extern EAPI int E_EVENT_DESK_DESKSHOW;
|
2005-09-05 16:14:58 -07:00
|
|
|
extern EAPI int E_EVENT_DESK_NAME_CHANGE;
|
2012-12-20 06:07:33 -08:00
|
|
|
#if (ECORE_VERSION_MAJOR > 1) || (ECORE_VERSION_MINOR >= 8)
|
2012-12-04 22:51:16 -08:00
|
|
|
extern EAPI int E_EVENT_DESK_WINDOW_PROFILE_CHANGE;
|
2012-12-20 06:07:33 -08:00
|
|
|
#endif
|
2005-02-15 04:11:31 -08:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
#endif
|
2005-01-12 08:03:09 -08:00
|
|
|
#endif
|