Files
fastfetch/src/logo/image/im6.c
T

33 lines
1.2 KiB
C
Raw Normal View History

2022-04-13 23:04:42 +02:00
#ifdef FF_HAVE_IMAGEMAGICK6
#include "image.h"
#include "common/library.h"
2022-06-18 14:25:31 +02:00
#include <magick/MagickCore.h>
2022-04-13 23:04:42 +02:00
2022-09-23 11:51:16 +02:00
static FF_LIBRARY_SYMBOL(ResizeImage)
2022-04-13 23:04:42 +02:00
2026-03-29 09:28:49 +08:00
static void* logoResize(const void* image, size_t width, size_t height, void* exceptionInfo) {
2022-04-13 23:04:42 +02:00
return ffResizeImage(image, width, height, UndefinedFilter, 1.0, exceptionInfo);
}
2026-03-29 09:28:49 +08:00
FFLogoImageResult ffLogoPrintImageIM6(FFLogoRequestData* requestData) {
// clang-format off
FF_LIBRARY_LOAD(imageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR,
"libMagickCore-6.Q16HDRI" FF_LIBRARY_EXTENSION, 8,
"libMagickCore-6.Q16" FF_LIBRARY_EXTENSION, 8
)
// clang-format on
2025-06-21 19:02:17 +08:00
FF_LIBRARY_LOAD_SYMBOL_ADDRESS(imageMagick, ffResizeImage, ResizeImage, FF_LOGO_IMAGE_RESULT_INIT_ERROR)
2022-04-14 11:36:57 +02:00
2023-12-18 21:25:15 +08:00
FFLogoImageResult result = ffLogoPrintImageImpl(requestData, &(FFIMData) {
2026-03-29 09:28:49 +08:00
.resizeFunc = logoResize,
.library = imageMagick,
});
2023-12-18 21:25:15 +08:00
2026-07-10 18:08:04 +08:00
imageMagick = nullptr; // leak imageMagick to prevent fastfetch from crashing #552
2023-12-18 21:25:15 +08:00
return result;
2022-04-13 23:04:42 +02:00
}
#endif