enlightenment/src/modules/illume/e_slipshelf.h

90 lines
3.1 KiB
C

#ifndef E_SLIPSHELF_H
#define E_SLIPSHELF_H
typedef struct _E_Slipshelf E_Slipshelf;
typedef struct _E_Event_Slipshelf_Simple E_Event_Slipshelf_Add;
typedef struct _E_Event_Slipshelf_Simple E_Event_Slipshelf_Del;
typedef struct _E_Event_Slipshelf_Simple E_Event_Slipshelf_Change;
#define E_SLIPSHELF_TYPE 0xE1b0771
typedef enum _E_Slipshelf_Action
{
E_SLIPSHELF_ACTION_HOME,
E_SLIPSHELF_ACTION_CLOSE,
E_SLIPSHELF_ACTION_APPS,
E_SLIPSHELF_ACTION_KEYBOARD,
E_SLIPSHELF_ACTION_APP_NEXT,
E_SLIPSHELF_ACTION_APP_PREV
} E_Slipshelf_Action;
struct _E_Slipshelf
{
E_Object e_obj_inherit;
E_Zone *zone;
E_Popup *popup;
Ecore_X_Window clickwin;
Evas_Object *base_obj;
Evas_Object *control_obj;
Evas_Object *scrollframe_obj;
E_Border *bsel;
Evas_Object *vis_obj;
Evas_Object *swallow1_obj;
Evas_Object *swallow2_obj;
Eina_List *handlers;
E_Border *focused_border;
E_Gadcon *gadcon;
E_Gadcon *gadcon_extra;
Ecore_Timer *slide_down_timer;
const char *themedir;
const char *default_title;
struct {
struct {
void (*func) (const void *data, E_Slipshelf *ess, E_Slipshelf_Action action);
const void *data;
unsigned char enabled : 1;
} home, close, apps, keyboard, app_next, app_prev;
} action;
int main_size;
int extra_size;
int hidden;
Ecore_Animator *animator;
int adjust_start;
int adjust_target;
int adjust;
struct {
int w, h;
} control;
struct {
void (*func) (void *data, E_Slipshelf *ess, E_Border *bd);
void *data;
} callback_border_select, callback_border_home;
double start;
double len;
unsigned char out : 1;
};
struct _E_Event_Slipshelf_Simple
{
E_Slipshelf *slipshelf;
};
EAPI int e_slipshelf_init(void);
EAPI int e_slipshelf_shutdown(void);
EAPI E_Slipshelf *e_slipshelf_new(E_Zone *zone, const char *themedir);
EAPI void e_slipshelf_action_enabled_set(E_Slipshelf *ess, E_Slipshelf_Action action, Eina_Bool enabled);
EAPI Eina_Bool e_slipshelf_action_enabled_get(E_Slipshelf *ess, E_Slipshelf_Action action);
EAPI void e_slipshelf_action_callback_set(E_Slipshelf *ess, E_Slipshelf_Action action, void (*func) (const void *data, E_Slipshelf *ess, E_Slipshelf_Action action), const void *data);
EAPI void e_slipshelf_safe_app_region_get(E_Zone *zone, int *x, int *y, int *w, int *h);
EAPI void e_slipshelf_default_title_set(E_Slipshelf *ess, const char *title);
EAPI void e_slipshelf_border_select_callback_set(E_Slipshelf *ess, void (*func) (void *data, E_Slipshelf *ess, E_Border *bd), void *data);
EAPI void e_slipshelf_border_home_callback_set(E_Slipshelf *ess, void (*func) (void *data, E_Slipshelf *ess, E_Border *bd), void *data);
extern EAPI int E_EVENT_SLIPSHELF_ADD;
extern EAPI int E_EVENT_SLIPSHELF_DEL;
extern EAPI int E_EVENT_SLIPSHELF_CHANGE;
#endif