--- trunk/source/texk/web2c/luatexdir/image/epdf.h 2013/01/20 19:58:26 4559 +++ trunk/source/texk/web2c/luatexdir/image/epdf.h 2014/01/02 15:35:31 4718 @@ -40,21 +40,22 @@ # include # include # include -# include "Object.h" -# include "Stream.h" -# include "Gfx.h" -# include "Annot.h" -# include "Array.h" -# include "Dict.h" -# include "XRef.h" -# include "Catalog.h" -# include "Link.h" -# include "Page.h" -# include "GfxFont.h" -# include "PDFDoc.h" -# include "GlobalParams.h" -# include "Error.h" -# include "FileSpec.h" +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include +# include extern "C" { @@ -81,8 +82,8 @@ # include "utils/avlstuff.h" # include "pdf/pdftypes.h" -# include "lua52/lua.h" -# include "lua52/lauxlib.h" +# include "lua.h" +# include "lauxlib.h" /* pdfgen.w */ extern int ten_pow[10]; --- trunk/source/texk/web2c/luatexdir/lua/lepdflib.cc 2013/04/05 10:54:08 4629 +++ trunk/source/texk/web2c/luatexdir/lua/lepdflib.cc 2014/01/02 15:35:31 4718 @@ -65,6 +65,7 @@ #define M_PDFRectangle "PDFRectangle" #define M_Ref "Ref" #define M_Stream "Stream" +#define M_StructTreeRoot "StructTreeRoot" #define M_XRefEntry "XRefEntry" #define M_XRef "XRef" @@ -96,6 +97,7 @@ new_poppler_userdata(PDFRectangle); new_poppler_userdata(Ref); new_poppler_userdata(Stream); +new_poppler_userdata(StructTreeRoot); new_poppler_userdata(XRef); //********************************************************************** @@ -573,7 +575,11 @@ m_poppler_get_GOOSTRING(Catalog, getBaseURI); m_poppler_get_GOOSTRING(Catalog, readMetadata); +#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT m_poppler_get_poppler(Catalog, Object, getStructTreeRoot); +#else +m_poppler_get_poppler(Catalog, StructTreeRoot, getStructTreeRoot); +#endif static int m_Catalog_findPage(lua_State * L) { @@ -2146,14 +2152,22 @@ static int m_PDFDoc_getStructTreeRoot(lua_State * L) { +#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT Object *obj; +#else + StructTreeRoot *obj; +#endif udstruct *uin, *uout; uin = (udstruct *) luaL_checkudata(L, 1, M_PDFDoc); if (uin->pd != NULL && uin->pd->pc != uin->pc) pdfdoc_changed_error(L); if (((PdfDocument *) uin->d)->doc->getCatalog()->isOk()) { obj = ((PdfDocument *) uin->d)->doc->getStructTreeRoot(); +#ifdef GETSTRUCTTREEROOT_RETURNS_OBJECT uout = new_Object_userdata(L); +#else + uout = new_StructTreeRoot_userdata(L); +#endif uout->d = obj; uout->pc = uin->pc; uout->pd = uin->pd;