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