1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-07-01 11:32:48 -05:00

Add platform-independent fontspec_new_default() function.

Constructing a FontSpec in platform-independent code is awkward,
because you can't call fontspec_new() outside the platform subdirs
(since its prototype varies per platform). But sometimes you just need
_some_ valid FontSpec, e.g. to put in a Conf that will be used in some
place where you don't actually care about font settings, such as a
purely CLI program.

Both Unix and Windows _have_ an idiom for this, but they're different,
because their FontSpec constructors have different prototypes. The
existing CLI tools have always had per-platform main source files, so
they just use the locally appropriate method of constructing a boring
don't-care FontSpec.

But if you want a _platform-independent_ main source file, such as you
might find in a test program, then that's rather awkward. Better to
have a platform-independent API for making a default FontSpec.
This commit is contained in:
Simon Tatham
2023-02-18 13:43:50 +00:00
parent 9e01de7c2b
commit 4341ba6d5c
12 changed files with 27 additions and 9 deletions

View File

@ -172,7 +172,7 @@ void random_destroy_seed(void) {}
char *platform_default_s(const char *name) { return NULL; }
bool platform_default_b(const char *name, bool def) { return def; }
int platform_default_i(const char *name, int def) { return def; }
FontSpec *platform_default_fontspec(const char *name) { return fontspec_new(""); }
FontSpec *platform_default_fontspec(const char *name) { return fontspec_new_default(); }
Filename *platform_default_filename(const char *name) { return filename_from_str(""); }
char *x_get_default(const char *key) { return NULL; }

View File

@ -64,7 +64,7 @@ int platform_default_i(const char *name, int def)
FontSpec *platform_default_fontspec(const char *name)
{
return fontspec_new("");
return fontspec_new_default();
}
Filename *platform_default_filename(const char *name)

View File

@ -78,7 +78,7 @@ int platform_default_i(const char *name, int def)
FontSpec *platform_default_fontspec(const char *name)
{
return fontspec_new("");
return fontspec_new_default();
}
Filename *platform_default_filename(const char *name)

View File

@ -52,7 +52,7 @@ int platform_default_i(const char *name, int def)
FontSpec *platform_default_fontspec(const char *name)
{
return fontspec_new("");
return fontspec_new_default();
}
Filename *platform_default_filename(const char *name)

View File

@ -80,7 +80,7 @@ int platform_default_i(const char *name, int def)
FontSpec *platform_default_fontspec(const char *name)
{
return fontspec_new("");
return fontspec_new_default();
}
Filename *platform_default_filename(const char *name)

View File

@ -13,6 +13,11 @@ FontSpec *fontspec_new(const char *name)
return f;
}
FontSpec *fontspec_new_default(void)
{
return fontspec_new("");
}
FontSpec *fontspec_copy(const FontSpec *f)
{
return fontspec_new(f->name);

View File

@ -304,7 +304,7 @@ FontSpec *platform_default_fontspec(const char *name)
if (!strcmp(name, "Font"))
return fontspec_new(DEFAULT_GTK_FONT);
else
return fontspec_new("");
return fontspec_new_default();
}
Filename *platform_default_filename(const char *name)