Merge from trunk.
Subversion-branch: /branches/v2-branch Subversion-revision: 2731
This commit is contained in:
commit
387fcd4fa4
1 changed files with 38 additions and 0 deletions
|
|
@ -122,6 +122,34 @@ static SDL_Color ega_colors[] =
|
|||
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
|
||||
// Examine system DPI settings to determine whether to use the large font.
|
||||
|
||||
static int Win32_UseLargeFont(void)
|
||||
{
|
||||
HDC hdc = GetDC(NULL);
|
||||
int dpix;
|
||||
|
||||
if (!hdc)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
dpix = GetDeviceCaps(hdc, LOGPIXELSX);
|
||||
ReleaseDC(NULL, hdc);
|
||||
|
||||
// 144 is the DPI when using "150%" scaling. If the user has this set
|
||||
// then consider this an appropriate threshold for using the large font.
|
||||
|
||||
return dpix >= 144;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
static txt_font_t *FontForName(char *name)
|
||||
{
|
||||
if (!strcmp(name, "small"))
|
||||
|
|
@ -190,10 +218,20 @@ static void ChooseFont(void)
|
|||
{
|
||||
font = &small_font;
|
||||
}
|
||||
#ifdef _WIN32
|
||||
// On Windows we can use the system DPI settings to make a
|
||||
// more educated guess about whether to use the large font.
|
||||
|
||||
else if (Win32_UseLargeFont())
|
||||
{
|
||||
font = &large_font;
|
||||
}
|
||||
#else
|
||||
else if (info->current_w >= 1920 && info->current_h >= 1080)
|
||||
{
|
||||
font = &large_font;
|
||||
}
|
||||
#endif
|
||||
else
|
||||
{
|
||||
font = &main_font;
|
||||
|
|
|
|||
Loading…
Reference in a new issue