2022-04-13 23:04:42 +02:00
|
|
|
#ifdef FF_HAVE_IMAGEMAGICK7
|
|
|
|
|
|
|
|
|
|
#include "image.h"
|
2022-07-25 11:20:38 +02:00
|
|
|
#include "common/library.h"
|
2022-06-18 14:25:31 +02:00
|
|
|
|
2022-04-13 23:04:42 +02:00
|
|
|
#include <MagickCore/MagickCore.h>
|
|
|
|
|
|
2022-09-23 11:51:16 +02:00
|
|
|
static FF_LIBRARY_SYMBOL(ResizeImage)
|
2022-04-13 23:04:42 +02:00
|
|
|
|
|
|
|
|
static void* logoResize(const void* image, size_t width, size_t height, void* exceptionInfo)
|
|
|
|
|
{
|
|
|
|
|
return ffResizeImage(image, width, height, UndefinedFilter, exceptionInfo);
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-24 10:59:53 +08:00
|
|
|
FFLogoImageResult ffLogoPrintImageIM7(FFLogoRequestData* requestData)
|
2022-04-13 23:04:42 +02:00
|
|
|
{
|
2023-10-25 16:24:24 +08:00
|
|
|
FF_LIBRARY_LOAD(imageMagick, &instance.config.library.libImageMagick, FF_LOGO_IMAGE_RESULT_INIT_ERROR,
|
2022-12-22 02:07:35 +08:00
|
|
|
"libMagickCore-7.Q16HDRI" FF_LIBRARY_EXTENSION, 11,
|
|
|
|
|
"libMagickCore-7.Q16" FF_LIBRARY_EXTENSION, 11,
|
|
|
|
|
"libMagickCore-7.Q16HDRI-10" FF_LIBRARY_EXTENSION, -1 // Required for Windows
|
|
|
|
|
)
|
2022-09-10 13:36:15 +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) {
|
2023-02-15 14:51:04 +08:00
|
|
|
.resizeFunc = logoResize,
|
|
|
|
|
.library = imageMagick,
|
|
|
|
|
});
|
2023-12-18 21:25:15 +08:00
|
|
|
|
|
|
|
|
imageMagick = NULL; // leak imageMagick to prevent fastfetch from crashing #552
|
|
|
|
|
return result;
|
2022-04-13 23:04:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#endif
|