From 9d2ad7dea5c20379f6679c57c3b16752b1af445a Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Tue, 19 Oct 2021 00:16:55 +0200 Subject: 2021-10-18 23:13:00 --- tex/context/base/mkxl/back-imp-pdf.lmt | 49 ++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 tex/context/base/mkxl/back-imp-pdf.lmt (limited to 'tex/context/base/mkxl/back-imp-pdf.lmt') diff --git a/tex/context/base/mkxl/back-imp-pdf.lmt b/tex/context/base/mkxl/back-imp-pdf.lmt new file mode 100644 index 000000000..a57427e66 --- /dev/null +++ b/tex/context/base/mkxl/back-imp-pdf.lmt @@ -0,0 +1,49 @@ +if not modules then modules = { } end modules ['back-imp-pdf'] = { + version = 1.001, + comment = "companion to back-imp-pdf.mkiv", + author = "Hans Hagen, PRAGMA-ADE, Hasselt NL", + copyright = "PRAGMA ADE / ConTeXt Development Team", + license = "see context related readme files" +} + +-- We hide the pdf table from users so that we can guarantee no interference with +-- the way we manage resources, info, etc. Users should use the \type {lpdf} +-- interface instead. For now we have a little for tikz. If really needed some more +-- can be made accessible but it has to happen in a controlled way then, for +-- instance by first loading or enabling some compatibility layer so that we can +-- trace possible interferences. + +updaters.register("backends.pdf.latebindings",function() + -- + local dummy = function() end + local report = logs.reporter("backend") + -- + -- For now we keep this for tikz. If really needed some more can be made + -- accessible but it has to happen in a controlled way then, for instance + -- by first loading or enabling some compatibility layer so that we can + -- trace possible interferences. + -- + pdf = { + immediateobj = lpdf.immediateobject + } + + table.setmetatableindex(pdf,function(t,k) + report("calling unavailable pdf.%s function",k) + t[k] = dummy + return dummy + end) + +end) + +-- The compression setter is defined here because it's probably the only macro +-- that is used independent of a driver being chosen. It's easier this way than +-- checking in other ways unless we add some generic compression setting to +-- all drivers. + +interfaces.implement { + name = "setpdfcompression", + arguments = { "integer", "integer" }, + actions = lpdf.setcompression, +} + +-- The pdf driver itself is installed in lpdf-lmt.lmt! -- cgit v1.2.3