1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
2 
3 /*
4  *  GThumb
5  *
6  *  Copyright (C) 2003-2010 Free Software Foundation, Inc.
7  *
8  *  This program is free software; you can redistribute it and/or modify
9  *  it under the terms of the GNU General Public License as published by
10  *  the Free Software Foundation; either version 2 of the License, or
11  *  (at your option) any later version.
12  *
13  *  This program is distributed in the hope that it will be useful,
14  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  *  GNU General Public License for more details.
17  *
18  *  You should have received a copy of the GNU General Public License
19  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
20  */
21 
22 #ifndef GTH_WEB_EXPORTER_H
23 #define GTH_WEB_EXPORTER_H
24 
25 #include <glib.h>
26 #include <gio/gio.h>
27 #include <gtk/gtk.h>
28 #include <gthumb.h>
29 
30 #define GTH_TYPE_WEB_EXPORTER            (gth_web_exporter_get_type ())
31 #define GTH_WEB_EXPORTER(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTH_TYPE_WEB_EXPORTER, GthWebExporter))
32 #define GTH_WEB_EXPORTER_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GTH_TYPE_WEB_EXPORTER, GthWebExporterClass))
33 #define GTH_IS_WEB_EXPORTER(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTH_TYPE_WEB_EXPORTER))
34 #define GTH_IS_WEB_EXPORTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTH_TYPE_WEB_EXPORTER))
35 #define GTH_WEB_EXPORTER_GET_CLASS(obj)  (G_TYPE_INSTANCE_GET_CLASS((obj), GTH_TYPE_WEB_EXPORTER, GthWebExporterClass))
36 
37 typedef struct _GthWebExporter        GthWebExporter;
38 typedef struct _GthWebExporterClass   GthWebExporterClass;
39 typedef struct _GthWebExporterPrivate GthWebExporterPrivate;
40 
41 struct _GthWebExporter {
42 	GthTask __parent;
43 	GthWebExporterPrivate *priv;
44 
45 };
46 
47 struct _GthWebExporterClass {
48 	GthTaskClass __parent;
49 };
50 
51 GType      gth_web_exporter_get_type              (void);
52 GthTask *  gth_web_exporter_new                   (GthBrowser       *browser,
53 						   GList            *file_list); /* GFile list */
54 void       gth_web_exporter_set_header            (GthWebExporter   *self,
55 						   const char       *value);
56 void       gth_web_exporter_set_footer            (GthWebExporter   *self,
57 						   const char       *value);
58 void       gth_web_exporter_set_image_page_header (GthWebExporter   *self,
59 						   const char       *value);
60 void       gth_web_exporter_set_image_page_footer (GthWebExporter   *self,
61 						   const char       *value);
62 void       gth_web_exporter_set_style             (GthWebExporter   *self,
63 						   const char       *style_name);
64 void       gth_web_exporter_set_destination       (GthWebExporter   *self,
65 						   GFile            *destination);
66 void       gth_web_exporter_set_use_subfolders    (GthWebExporter   *self,
67 						   gboolean          use_subfolders);
68 void       gth_web_exporter_set_copy_images       (GthWebExporter   *self,
69 						   gboolean          copy);
70 void       gth_web_exporter_set_resize_images     (GthWebExporter   *self,
71 						   gboolean          resize,
72 						   int               max_width,
73 						   int               max_height);
74 void       gth_web_exporter_set_sort_order        (GthWebExporter   *self,
75 						   GthFileDataSort  *sort_type,
76 						   gboolean          sort_inverse);
77 void       gth_web_exporter_set_images_per_index  (GthWebExporter   *self,
78 						   int               value);
79 void       gth_web_exporter_set_single_index      (GthWebExporter   *self,
80 						   gboolean          single);
81 void       gth_web_exporter_set_columns           (GthWebExporter   *self,
82 						   int               cols);
83 void       gth_web_exporter_set_adapt_to_width    (GthWebExporter   *self,
84 						   gboolean          value);
85 void       gth_web_exporter_set_thumb_size        (GthWebExporter   *self,
86 						   gboolean          squared,
87 						   int               width,
88 						   int               height);
89 void       gth_web_exporter_set_preview_size      (GthWebExporter   *self,
90 						   int               width,
91 						   int               height);
92 void       gth_web_exporter_set_preview_min_size  (GthWebExporter   *self,
93 					           int               width,
94 					           int               height);
95 void       gth_web_exporter_set_image_attributes  (GthWebExporter   *self,
96 						   gboolean          image_description_enabled,
97 						   const char       *caption);
98 void       gth_web_exporter_set_thumbnail_caption (GthWebExporter   *self,
99 						   const char       *caption);
100 
101 #endif /* GTH_WEB_EXPORTER_H */
102