diff options
Diffstat (limited to 'platform/windows/mupdfwinrt/muctx.h')
-rw-r--r-- | platform/windows/mupdfwinrt/muctx.h | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/platform/windows/mupdfwinrt/muctx.h b/platform/windows/mupdfwinrt/muctx.h deleted file mode 100644 index 314d404b..00000000 --- a/platform/windows/mupdfwinrt/muctx.h +++ /dev/null @@ -1,125 +0,0 @@ -#pragma once - -#include <memory> -#include <functional> -#include <vector> -#include <windows.h> -#include "status.h" -#include "Cache.h" -extern "C" { -#include "mupdf/fitz.h" -#include "mupdf/pdf-tools.h" -} - - -#define MAX_SEARCH 500 - -enum { SVG_OUT, PNM_OUT, PCL_OUT, PWG_OUT }; -enum { HTML = 0, XML, TEXT }; - -typedef struct point_s -{ - double X; - double Y; -} point_t; - -/* Links */ -typedef struct document_link_s -{ - link_t type; - point_t upper_left; - point_t lower_right; - std::unique_ptr<char[]> uri; - int page_num; -} document_link_t; -#define sh_link std::shared_ptr<document_link_t> -#define sh_vector_link std::shared_ptr<std::vector<sh_link>> - -/* Text Search */ -typedef struct text_search_s -{ - point_t upper_left; - point_t lower_right; -} text_search_t; -#define sh_text std::shared_ptr<text_search_t> -#define sh_vector_text std::shared_ptr<std::vector<sh_text>> - -/* Content Results */ -typedef struct content_s -{ - int page; - std::string string_orig; - std::string string_margin; -} content_t; -#define sh_content std::shared_ptr<content_t> -#define sh_vector_content std::shared_ptr<std::vector<sh_content>> - -#ifdef _WINRT_DLL -using namespace Windows::Storage::Streams; -using namespace Windows::Foundation; - -typedef struct win_stream_struct_s -{ - IRandomAccessStream^ stream; - unsigned char public_buffer[4096]; -} win_stream_struct; -#else -typedef struct win_stream_struct_s -{ - char* stream; -} win_stream_struct; -#endif - -class muctx -{ -private: - CRITICAL_SECTION mu_criticalsec[FZ_LOCK_MAX]; - win_stream_struct win_stream; - fz_locks_context mu_locks; - fz_context *mu_ctx; - fz_document *mu_doc; - fz_outline *mu_outline; - fz_rect mu_hit_bbox[MAX_SEARCH]; - void FlattenOutline(fz_outline *outline, int level, - sh_vector_content contents_vec); - Cache *page_cache; - Cache *annot_cache; - -public: - muctx(void); - ~muctx(void); - void CleanUp(void); - int GetPageCount(); - status_t InitializeContext(); - status_t RenderPage(int page_num, unsigned char *bmp_data, int bmp_width, - int bmp_height, float scale, bool flipy); - status_t RenderPageMT(void *dlist, void *a_dlist, int page_width, int page_height, - unsigned char *bmp_data, int bmp_width, int bmp_height, - float scale, bool flipy, bool tile, point_t top_left, - point_t bottom_right); - fz_display_list* CreateDisplayList(int page_num, int *width, int *height); - fz_display_list * CreateDisplayListText(int page_num, int *width, - int *height, fz_text_page **text, int *length); - fz_display_list * CreateAnnotationList(int page_num); - void ReleaseDisplayLists(void *dlist, void *annotlist); - int MeasurePage(int page_num, point_t *size); - point_t MeasurePage(fz_page *page); - unsigned int GetLinks(int page_num, sh_vector_link links_vec); - void SetAA(int level); - int GetTextSearch(int page_num, char* needle, sh_vector_text texts_vec); - int GetContents(sh_vector_content contents_vec); - std::string GetText(int page_num, int type); - void ReleaseText(void *text); - bool RequiresPassword(void); - bool ApplyPassword(char* password); - status_t SavePage(char *filename, int pagenum, int resolution, int type, - bool append); - void GetCharBBox(fz_rect *rect, fz_text_span *span, int index); - -#ifdef _WINRT_DLL - status_t InitializeStream(IRandomAccessStream^ readStream, char *ext); -#else - status_t OpenDocument(char *filename); -#endif - -}; |