diff options
author | Přemysl Eric Janouch <p@janouch.name> | 2024-01-27 22:22:08 +0100 |
---|---|---|
committer | Přemysl Eric Janouch <p@janouch.name> | 2024-01-27 22:22:08 +0100 |
commit | c6d89361a5e2a46818d67ce4a21856ddecc129a4 (patch) | |
tree | 5ca7d95e331bbf00281550da407649ad25cb0407 /fiv-thumbnail.c | |
parent | 39f6be3f64a6c5c0a1ec0ee8a1d905160381b71f (diff) | |
download | fiv-c6d89361a5e2a46818d67ce4a21856ddecc129a4.tar.gz fiv-c6d89361a5e2a46818d67ce4a21856ddecc129a4.tar.xz fiv-c6d89361a5e2a46818d67ce4a21856ddecc129a4.zip |
WIP: Thread-safe colour management
Diffstat (limited to 'fiv-thumbnail.c')
-rw-r--r-- | fiv-thumbnail.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/fiv-thumbnail.c b/fiv-thumbnail.c index 6ff1246..80f378e 100644 --- a/fiv-thumbnail.c +++ b/fiv-thumbnail.c @@ -137,10 +137,12 @@ might_be_a_thumbnail(const char *path_or_uri) static FivIoImage * render(GFile *target, GBytes *data, gboolean *color_managed, GError **error) { + FivIoCmm *cmm = fiv_io_cmm_get_default(); FivIoOpenContext ctx = { .uri = g_file_get_uri(target), // Remember to synchronize changes with adjust_thumbnail(). - .screen_profile = fiv_io_profile_new_sRGB(), + .cmm = cmm, + .screen_profile = fiv_io_cmm_get_profile_sRGB(cmm), .screen_dpi = 96, .first_frame_only = TRUE, // Only using this array as a redirect. @@ -182,9 +184,11 @@ adjust_thumbnail(FivIoImage *thumbnail, double row_height) FivIoRenderClosure *closure = thumbnail->render; if (closure && orientation <= FivIoOrientation0) { // Remember to synchronize changes with render(). - FivIoProfile *screen_profile = fiv_io_profile_new_sRGB(); + FivIoCmm *cmm = fiv_io_cmm_get_default(); + FivIoProfile *screen_profile = fiv_io_cmm_get_profile_sRGB(cmm); // This API doesn't accept non-uniform scaling; prefer a vertical fit. - FivIoImage *scaled = closure->render(closure, screen_profile, scale_y); + FivIoImage *scaled = + closure->render(closure, cmm, screen_profile, scale_y); if (screen_profile) fiv_io_profile_free(screen_profile); if (scaled) |