From 2efa5a1869b3f690b90dd9c58851dfd5340e9a43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Thu, 8 Jan 2026 15:56:44 +0800 Subject: [PATCH] Logo: code refactor for future use --- src/logo/logo.c | 19 +++++++++++-------- src/logo/logo.h | 9 +++++++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/src/logo/logo.c b/src/logo/logo.c index 0e88d0229..c6d364746 100644 --- a/src/logo/logo.c +++ b/src/logo/logo.c @@ -12,13 +12,6 @@ #include #include -typedef enum __attribute__((__packed__)) FFLogoSize -{ - FF_LOGO_SIZE_UNKNOWN, - FF_LOGO_SIZE_NORMAL, - FF_LOGO_SIZE_SMALL, -} FFLogoSize; - static bool ffLogoPrintCharsRaw(const char* data, size_t length, bool printError) { FFOptionsLogo* options = &instance.config.logo; @@ -451,7 +444,7 @@ static bool logoPrintBuiltinIfExists(const FFstrbuf* name, FFLogoSize size) return true; } - const FFlogo* logo = ffStrbufEqualS(name, "?") ? &ffLogoUnknown : logoGetBuiltin(name, size); + const FFlogo* logo = ffLogoGetBuiltinForName(name, size); if(logo == NULL) return false; @@ -784,3 +777,13 @@ void ffLogoBuiltinListAutocompletion(void) printf("%s\n", logo->names[0]); } } + +const FFlogo* ffLogoGetBuiltinForName(const FFstrbuf* name, FFLogoSize size) +{ + return ffStrbufEqualS(name, "?") ? &ffLogoUnknown : logoGetBuiltin(name, size); +} + +const FFlogo* ffLogoGetBuiltinDetected(FFLogoSize size) +{ + return logoGetBuiltinDetected(size); +} diff --git a/src/logo/logo.h b/src/logo/logo.h index d4f332dad..e36047509 100644 --- a/src/logo/logo.h +++ b/src/logo/logo.h @@ -10,6 +10,13 @@ typedef enum __attribute__((__packed__)) FFLogoLineType FF_LOGO_LINE_TYPE_FORCE_UNSIGNED = UINT8_MAX, } FFLogoLineType; +typedef enum __attribute__((__packed__)) FFLogoSize +{ + FF_LOGO_SIZE_UNKNOWN, + FF_LOGO_SIZE_NORMAL, + FF_LOGO_SIZE_SMALL, +} FFLogoSize; + typedef struct FFlogo { const char* lines; @@ -28,6 +35,8 @@ void ffLogoPrintRemaining(void); void ffLogoBuiltinPrint(void); void ffLogoBuiltinList(void); void ffLogoBuiltinListAutocompletion(void); +const FFlogo* ffLogoGetBuiltinForName(const FFstrbuf* name, FFLogoSize size); +const FFlogo* ffLogoGetBuiltinDetected(FFLogoSize size); //builtin.c extern const FFlogo* ffLogoBuiltins[];