diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2024-01-28 01:13:15 +0100 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2024-01-28 01:13:15 +0100 |
commit | 501dc123ada348f18cac7ed05c812b5e633bd2ef (patch) | |
tree | 149e157778c320100ab7bf0e676695ae4f57c962 /fiv-io.h | |
parent | 6b4759b63af5d5724c40be516d886b6f9fb0026d (diff) | |
download | fiv-501dc123ada348f18cac7ed05c812b5e633bd2ef.tar.gz fiv-501dc123ada348f18cac7ed05c812b5e633bd2ef.tar.xz fiv-501dc123ada348f18cac7ed05c812b5e633bd2ef.zip |
WIP: Thread-safe colour managementthread-safe-cmm-wip
Diffstat (limited to 'fiv-io.h')
-rw-r--r-- | fiv-io.h | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -28,6 +28,7 @@ typedef struct _FivIoImage FivIoImage; typedef struct _FivIoProfile FivIoProfile; // --- Colour management ------------------------------------------------------- +// Note that without a CMM, all FivIoCmm and FivIoProfile will be returned NULL. GBytes *fiv_io_profile_to_bytes(FivIoProfile *profile); void fiv_io_profile_free(FivIoProfile *self); @@ -37,7 +38,7 @@ void fiv_io_profile_free(FivIoProfile *self); #define FIV_TYPE_IO_CMM (fiv_io_cmm_get_type()) G_DECLARE_FINAL_TYPE(FivIoCmm, fiv_io_cmm, FIV, IO_CMM, GObject) -FivIoCmm *fiv_io_cmm_get_default(); +FivIoCmm *fiv_io_cmm_get_default(void); FivIoProfile *fiv_io_cmm_get_profile( FivIoCmm *self, const void *data, size_t len); @@ -55,15 +56,15 @@ void fiv_io_cmm_cmyk(FivIoCmm *self, FivIoImage *image, FivIoProfile *source, FivIoProfile *target); void fiv_io_cmm_4x16le_direct(FivIoCmm *self, unsigned char *data, int w, int h, FivIoProfile *source, FivIoProfile *target); + void fiv_io_cmm_argb32_premultiply(FivIoCmm *self, - FivIoImage *image, FivIoProfile *source, FivIoProfile *target); + FivIoImage *image, FivIoProfile *source, FivIoProfile *target); +#define fiv_io_cmm_argb32_premultiply_page(cmm, page, target) \ + fiv_io_cmm_page((cmm), (page), (target), fiv_io_cmm_argb32_premultiply) void fiv_io_cmm_page(FivIoCmm *self, FivIoImage *page, FivIoProfile *target, void (*frame_cb) (FivIoCmm *, FivIoImage *, FivIoProfile *, FivIoProfile *)); -#define fiv_io_cmm_argb32_premultiply_page(cmm, page, target) \ - fiv_io_cmm_page((cmm), (page), (target), fiv_io_cmm_argb32_premultiply) - void fiv_io_cmm_any(FivIoCmm *self, FivIoImage *image, FivIoProfile *source, FivIoProfile *target); FivIoImage *fiv_io_cmm_finish(FivIoCmm *self, |