2004-11-24 19:37:45 -08:00
|
|
|
#ifndef E_MOD_MAIN_H
|
|
|
|
#define E_MOD_MAIN_H
|
|
|
|
|
2005-04-20 22:13:46 -07:00
|
|
|
typedef struct _Shpix Shpix;
|
|
|
|
typedef struct _Shstore Shstore;
|
|
|
|
typedef struct _Config Config;
|
|
|
|
typedef struct _Dropshadow Dropshadow;
|
|
|
|
typedef struct _Shadow Shadow;
|
|
|
|
typedef struct _Shadow_Object Shadow_Object;
|
|
|
|
typedef struct _Tilebuf Tilebuf;
|
|
|
|
typedef struct _Tilebuf_Tile Tilebuf_Tile;
|
2004-12-04 23:43:51 -08:00
|
|
|
|
2005-03-27 20:59:55 -08:00
|
|
|
struct _Shpix
|
|
|
|
{
|
|
|
|
int w, h;
|
|
|
|
unsigned char *pix;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Shstore
|
|
|
|
{
|
|
|
|
int w, h;
|
|
|
|
unsigned int *pix;
|
|
|
|
};
|
|
|
|
|
2004-12-04 23:43:51 -08:00
|
|
|
struct _Config
|
|
|
|
{
|
|
|
|
int shadow_x, shadow_y;
|
|
|
|
int blur_size;
|
2005-04-13 08:52:34 -07:00
|
|
|
int quality;
|
2004-12-04 23:43:51 -08:00
|
|
|
double shadow_darkness;
|
|
|
|
};
|
2004-11-24 19:37:45 -08:00
|
|
|
|
|
|
|
struct _Dropshadow
|
|
|
|
{
|
|
|
|
E_Module *module;
|
2008-10-22 04:49:33 -07:00
|
|
|
Eina_List *shadows;
|
|
|
|
Eina_List *cons;
|
2004-11-24 19:37:45 -08:00
|
|
|
E_Before_Idler *idler_before;
|
2004-12-04 23:43:51 -08:00
|
|
|
|
|
|
|
E_Config_DD *conf_edd;
|
|
|
|
Config *conf;
|
2006-01-06 13:30:53 -08:00
|
|
|
E_Config_Dialog *config_dialog;
|
2004-11-24 19:37:45 -08:00
|
|
|
|
|
|
|
struct {
|
|
|
|
unsigned char *gauss;
|
|
|
|
int gauss_size;
|
2005-04-13 08:52:34 -07:00
|
|
|
unsigned char *gauss2;
|
|
|
|
int gauss2_size;
|
2004-11-24 19:37:45 -08:00
|
|
|
} table;
|
2005-03-27 20:59:55 -08:00
|
|
|
|
|
|
|
struct {
|
|
|
|
Shstore *shadow[4];
|
|
|
|
int ref;
|
|
|
|
} shared;
|
2004-11-24 19:37:45 -08:00
|
|
|
};
|
|
|
|
|
|
|
|
struct _Shadow
|
|
|
|
{
|
|
|
|
Dropshadow *ds;
|
|
|
|
int x, y, w, h;
|
|
|
|
E_Container_Shape *shape;
|
|
|
|
|
|
|
|
Evas_Object *object[4];
|
|
|
|
|
2008-10-22 04:49:33 -07:00
|
|
|
Eina_List *object_list;
|
2005-04-20 22:13:46 -07:00
|
|
|
|
|
|
|
unsigned char initted : 1;
|
2004-11-24 19:37:45 -08:00
|
|
|
unsigned char reshape : 1;
|
|
|
|
unsigned char square : 1;
|
2005-03-27 03:30:50 -08:00
|
|
|
unsigned char toosmall : 1;
|
2005-03-27 20:59:55 -08:00
|
|
|
unsigned char use_shared : 1;
|
2005-04-20 22:13:46 -07:00
|
|
|
unsigned char visible : 1;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Shadow_Object
|
|
|
|
{
|
|
|
|
int x, y, w, h;
|
|
|
|
Evas_Object *obj;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Tilebuf
|
|
|
|
{
|
|
|
|
int outbuf_w;
|
|
|
|
int outbuf_h;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
int w, h;
|
|
|
|
} tile_size;
|
|
|
|
|
|
|
|
struct {
|
|
|
|
int w, h;
|
|
|
|
Tilebuf_Tile *tiles;
|
|
|
|
} tiles;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct _Tilebuf_Tile
|
|
|
|
{
|
|
|
|
int redraw : 1;
|
2004-11-24 19:37:45 -08:00
|
|
|
};
|
|
|
|
|
2007-10-31 05:23:15 -07:00
|
|
|
extern E_Module *dropshadow_mod;
|
|
|
|
|
2005-12-27 09:16:58 -08:00
|
|
|
EAPI extern E_Module_Api e_modapi;
|
2005-09-23 10:13:47 -07:00
|
|
|
|
2005-04-11 20:34:31 -07:00
|
|
|
EAPI void *e_modapi_init (E_Module *m);
|
|
|
|
EAPI int e_modapi_shutdown (E_Module *m);
|
|
|
|
EAPI int e_modapi_save (E_Module *m);
|
|
|
|
EAPI int e_modapi_info (E_Module *m);
|
2004-11-24 21:31:21 -08:00
|
|
|
|
2005-12-27 09:16:58 -08:00
|
|
|
void _dropshadow_cb_config_updated(void *data);
|
2005-12-20 15:07:52 -08:00
|
|
|
|
2012-01-19 15:25:32 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @addtogroup Optional_Look
|
|
|
|
* @{
|
|
|
|
*
|
|
|
|
* @defgroup Module_Dropshadow Drop Shadow
|
|
|
|
*
|
|
|
|
* Drops shadow on desktop for visible windows. This is a poor's man
|
|
|
|
* solution for people that do not have @ref Module_Comp.
|
|
|
|
*
|
|
|
|
* @}
|
|
|
|
*/
|
2004-11-24 19:37:45 -08:00
|
|
|
#endif
|