diff options
| author | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2009-02-26 22:50:39 +0100 |
|---|---|---|
| committer | Tomas Bzatek <tbzatek@users.sourceforge.net> | 2009-02-26 22:50:39 +0100 |
| commit | 89c58dc04c264c5778ae34d1428e12483f3ac5ac (patch) | |
| tree | d5aef506841b3b0e2e91016d0c0bbb608535873c /src/items.h | |
| parent | 10a77c7a1c4648693ded958d6ac8641afcdf1d34 (diff) | |
| download | cataract-89c58dc04c264c5778ae34d1428e12483f3ac5ac.tar.xz | |
Autotoolize
Diffstat (limited to 'src/items.h')
| -rw-r--r-- | src/items.h | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/src/items.h b/src/items.h new file mode 100644 index 0000000..9fd6822 --- /dev/null +++ b/src/items.h @@ -0,0 +1,96 @@ +/* Cataract - Static web photo gallery generator + * Copyright (C) 2008 Tomas Bzatek <tbzatek@users.sourceforge.net> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ +#ifndef __ITEMS_H__ +#define __ITEMS_H__ + + +#include <glib.h> + + +typedef enum { + GALLERY_TYPE_INDEX = 1 << 0, + GALLERY_TYPE_ALBUM = 1 << 1 +} TGalleryType; + +typedef enum { + INDEX_ITEM_TYPE_PICTURE = 1 << 0, + INDEX_ITEM_TYPE_SEPARATOR = 1 << 1 +} TIndexItemType; + +typedef struct { + TGalleryType type; + char *ID; + char *title; + char *desc; + char *footnote; + GPtrArray *items; + char *base_dir; + void *parent_index; /* pointer to the parent TAlbum structure */ + int parent_item_index; /* item index in the parent album */ + int quality; + unsigned long landscape_width; + unsigned long landscape_height; + unsigned long portrait_width; + unsigned long portrait_height; + char *border_style; + char *meta_author; + char *meta_description; + char *meta_keywords; + gboolean nofullsize; + gboolean fullsize; +} TAlbum; + +typedef struct { + char *path; + char *title; + char *title_description; + char *thumbnail; + char *preview; + int quality; + unsigned long width; + unsigned long height; + gboolean force_nofullsize; + gboolean force_fullsize; + char *border_style; + TIndexItemType type; + gboolean hidden; +} TIndexItem; + + + +/* + * parse_album_xml: XML parser for gallery index.xml files + */ +gboolean parse_album_xml (const char *filename, TAlbum *index); + +/* + * free_album_data: free allocated album data + */ +void free_album_data (TAlbum *index); + +/* + * get_album_objects_count: retrieve number of items in specified album + */ +int get_album_objects_count (const char *filename); + +/* + * get_album_titles: retrieve title, description and first thumbnail from specified album + */ +void get_album_titles (const char *filename, char **title, char **description, char **thumbnail); + +#endif /* __ITEMS_H__ */ |
