summaryrefslogtreecommitdiff
path: root/source/xps/xps-link.c
AgeCommit message (Collapse)Author
2018-07-05Pass rect and matrix by value in geometry functions.Tor Andersson
Several things irk me about passing values as const pointers: * They can be NULL, which is not a valid value. * They require explicit temporary variables for storage. * They don't compose easily in a legible manner, requiring weird pointer passing semantics where the variable being assigned is hidden as an argument in the innermost function call. * We can't change the value through the pointer, requiring yet more local variables to hold copies of the input value. In the device interface where we pass a matrix to a function, we often find ourselves making a local copy of the matrix so we can concatenate other transforms to it. This copying is a lot of unnecessary busywork that I hope to eventually avoid by laying the groundwork with this commit. This is a rather large API change, so I apologize for the inconvenience, but I hope the end result and gain in legibility will be worth the pain.
2017-12-13Parse XML using pool allocator.Tor Andersson
This needs adding a fz_xml_doc type to hold the pool.
2017-09-19Fix 698539: Don't use xps font if it could not be loaded.Tor Andersson
xps_load_links_in_glyphs did not cope with font loading failures.
2017-04-27Avoid typecasting function pointers in subclasses.Tor Andersson
Do the typecasting in the functions instead, reducing the risk of function prototype mismatches.
2017-04-27Include required system headers.Tor Andersson
2016-10-28Clean up link destination handling.Tor Andersson
All link destinations should be URIs, and a document specific function can be called to resolve them to actual page numbers. Outlines have cached page numbers as well as string URIs.
2016-10-19Move headers to make xps_document an internal type.Sebastian Rasmussen
2015-10-06xps: Add separate link parsing step.Tor Andersson
Don't rely on having to run the page once with an identity transform before being able to load the links.