112 lines
2.4 KiB
C
112 lines
2.4 KiB
C
#ifndef IB_ICONBAR_H
|
|
#define IB_ICONBAR_H
|
|
|
|
#include "e.h"
|
|
#include "config.h"
|
|
#include "exec.h"
|
|
#include "view.h"
|
|
#include "object.h"
|
|
#include "resist.h"
|
|
|
|
typedef struct _E_Iconbar_Icon E_Iconbar_Icon;
|
|
|
|
#ifndef E_ICONBAR_TYPEDEF
|
|
#define E_ICONBAR_TYPEDEF
|
|
typedef struct _E_Iconbar E_Iconbar;
|
|
#endif
|
|
|
|
#ifndef E_VIEW_TYPEDEF
|
|
#define E_VIEW_TYPEDEF
|
|
typedef struct _E_View E_View;
|
|
#endif
|
|
|
|
struct _E_Iconbar
|
|
{
|
|
E_Object o;
|
|
|
|
E_Desktop *desktop;
|
|
Evas_List *icons;
|
|
|
|
Evas_Object *clip;
|
|
|
|
int has_been_scrolled;
|
|
int changed;
|
|
int just_saved;
|
|
float scroll;
|
|
|
|
Ebits_Object *bit;
|
|
struct
|
|
{
|
|
double x, y, w, h;
|
|
}
|
|
icon_area;
|
|
|
|
struct
|
|
{
|
|
int x, y;
|
|
}
|
|
dnd;
|
|
};
|
|
|
|
struct _E_Iconbar_Icon
|
|
{
|
|
E_Object o;
|
|
|
|
E_Iconbar *iconbar;
|
|
|
|
Evas_Object * image;
|
|
Imlib_Image imlib_image;
|
|
|
|
char *image_path;
|
|
char *exec;
|
|
|
|
int hilited;
|
|
struct
|
|
{
|
|
Evas_Object * image;
|
|
char *timer;
|
|
double start;
|
|
}
|
|
hi;
|
|
|
|
struct
|
|
{
|
|
double x, y;
|
|
}
|
|
down , mouse;
|
|
|
|
struct
|
|
{
|
|
double x, y;
|
|
double w, h;
|
|
}
|
|
current;
|
|
|
|
int mouse_down;
|
|
int moving;
|
|
|
|
int wait;
|
|
float wait_timeout;
|
|
|
|
pid_t launch_pid;
|
|
int launch_id;
|
|
void *launch_id_cb;
|
|
};
|
|
|
|
void e_iconbar_init(void);
|
|
E_Iconbar *e_iconbar_new(E_Desktop * d);
|
|
void e_iconbar_icon_free(E_Iconbar_Icon *);
|
|
void e_iconbar_realize(E_Iconbar * ib);
|
|
void e_iconbar_fix(E_Iconbar * ib);
|
|
double e_iconbar_get_length(E_Iconbar * ib);
|
|
void e_iconbar_file_add(E_View * v, char *file);
|
|
void e_iconbar_file_delete(E_View * v, char *file);
|
|
void e_iconbar_file_change(E_View * v, char *file);
|
|
void e_iconbar_save_out_final(E_Iconbar * ib);
|
|
E_Rect *e_iconbar_get_resist_rect(E_Iconbar * ib);
|
|
void e_iconbar_icon_move(E_Iconbar_Icon * ic, int x, int y);
|
|
void e_iconbar_dnd_add_files(E_Desktop * d, E_View * source,
|
|
int num_files, char **dnd_files);
|
|
|
|
#endif
|