summaryrefslogtreecommitdiff
path: root/tex/context/base/lpdf-fld.lua
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/lpdf-fld.lua')
-rw-r--r--tex/context/base/lpdf-fld.lua48
1 files changed, 25 insertions, 23 deletions
diff --git a/tex/context/base/lpdf-fld.lua b/tex/context/base/lpdf-fld.lua
index 01c791d69..4044c691b 100644
--- a/tex/context/base/lpdf-fld.lua
+++ b/tex/context/base/lpdf-fld.lua
@@ -21,32 +21,33 @@ local report_fields = logs.new("fields")
local backends, lpdf = backends, lpdf
-local variables = interfaces.variables
+local variables = interfaces.variables
-local references = structures.references
-local settings_to_array = utilities.parsers.settings_to_array
+local references = structures.references
+local settings_to_array = utilities.parsers.settings_to_array
-local nodeinjections = backends.pdf.nodeinjections
-local codeinjections = backends.pdf.codeinjections
-local registrations = backends.pdf.registrations
+local nodeinjections = backends.pdf.nodeinjections
+local codeinjections = backends.pdf.codeinjections
+local registrations = backends.pdf.registrations
-local registeredsymbol = codeinjections.registeredsymbol
+local registeredsymbol = codeinjections.registeredsymbol
-local pdfstream = lpdf.stream
-local pdfdictionary = lpdf.dictionary
-local pdfarray = lpdf.array
-local pdfreference = lpdf.reference
-local pdfunicode = lpdf.unicode
-local pdfstring = lpdf.string
-local pdfconstant = lpdf.constant
-local pdftoeight = lpdf.toeight
-local pdfflushobject = lpdf.flushobject
-local pdfsharedobject = lpdf.sharedobject
-local pdfreserveobject = lpdf.reserveobject
+local pdfstream = lpdf.stream
+local pdfdictionary = lpdf.dictionary
+local pdfarray = lpdf.array
+local pdfreference = lpdf.reference
+local pdfunicode = lpdf.unicode
+local pdfstring = lpdf.string
+local pdfconstant = lpdf.constant
+local pdftoeight = lpdf.toeight
+local pdfflushobject = lpdf.flushobject
+local pdfshareobjectref = lpdf.shareobjectreference
+local pdfreserveobject = lpdf.reserveobject
+local pdfreserveannotation = lpdf.reserveannotation
-local nodepool = nodes.pool
+local nodepool = nodes.pool
-local pdfannotation_node = nodepool.pdfannotation
+local pdfannotation_node = nodepool.pdfannotation
local submitoutputformat = 0 -- 0=unknown 1=HTML 2=FDF 3=XML => not yet used, needs to be checked
@@ -254,7 +255,7 @@ local function fieldappearances(specification)
local appearance = pdfdictionary { -- cache this one
N = registeredsymbol(n), R = registeredsymbol(r), D = registeredsymbol(d),
}
- return pdfsharedobject(tostring(appearance))
+ return pdfshareobjectref(appearance)
end
local function fieldstates(specification,forceyes,values,default)
@@ -316,7 +317,7 @@ local function fieldstates(specification,forceyes,values,default)
R = pdfdictionary { [forceyes or yesr] = registeredsymbol(yesr), Off = registeredsymbol(offr) },
D = pdfdictionary { [forceyes or yesd] = registeredsymbol(yesd), Off = registeredsymbol(offd) }
}
- local appearanceref = pdfsharedobject(tostring(appearance))
+ local appearanceref = pdfshareobjectref(appearance)
return appearanceref, default
end
@@ -645,7 +646,8 @@ local function save_parent(field,specification,d)
end
local function save_kid(field,specification,d)
- local kn = pdfreserveobject()
+--~ local kn = pdfreserveobject()
+ local kn = pdfreserveannotation()
field.kids[#field.kids+1] = pdfreference(kn)
node.write(pdfannotation_node(specification.width,specification.height,0,d(),kn))
end