aboutsummaryrefslogtreecommitdiff
path: root/fiv-io.h
diff options
context:
space:
mode:
authorPřemysl Eric Janouch <p@janouch.name>2022-01-22 23:17:17 +0100
committerPřemysl Eric Janouch <p@janouch.name>2022-01-23 04:12:10 +0100
commit562e140a1e9908629ce37cc1aa2cff3b5464e496 (patch)
tree08c780cfe9c07d5cf5ad0fa82e834bab3a7e901e /fiv-io.h
parentb71d5dff571f70066319a20e49a771bb9b0816b1 (diff)
downloadfiv-562e140a1e9908629ce37cc1aa2cff3b5464e496.tar.gz
fiv-562e140a1e9908629ce37cc1aa2cff3b5464e496.tar.xz
fiv-562e140a1e9908629ce37cc1aa2cff3b5464e496.zip
Add backend for accurate SVG scaling
Diffstat (limited to 'fiv-io.h')
-rw-r--r--fiv-io.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/fiv-io.h b/fiv-io.h
index feeab43..5379303 100644
--- a/fiv-io.h
+++ b/fiv-io.h
@@ -73,6 +73,16 @@ extern cairo_user_data_key_t fiv_io_key_page_next;
/// There is no wrap-around. This is a weak pointer.
extern cairo_user_data_key_t fiv_io_key_page_previous;
+typedef struct _FivIoRenderClosure {
+ /// The rendering is allowed to fail.
+ cairo_surface_t *(*render)(struct _FivIoRenderClosure *, double scale);
+} FivIoRenderClosure;
+
+/// A FivIoRenderClosure for parametrized re-rendering of vector formats.
+/// This is attached at the page level.
+/// The rendered image will not have this key.
+extern cairo_user_data_key_t fiv_io_key_render;
+
cairo_surface_t *fiv_io_open(
const gchar *uri, FivIoProfile profile, gboolean enhance, GError **error);
cairo_surface_t *fiv_io_open_from_data(const char *data, size_t len,