#ifndef __PDFCUBE__PAGE_HH__ #define __PDFCUBE__PAGE_HH__ #include #include #include namespace PDFCube { class Page { public: Page(PopplerPage* poppler_page) : poppler_page_m(poppler_page), low_res_m(NULL), hi_res_m(NULL) { } enum RenderingMode { LOW_RES, HI_RES }; void render(RenderingMode mode); void free(RenderingMode mode); bool is_ready(RenderingMode mode); protected: /* p * GList PopplerLinkMapping enumerating function */ void link_function(gpointer data, gpointer user_data) { PopplerLinkMapping* link = (PopplerLinkMapping*)data; g_print("Link area (%f,%f)x(%f,%f)\n", link->area.x1, link->area.y1, link->area.x2, link->area.y2); } PopplerPage* poppler_page_m; PgmImage* low_res_m; PgmImage* hi_res_m; }; } #endif