From 40c1f8327e1fdbd48492edd2631ec05c4ade3a8b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?=
Date: Wed, 22 Dec 2021 22:07:49 +0100
Subject: Use Little CMS for JPEG colour management
---
fiv-io.h | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
(limited to 'fiv-io.h')
diff --git a/fiv-io.h b/fiv-io.h
index 21ec0f2..80029ef 100644
--- a/fiv-io.h
+++ b/fiv-io.h
@@ -21,6 +21,17 @@
#include
#include
+// --- Colour management -------------------------------------------------------
+
+// TODO(p): Make it possible to use Skia's skcms,
+// which also supports premultiplied alpha.
+typedef void *FivIoProfile;
+FivIoProfile fiv_io_profile_new(const void *data, size_t len);
+FivIoProfile fiv_io_profile_new_sRGB(void);
+void fiv_io_profile_free(FivIoProfile self);
+
+// --- Loading -----------------------------------------------------------------
+
extern const char *fiv_io_supported_media_types[];
char **fiv_io_all_supported_media_types(void);
@@ -56,9 +67,9 @@ extern cairo_user_data_key_t fiv_io_key_page_next;
extern cairo_user_data_key_t fiv_io_key_page_previous;
cairo_surface_t *fiv_io_open(
- const gchar *path, gboolean enhance, GError **error);
+ const gchar *path, FivIoProfile profile, gboolean enhance, GError **error);
cairo_surface_t *fiv_io_open_from_data(const char *data, size_t len,
- const gchar *path, gboolean enhance, GError **error);
+ const gchar *path, FivIoProfile profile, gboolean enhance, GError **error);
int fiv_io_filecmp(GFile *f1, GFile *f2);
--
cgit v1.2.3