summaryrefslogtreecommitdiff
path: root/source/fitz/util.c
AgeCommit message (Collapse)Author
2018-10-23Add fz_write_pixmap_as_data_uri helper function.Tor Andersson
Also include "data:" schema in the data uri for fz_write_image_as_data_uri.
2018-09-05Add missing fz_var declarations.Tor Andersson
2018-09-05Add fz_new_stext_page_from_annot utility function.Tor Andersson
2018-08-14Bug 698887: Fix leak of device/pixmap when rendering fails.Sebastian Rasmussen
2018-07-05Pass rects by value: device and document interface.Tor Andersson
2018-07-05Pass matrices by value: device and document interface.Tor Andersson
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.
2018-06-22Use fz_quad type in structured text and selection/highlighting.Tor Andersson
2018-03-16Don't extract text from annotations by default.Tor Andersson
2018-01-10Add colorspace type enum and use it instead of hardcoded checks on N.Tor Andersson
2017-11-08Clean up and speed up text searching.Tor Andersson
2017-09-07Initialize variables to appease clang scan-build.Sebastian Rasmussen
2017-08-21Remove redundant fz_stext_char_bbox function.Tor Andersson
2017-08-17Add FZ_REPLACEMENT_CHARACTER define for U+FFFD character.Tor Andersson
2017-08-17Simplify stext structure and device.Tor Andersson
* Use pool allocator and linked lists for all levels. * Remove separate fz_stext_sheet struct. * Remove unused 'script' style. * Remove 'span' level items. * Detect visual/logical RTL layouts. * Detect indented paragraphs.
2017-08-09Add common fz_write_image_as_data_uri function for HTML and SVG output.Tor Andersson
Also ensure we don't write CMYK JPEG images.
2017-07-27Add text format document writer.Tor Andersson
Improve HTML output using absolute positioning, and add XHTML output for simpler semantic html output.
2017-07-19Add spots to fz_pixmaps.Robin Watts
Update separations interface further to cope with whether spots should be rendered separately, or as composite colors.
2017-04-27Include required system headers.Tor Andersson
2017-03-22Rename fz_putc/puts/printf to fz_write_*.Tor Andersson
Rename fz_write to fz_write_data. Rename fz_write_buffer_* and fz_buffer_printf to fz_append_*. Be consistent in naming: fz_write_* calls write to fz_output. fz_append_* calls append to fz_buffer. Update documentation.
2016-12-16Fix memory leaks on errors in text searching utility functions.Tor Andersson
2016-10-26Update ios/android to use new way of passion stext options.Sebastian Rasmussen
In addition, make all callers passing 0 as a point pass NULL instead.
2016-10-26Introduce options for structured text.Sebastian Rasmussen
2016-09-08Add options to control heuristics in structured text.Sebastian Rasmussen
2016-08-30Use U+FFFD instead of '?' for bad encodings in text extraction.Tor Andersson
2016-07-14Fix typo in fz_new_stext_page_from_page.Tor Andersson
2016-07-13Bug 696699: Fix Text extraction mediabox information.Robin Watts
Since the removal of the begin_page device function, structured text extraction has been unable to correctly establish the mediabox for extracted pages. Update the fz_new_stext_page call to take this mediabox information. This is an API change, but hopefully most people are calling fz_new_stext_page_from_page or fz_new_stext_page_from_display_list which are updated here to cope. Update all the apps/tools to behave properly.
2016-07-08Separate close and drop functionality for devices and writers.Tor Andersson
Closing a device or writer may throw exceptions, but much of the foreign language bindings (JNI and JS) depend on drop to never throw an exception (exceptions in finalizers are bad).
2016-07-06Add annotations to murun.Tor Andersson
2016-06-23Update JNI code. Take explicit alpha argument in toPixmap functions.Tor Andersson
2016-06-17Add mediabox argument to fz_new_display_list.Tor Andersson
To return the proper size from fz_bound_display_list, which has been broken since the begin_page device call was removed.
2016-06-17Add device space transform state to draw device.Tor Andersson
Allows us to remove the out parameter 'transform' from fz_begin_page.
2016-05-24fz_pixmap revamp: add stride and make alpha optionalRobin Watts
fz_pixmaps now have an explicit stride value. By default no change from before, but code all copes with extra gaps at the end of the line. The alpha data in fz_pixmaps is no longer compulsory. mudraw: use rgb not rgba (ppmraw), cmyk not cmyka (pkmraw). Update halftone code to not expect alpha plane. Update PNG writing to cope with alpha less input. Also hide repeated params within the png output context. ARM code needs updating.
2016-01-05Remove fz_page argument from fz_annot function calls.Tor Andersson
2015-12-11Rename structured text structs and functions to 'stext'.Tor Andersson
Less risk of confusion with the text type used in the device interface.
2015-09-30Fix windows build of fitz/util.cRobin Watts
Use +/-FLT_MAX rather than INT_MIN/MAX for floats. Avoid mid-block definitions of vars.
2015-09-14Add utility functions to help reduce device creation boilerplate.Tor Andersson