summaryrefslogtreecommitdiff
path: root/source/xps/xps-gradient.c
AgeCommit message (Collapse)Author
2017-04-27Include required system headers.Tor Andersson
2016-10-19Move headers to make xps_document an internal type.Sebastian Rasmussen
2015-10-06xps: Simplify transform attribute/tag parsing.Tor Andersson
2015-09-14Remove unused functions.Tor Andersson
2015-02-17Add ctx parameter and remove embedded contexts for API regularity.Tor Andersson
Purge several embedded contexts: Remove embedded context in fz_output. Remove embedded context in fz_stream. Remove embedded context in fz_device. Remove fz_rebind_stream (since it is no longer necessary). Remove embedded context in svg_device. Remove embedded context in XML parser. Add ctx argument to fz_document functions. Remove embedded context in fz_document. Remove embedded context in pdf_document. Remove embedded context in pdf_obj. Make fz_page independent of fz_document in the interface. We shouldn't need to pass the document to all functions handling a page. If a page is tied to the source document, it's redundant; otherwise it's just pointless. Fix reference counting oddity in fz_new_image_from_pixmap.
2015-02-17Rename fz_close_* and fz_free_* to fz_drop_*.Tor Andersson
Rename fz_close to fz_drop_stream. Rename fz_close_archive to fz_drop_archive. Rename fz_close_output to fz_drop_output. Rename fz_free_* to fz_drop_*. Rename pdf_free_* to pdf_drop_*. Rename xps_free_* to xps_drop_*.
2014-09-17xps: Add fz_xml_is_tag to simplify tag matching.Tor Andersson
2014-01-16Bug 694957: fix stack buffer overflow in xps_parse_colorSimon Bünzli
xps_parse_color happily reads more than FZ_MAX_COLORS values out of a ContextColor array which overflows the passed in samples array. Limiting the number of allowed samples to FZ_MAX_COLORS and make sure to use that constant for all callers fixes the problem. Thanks to Jean-Jamil Khalifé for reporting and investigating the issue and providing a sample exploit file.
2013-08-28fix gradient ordering edge caseSimon Bünzli
Gradients in XPS code are ordered by offset. If however two offsets are equal, the order of the colors depends on the sort algorithm instead of the original order in the document. This is shown e.g. in 2245*.xps: <GradientStop Offset="0" Color="#ff00ff00" /> <GradientStop Offset="0.5" Color="#ff0000ff" /> <GradientStop Offset="0.5" Color="#ff00ff00" /> <GradientStop Offset="1" Color="#ff00ffff" /> Tracking the original order of gradient stops and always sorting earlier stops first makes gradient ordering consistent.
2013-06-20Rearrange source files.Tor Andersson