update for beta release
[framework/uifw/e17.git] / src / modules / comp / e_mod_comp_cfdata.h
1 #ifndef E_MOD_COMP_CFDATA_H
2 #define E_MOD_COMP_CFDATA_H
3
4 typedef struct _Config Config;
5 typedef struct _Match  Match;
6
7 struct _Config
8 {
9    const char   *shadow_file;
10    const char   *shadow_style;
11    int           engine;
12    int           max_unmapped_pixels;
13    int           max_unmapped_time;
14    int           min_unmapped_time;
15    int           fps_average_range;
16    unsigned char fps_corner;
17    unsigned char fps_show;
18    unsigned char use_shadow;
19    unsigned char indirect;
20    unsigned char texture_from_pixmap;
21    unsigned char lock_fps;
22    unsigned char loose_sync;
23    unsigned char efl_sync;
24    unsigned char grab;
25    unsigned char vsync;
26    unsigned char keep_unmapped;
27    unsigned char send_flush;
28    unsigned char send_dump;
29    unsigned char nocomp_fs;
30    unsigned char smooth_windows;
31    double        first_draw_delay;
32
33    struct
34    {
35       Eina_List *popups;    // used for e popups
36       Eina_List *borders;    // used for borders
37       Eina_List *overrides;    // used for client menus, tooltips etc.
38       Eina_List *menus;    // used for e menus
39    } match;
40 };
41
42 struct _Match
43 {
44    const char *title; // glob - used for borders, NULL if not to be used
45    const char *name; // glob - used for borders, overrides, popups, NULL if not to be used
46    const char *clas; // glob - used for borders, overrides, NULL if not to be used
47    const char *role; // glob - used for borders
48
49    const char *shadow_style; // shadow style to use
50
51    int         primary_type; // Ecore_X_Window_Type - used for borders, overrides, first one found - ECORE_X_WINDOW_TYPE_UNKNOWN if not to be used
52    char        borderless; // used for borders, 0 == dont use, 1 == borderless, -1 == not borderless
53    char        dialog; // used for borders, 0 == don't use, 1 == dialog, -1 == not dialog
54    char        accepts_focus; // used for borders, 0 == don't use, 1 == accepts focus, -1 == does not accept focus
55    char        vkbd; // used for borders, 0 == don't use, 1 == is vkbd, -1 == not vkbd
56    char        quickpanel; // used for borders, 0 == don't use, 1 == is quickpanel, -1 == not quickpanel
57    char        argb; // used for borders, overrides, popups, menus, 0 == don't use, 1 == is argb, -1 == not argb
58    char        fullscreen; // used for borders, 0 == don't use, 1 == is fullscreen, -1 == not fullscreen
59    char        modal; // used for borders, 0 == don't use, 1 == is modal, -1 == not modal
60 };
61
62 EAPI void    e_mod_comp_cfdata_edd_init(E_Config_DD **conf_edd, E_Config_DD **match_edd);
63 EAPI Config *e_mod_comp_cfdata_config_new(void);
64 EAPI void    e_mod_cfdata_config_free(Config *cfg);
65
66 #endif