ephoto/src/bin/ephoto.h

83 lines
1.7 KiB
C

#ifndef _EPHOTO_H_
#define _EPHOTO_H_
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include <Eet.h>
#include <Ecore.h>
#include <Ecore_File.h>
#include <Efreet_Mime.h>
#include <Elementary.h>
#include <Eina.h>
#include <Edje.h>
#include <Evas.h>
#include <Eio.h>
#include <Ethumb_Client.h>
#include <libgen.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <dirent.h>
/*Ephoto Typedefs*/
typedef struct _Ephoto Ephoto;
typedef enum _Ephoto_State Ephoto_State;
/*Main Functions*/
Evas_Object *ephoto_window_add(void);
void ephoto_title_set(const char *title);
void ephoto_thumb_size_set(int size);
void ephoto_directory_set(const char *path);
/*Main Children*/
Evas_Object *ephoto_flow_browser_add(void);
void ephoto_flow_browser_image_set(void);
void ephoto_flow_browser_del(void);
void ephoto_flow_browser_show(void);
Evas_Object *ephoto_slideshow_add(void);
void ephoto_slideshow_del(void);
Evas_Object *ephoto_thumb_browser_add(void);
void ephoto_thumb_browser_thumb_append(const char *file);
void ephoto_thumb_browser_del(void);
void ephoto_thumb_browser_show(void);
/*Ephoto States*/
enum _Ephoto_State
{
EPHOTO_STATE_THUMB,
EPHOTO_STATE_FLOW,
EPHOTO_STATE_SLIDESHOW
};
/*Ephoto Main Structure*/
struct _Ephoto
{
/*Main Objects*/
Evas_Object *win;
Evas_Object *bg;
Evas_Object *pager;
/*Main Children*/
Evas_Object *thumb_browser;
Evas_Object *flow_browser;
Evas_Object *slideshow;
/*Main Variables*/
const char *directory;
const char *file;
Eio_File *ls;
Eina_List *images;
Eina_List *current_index;
Ephoto_State state, prev_state;
Ethumb_Client *client;
};
extern Ephoto *ephoto;
#endif