enlightenment/src/modules/illume2/e_mod_layout.h

78 lines
2.8 KiB
C

#ifndef E_MOD_LAYOUT_H
#define E_MOD_LAYOUT_H
void e_mod_layout_init(E_Module *m);
void e_mod_layout_shutdown(void);
typedef enum _Illume_Anim_Class
{
ILLUME_ANIM_APP,
ILLUME_ANIM_KEYBOARD,
ILLUME_ANIM_SHELF,
ILLUME_ANIM_DIALOG,
ILLUME_ANIM_OTHER
} Illume_Anim_Class;
typedef struct _Illume_Layout_Mode Illume_Layout_Mode;
struct _Illume_Layout_Mode
{
const char *name;
const char *label;
// may need more things later, but name + label will do for now
struct
{
void (*border_add) (E_Border *bd);
void (*border_del) (E_Border *bd);
void (*border_focus_in) (E_Border *bd);
void (*border_focus_out) (E_Border *bd);
void (*zone_layout) (E_Zone *zone);
void (*zone_move_resize) (E_Zone *zone);
// --- add more below (activate callback, and more)
void (*border_activate) (E_Border *bd);
void (*drag_start) (E_Border *bd);
void (*drag_end) (E_Border *bd);
} funcs;
};
void illume_layout_mode_register(const Illume_Layout_Mode *laymode);
void illume_layout_mode_unregister(const Illume_Layout_Mode *laymode);
Eina_List *illume_layout_modes_get(void);
void illume_border_activate(E_Border *bd);
void illume_border_show(E_Border *bd);
void illume_border_deactivate(E_Border *bd);
Eina_Bool illume_border_is_dialog(E_Border *bd);
Eina_Bool illume_border_is_keyboard(E_Border *bd);
Eina_Bool illume_border_is_bottom_panel(E_Border *bd);
Eina_Bool illume_border_is_top_shelf(E_Border *bd);
Eina_Bool illume_border_is_mini_app(E_Border *bd);
Eina_Bool illume_border_is_notification(E_Border *bd);
Eina_Bool illume_border_is_home(E_Border *bd);
Eina_Bool illume_border_is_side_pane_left(E_Border *bd);
Eina_Bool illume_border_is_side_pane_right(E_Border *bd);
Eina_Bool illume_border_is_overlay(E_Border *bd);
Eina_Bool illume_border_is_conformant(E_Border *bd);
Eina_List *illume_border_valid_borders_get(void);
E_Border *illume_border_valid_border_get(void);
int illume_border_valid_count_get(void);
E_Border *illume_border_at_xy_get(int x, int y);
E_Border *illume_border_in_region_get(int x, int y, int w, int h);
E_Border *illume_border_keyboard_get(void);
E_Border *illume_border_top_shelf_get(void);
E_Border *illume_border_bottom_panel_get(void);
void illume_border_top_shelf_pos_get(int *x, int *y);
void illume_border_top_shelf_size_get(int *w, int *h);
void illume_border_bottom_panel_pos_get(int *x, int *y);
void illume_border_bottom_panel_size_get(int *w, int *h);
void illume_border_slide_to(E_Border *bd, int x, int y, Illume_Anim_Class aclass);
void illume_border_min_get(E_Border *bd, int *mw, int *mh);
void illume_border_max_get(E_Border *bd, int *mw, int *mh);
void illume_border_app1_safe_region_get(E_Zone *zone, int *x, int *y, int *w, int *h);
void illume_border_app2_safe_region_get(E_Zone *zone, int *x, int *y, int *w, int *h);
#endif