diff options
Diffstat (limited to 'xpdf/HTMLGen.h')
-rw-r--r-- | xpdf/HTMLGen.h | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/xpdf/HTMLGen.h b/xpdf/HTMLGen.h new file mode 100644 index 0000000..66ee2d2 --- /dev/null +++ b/xpdf/HTMLGen.h @@ -0,0 +1,113 @@ +//======================================================================== +// +// HTMLGen.h +// +// Copyright 2010-2021 Glyph & Cog, LLC +// +//======================================================================== + +#ifndef HTMLGEN_H +#define HTMLGEN_H + +#include <aconf.h> + +#ifdef USE_GCC_PRAGMAS +#pragma interface +#endif + +class GString; +class PDFDoc; +class TextOutputDev; +class TextFontInfo; +class SplashOutputDev; +class HTMLGenFontDefn; + +//------------------------------------------------------------------------ + +class HTMLGen { +public: + + HTMLGen(double backgroundResolutionA, GBool tableMode); + ~HTMLGen(); + + GBool isOk() { return ok; } + + double getBackgroundResolution() { return backgroundResolution; } + void setBackgroundResolution(double backgroundResolutionA) + { backgroundResolution = backgroundResolutionA; } + + double getZoom() { return zoom; } + void setZoom(double zoomA) { zoom = zoomA; } + + void setVStretch(double vStretchA) { vStretch = vStretchA; } + + GBool getDrawInvisibleText() { return drawInvisibleText; } + void setDrawInvisibleText(GBool drawInvisibleTextA) + { drawInvisibleText = drawInvisibleTextA; } + + GBool getAllTextInvisible() { return allTextInvisible; } + void setAllTextInvisible(GBool allTextInvisibleA) + { allTextInvisible = allTextInvisibleA; } + + void setExtractFontFiles(GBool extractFontFilesA) + { extractFontFiles = extractFontFilesA; } + + void setConvertFormFields(GBool convertFormFieldsA) + { convertFormFields = convertFormFieldsA; } + + void setEmbedBackgroundImage(GBool embedBackgroundImageA) + { embedBackgroundImage = embedBackgroundImageA; } + + void setEmbedFonts(GBool embedFontsA) + { embedFonts = embedFontsA; } + + void startDoc(PDFDoc *docA); + int convertPage(int pg, const char *pngURL, const char *htmlDir, + int (*writeHTML)(void *stream, const char *data, int size), + void *htmlStream, + int (*writePNG)(void *stream, const char *data, int size), + void *pngStream); + +private: + + int findDirSpan(GList *words, int firstWordIdx, int primaryDir, + int *spanDir); + void appendSpans(GList *words, int firstWordIdx, int lastWordIdx, + int primaryDir, int spanDir, + double base, GBool dropCapLine, GString *s); + void appendUTF8(Unicode u, GString *s); + HTMLGenFontDefn *getFontDefn(TextFontInfo *font, const char *htmlDir); + HTMLGenFontDefn *getFontFile(TextFontInfo *font, const char *htmlDir); + HTMLGenFontDefn *getSubstituteFont(TextFontInfo *font); + void getFontDetails(TextFontInfo *font, const char **family, + const char **weight, const char **style, + double *scale); + + double backgroundResolution; + double zoom; + double vStretch; + GBool drawInvisibleText; + GBool allTextInvisible; + GBool extractFontFiles; + GBool convertFormFields; + GBool embedBackgroundImage; + GBool embedFonts; + + PDFDoc *doc; + TextOutputDev *textOut; + SplashOutputDev *splashOut; + + GList *fonts; // [TextFontInfo] + double *fontScales; + + GList *fontDefns; // [HTMLGenFontDefn] + int nextFontFaceIdx; + + TextFontInfo *formFieldFont; + GList *formFieldInfo; // [HTMLGenFormFieldInfo] + int nextFieldID; + + GBool ok; +}; + +#endif |