From edb0ddacea9a05ea17508260edde0be5b5650bc7 Mon Sep 17 00:00:00 2001 From: Duan Yao Date: Wed, 11 Jun 2014 21:59:50 +0800 Subject: [PATCH] Some coding style improvements --- src/BackgroundRenderer/BackgroundRenderer.cc | 13 ++++++++++-- .../CairoBackgroundRenderer.cc | 20 ++++++++++--------- .../CairoBackgroundRenderer.h | 4 ++-- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/BackgroundRenderer/BackgroundRenderer.cc b/src/BackgroundRenderer/BackgroundRenderer.cc index 164e766..5c37fde 100644 --- a/src/BackgroundRenderer/BackgroundRenderer.cc +++ b/src/BackgroundRenderer/BackgroundRenderer.cc @@ -20,9 +20,18 @@ namespace pdf2htmlEX { BackgroundRenderer * BackgroundRenderer::getBackgroundRenderer(const std::string & format, HTMLRenderer * html_renderer, const Param & param) { - if (format == "png" || format == "jpg") +#ifdef ENABLE_LIBPNG + if(format == "png") + { return new SplashBackgroundRenderer(format, html_renderer, param); - + } +#endif +#ifdef ENABLE_LIBJPEG + if(format == "jpg") + { + return new SplashBackgroundRenderer(format, html_renderer, param); + } +#endif #if ENABLE_SVG if (format == "svg") { diff --git a/src/BackgroundRenderer/CairoBackgroundRenderer.cc b/src/BackgroundRenderer/CairoBackgroundRenderer.cc index 795336a..c418933 100644 --- a/src/BackgroundRenderer/CairoBackgroundRenderer.cc +++ b/src/BackgroundRenderer/CairoBackgroundRenderer.cc @@ -19,7 +19,11 @@ namespace pdf2htmlEX { -using namespace std; +using std::string; +using std::ifstream; +using std::ofstream; +using std::vector; +using std::unordered_map; CairoBackgroundRenderer::CairoBackgroundRenderer(HTMLRenderer * html_renderer, const Param & param) : CairoOutputDev() @@ -30,10 +34,10 @@ CairoBackgroundRenderer::CairoBackgroundRenderer(HTMLRenderer * html_renderer, c CairoBackgroundRenderer::~CairoBackgroundRenderer() { - for(auto i = bitmaps_ref_count.begin(); i != bitmaps_ref_count.end(); ++i) + for(auto itr = bitmaps_ref_count.begin(); itr != bitmaps_ref_count.end(); ++itr) { - if (i->second == 0) - html_renderer->tmp_files.add(this->get_bitmap_path(i->first)); + if (itr->second == 0) + html_renderer->tmp_files.add(this->get_bitmap_path(itr->first)); } } @@ -182,8 +186,6 @@ void CairoBackgroundRenderer::embed_image(int pageno) f_page << "\"/>"; } -// use object number as bitmap file name, without pageno prefix, -// because a bitmap may be shared by multiple pages. const char* CairoBackgroundRenderer::get_bitmap_path(int id) { return html_renderer->str_fmt("%s/%d.jpg", param.dest_dir.c_str(), id); @@ -208,10 +210,10 @@ void CairoBackgroundRenderer::setMimeData(Stream *str, Object *ref, cairo_surfac int imgId = ref->getRef().num; auto uri = strdup((char*) html_renderer->str_fmt("%d.jpg", imgId)); auto st = cairo_surface_set_mime_data(image, CAIRO_MIME_TYPE_URI, - (unsigned char*) uri, strlen(uri), gfree, uri); + (unsigned char*) uri, strlen(uri), free, uri); if (st) { - gfree(uri); + free(uri); return; } bitmaps_in_current_page.push_back(imgId); @@ -228,7 +230,7 @@ void CairoBackgroundRenderer::setMimeData(Stream *str, Object *ref, cairo_surfac string path = get_bitmap_path(imgId); ofstream imgfile(path, ofstream::binary); imgfile.write(strBuffer, len); - gfree(strBuffer); + free(strBuffer); } } diff --git a/src/BackgroundRenderer/CairoBackgroundRenderer.h b/src/BackgroundRenderer/CairoBackgroundRenderer.h index 25d366a..fc587a3 100644 --- a/src/BackgroundRenderer/CairoBackgroundRenderer.h +++ b/src/BackgroundRenderer/CairoBackgroundRenderer.h @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include "pdf2htmlEX-config.h" @@ -57,7 +57,7 @@ private: const char* get_bitmap_path(int id); // map // note: if a svg bg fallbacks to bitmap bg, its bitmaps are not taken into account. - std::map bitmaps_ref_count; + std::unordered_map bitmaps_ref_count; // id of bitmaps' stream used by current page std::vector bitmaps_in_current_page; };