From acfcf144a708aa3afc739904dfafccbec48e64bb Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Wed, 20 Jun 2012 11:56:12 +0200 Subject: Reduce amount of boiler plate by casting function pointers to void*. Remove the shim indirection layer for fz_document. A little less type safe, but a lot less boiler plate. --- cbz/mucbz.c | 57 +++++++++------------------------------------------------ 1 file changed, 9 insertions(+), 48 deletions(-) (limited to 'cbz/mucbz.c') diff --git a/cbz/mucbz.c b/cbz/mucbz.c index e8e8faa3..a8a1097a 100644 --- a/cbz/mucbz.c +++ b/cbz/mucbz.c @@ -458,44 +458,9 @@ cbz_run_page(cbz_document *doc, cbz_page *page, fz_device *dev, fz_matrix ctm, f fz_fill_image(dev, &image->base, ctm, 1); } -/* Document interface wrappers */ - -static void cbz_close_document_shim(fz_document *doc) -{ - cbz_close_document((cbz_document*)doc); -} - -static int cbz_count_pages_shim(fz_document *doc) -{ - return cbz_count_pages((cbz_document*)doc); -} - -static fz_page *cbz_load_page_shim(fz_document *doc, int number) -{ - return (fz_page*) cbz_load_page((cbz_document*)doc, number); -} - -static fz_rect cbz_bound_page_shim(fz_document *doc, fz_page *page) -{ - return cbz_bound_page((cbz_document*)doc, (cbz_page*)page); -} - -static void cbz_run_page_shim(fz_document *doc, fz_page *page, fz_device *dev, fz_matrix transform, fz_cookie *cookie) -{ - cbz_run_page((cbz_document*)doc, (cbz_page*)page, dev, transform, cookie); -} - -static void cbz_free_page_shim(fz_document *doc, fz_page *page) -{ - cbz_free_page((cbz_document*)doc, (cbz_page*)page); -} - -static int cbz_meta(fz_document *doc_, int key, void *ptr, int size) +static int +cbz_meta(cbz_document *doc, int key, void *ptr, int size) { - cbz_document *doc = (cbz_document *)doc_; - - doc = doc; - switch(key) { case FZ_META_FORMAT_INFO: @@ -509,15 +474,11 @@ static int cbz_meta(fz_document *doc_, int key, void *ptr, int size) static void cbz_init_document(cbz_document *doc) { - doc->super.close = cbz_close_document_shim; - doc->super.needs_password = NULL; - doc->super.authenticate_password = NULL; - doc->super.load_outline = NULL; - doc->super.count_pages = cbz_count_pages_shim; - doc->super.load_page = cbz_load_page_shim; - doc->super.load_links = NULL; - doc->super.bound_page = cbz_bound_page_shim; - doc->super.run_page = cbz_run_page_shim; - doc->super.free_page = cbz_free_page_shim; - doc->super.meta = cbz_meta; + doc->super.close = (void*)cbz_close_document; + doc->super.count_pages = (void*)cbz_count_pages; + doc->super.load_page = (void*)cbz_load_page; + doc->super.bound_page = (void*)cbz_bound_page; + doc->super.run_page = (void*)cbz_run_page; + doc->super.free_page = (void*)cbz_free_page; + doc->super.meta = (void*)cbz_meta; } -- cgit v1.2.3