2 #include "Ethumb_Plugin.h"
12 _generate_thumb(Ethumb *e)
14 Epdf_Document *document;
23 ethumb_file_get(e, &src_path, NULL);
24 document = epdf_document_new(src_path);
27 fprintf(stderr, "ERROR: could not read document: %s\n", src_path);
28 ethumb_finished_callback_call(e, 0);
32 page = epdf_page_new(document);
35 fprintf(stderr, "ERROR: could not read document: %s\n", src_path);
36 epdf_document_delete(document);
37 ethumb_finished_callback_call(e, 0);
41 npages = epdf_document_page_count_get(document);
42 pagenum = ethumb_document_page_get(e);
44 epdf_page_page_set(page, pagenum);
45 epdf_page_size_get(page, &w, &h);
46 ethumb_calculate_aspect(e, w, h, &ww, &hh);
47 ethumb_plugin_image_resize(e, ww, hh);
49 o = evas_object_image_add(ethumb_evas_get(e));
50 epdf_page_render(page, o);
51 evas_object_resize(o, ww, hh);
52 evas_object_move(o, 0, 0);
54 ethumb_calculate_fill(e, w, h, &fx, &fy, &fw, &fh);
55 evas_object_image_fill_set(o, fx, fy, fw, fh);
61 epdf_page_delete(page);
62 epdf_document_delete(document);
64 ethumb_finished_callback_call(e, 1);
68 ethumb_plugin_get(void)
70 static const char *extensions[] = { "pdf", NULL };
71 static Ethumb_Plugin plugin =
89 _module_shutdown(void)
94 EINA_MODULE_INIT(_module_init);
95 EINA_MODULE_SHUTDOWN(_module_shutdown);