Settings: HiDPI support
This commit is contained in:
@@ -317,7 +317,7 @@ BEGIN
|
|||||||
WS_BORDER,53,45,166,14
|
WS_BORDER,53,45,166,14
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CONFIG DIALOG DISCARDABLE 0, 0, 366, 256
|
DLG_CONFIG DIALOG DISCARDABLE 0, 0, 376, 256
|
||||||
STYLE DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
STYLE DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||||
CAPTION "86Box Settings"
|
CAPTION "86Box Settings"
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
@@ -325,8 +325,8 @@ BEGIN
|
|||||||
DEFPUSHBUTTON "OK",IDOK,246,235,50,14
|
DEFPUSHBUTTON "OK",IDOK,246,235,50,14
|
||||||
PUSHBUTTON "Cancel",IDCANCEL,307,235,50,14
|
PUSHBUTTON "Cancel",IDCANCEL,307,235,50,14
|
||||||
CONTROL "List2",IDC_SETTINGSCATLIST,"SysListView32",LVS_LIST |
|
CONTROL "List2",IDC_SETTINGSCATLIST,"SysListView32",LVS_LIST |
|
||||||
LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,7,7,90,212
|
LVS_SHOWSELALWAYS | LVS_SINGLESEL | WS_BORDER | WS_TABSTOP,7,7,100,212
|
||||||
CONTROL "",-1,"Static",SS_BLACKFRAME | SS_SUNKEN,1,226,363,1
|
CONTROL "",-1,"Static",SS_BLACKFRAME | SS_SUNKEN,1,226,373,1
|
||||||
/* Leave this commented out until we get into localization. */
|
/* Leave this commented out until we get into localization. */
|
||||||
#if 0
|
#if 0
|
||||||
LTEXT "Language:",IDT_1700,7,237,41,10
|
LTEXT "Language:",IDT_1700,7,237,41,10
|
||||||
@@ -335,7 +335,7 @@ BEGIN
|
|||||||
#endif
|
#endif
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_MACHINE DIALOG DISCARDABLE 97, 0, 305, 199
|
DLG_CFG_MACHINE DIALOG DISCARDABLE 107, 0, 305, 199
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -377,7 +377,7 @@ BEGIN
|
|||||||
#endif
|
#endif
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_VIDEO DIALOG DISCARDABLE 97, 0, 267, 45
|
DLG_CFG_VIDEO DIALOG DISCARDABLE 107, 0, 267, 45
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -390,7 +390,7 @@ BEGIN
|
|||||||
PUSHBUTTON "Configure",IDC_BUTTON_VOODOO,222,26,38,12
|
PUSHBUTTON "Configure",IDC_BUTTON_VOODOO,222,26,38,12
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_INPUT DIALOG DISCARDABLE 97, 0, 267, 65
|
DLG_CFG_INPUT DIALOG DISCARDABLE 107, 0, 267, 65
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -407,7 +407,7 @@ BEGIN
|
|||||||
PUSHBUTTON "Joystick 4...",IDC_JOY4,209,44,50,14
|
PUSHBUTTON "Joystick 4...",IDC_JOY4,209,44,50,14
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_SOUND DIALOG DISCARDABLE 97, 0, 267, 199
|
DLG_CFG_SOUND DIALOG DISCARDABLE 107, 0, 267, 199
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -443,7 +443,7 @@ BEGIN
|
|||||||
BS_AUTOCHECKBOX | WS_TABSTOP,7,115,94,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,7,115,94,10
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_NETWORK DIALOG DISCARDABLE 97, 0, 267, 63
|
DLG_CFG_NETWORK DIALOG DISCARDABLE 107, 0, 267, 63
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -461,7 +461,7 @@ BEGIN
|
|||||||
PUSHBUTTON "Configure",IDC_CONFIGURE_NET,214,43,46,12
|
PUSHBUTTON "Configure",IDC_CONFIGURE_NET,214,43,46,12
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_PORTS DIALOG DISCARDABLE 97, 0, 267, 135
|
DLG_CFG_PORTS DIALOG DISCARDABLE 107, 0, 267, 135
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -494,7 +494,7 @@ BEGIN
|
|||||||
BS_AUTOCHECKBOX | WS_TABSTOP,7,118,94,10
|
BS_AUTOCHECKBOX | WS_TABSTOP,7,118,94,10
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_PERIPHERALS DIALOG DISCARDABLE 97, 0, 267, 220
|
DLG_CFG_PERIPHERALS DIALOG DISCARDABLE 107, 0, 267, 220
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -551,7 +551,7 @@ BEGIN
|
|||||||
PUSHBUTTON "Configure",IDC_CONFIGURE_ISAMEM_4,217,190,38,12
|
PUSHBUTTON "Configure",IDC_CONFIGURE_ISAMEM_4,217,190,38,12
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_HARD_DISKS DIALOG DISCARDABLE 97, 0, 267, 154
|
DLG_CFG_HARD_DISKS DIALOG DISCARDABLE 107, 0, 267, 154
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -612,7 +612,7 @@ BEGIN
|
|||||||
WS_BORDER,7,16,204,12
|
WS_BORDER,7,16,204,12
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_FLOPPY_AND_CDROM_DRIVES DIALOG DISCARDABLE 97, 0, 267, 222
|
DLG_CFG_FLOPPY_AND_CDROM_DRIVES DIALOG DISCARDABLE 107, 0, 267, 222
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -646,7 +646,7 @@ BEGIN
|
|||||||
LTEXT "Speed:",IDT_1758,7,207,24,8
|
LTEXT "Speed:",IDT_1758,7,207,24,8
|
||||||
END
|
END
|
||||||
|
|
||||||
DLG_CFG_OTHER_REMOVABLE_DEVICES DIALOG DISCARDABLE 97, 0, 267, 222
|
DLG_CFG_OTHER_REMOVABLE_DEVICES DIALOG DISCARDABLE 107, 0, 267, 222
|
||||||
STYLE DS_CONTROL | WS_CHILD
|
STYLE DS_CONTROL | WS_CHILD
|
||||||
FONT 9, "Segoe UI"
|
FONT 9, "Segoe UI"
|
||||||
BEGIN
|
BEGIN
|
||||||
|
|||||||
@@ -71,6 +71,7 @@
|
|||||||
|
|
||||||
|
|
||||||
static int first_cat = 0;
|
static int first_cat = 0;
|
||||||
|
static int dpi = 96;
|
||||||
|
|
||||||
/* Machine category */
|
/* Machine category */
|
||||||
static int temp_machine_type, temp_machine, temp_cpu_m, temp_cpu, temp_wait_states, temp_fpu, temp_sync;
|
static int temp_machine_type, temp_machine, temp_cpu_m, temp_cpu, temp_wait_states, temp_fpu, temp_sync;
|
||||||
@@ -153,8 +154,11 @@ image_list_init(HWND hwndList, const uint8_t *icon_ids)
|
|||||||
|
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
|
||||||
hSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
|
hSmall = ListView_GetImageList(hwndList, LVSIL_SMALL);
|
||||||
GetSystemMetrics(SM_CYSMICON),
|
if (hSmall != 0) ImageList_Destroy(hSmall);
|
||||||
|
|
||||||
|
hSmall = ImageList_Create(win_get_system_metrics(SM_CXSMICON, dpi),
|
||||||
|
win_get_system_metrics(SM_CYSMICON, dpi),
|
||||||
ILC_MASK | ILC_COLOR32, 1, 1);
|
ILC_MASK | ILC_COLOR32, 1, 1);
|
||||||
|
|
||||||
while(1) {
|
while(1) {
|
||||||
@@ -2680,6 +2684,16 @@ win_settings_hard_disks_recalc_list(HWND hwndList)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
win_settings_hard_disks_resize_columns(HWND hwndList)
|
||||||
|
{
|
||||||
|
int iCol;
|
||||||
|
/* Bus, File, Cylinders, Heads, Sectors, Size */
|
||||||
|
int width[C_COLUMNS_HARD_DISKS] = {130, 130, 41, 25, 25, 41};
|
||||||
|
for (iCol = 0; iCol < C_COLUMNS_HARD_DISKS; iCol++) {
|
||||||
|
ListView_SetColumnWidth(hwndList, iCol, MulDiv(width[iCol], dpi, 96));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
win_settings_hard_disks_init_columns(HWND hwndList)
|
win_settings_hard_disks_init_columns(HWND hwndList)
|
||||||
@@ -2695,7 +2709,7 @@ win_settings_hard_disks_init_columns(HWND hwndList)
|
|||||||
|
|
||||||
switch(iCol) {
|
switch(iCol) {
|
||||||
case 0: /* Bus */
|
case 0: /* Bus */
|
||||||
lvc.cx = 135;
|
lvc.cx = 130;
|
||||||
lvc.fmt = LVCFMT_LEFT;
|
lvc.fmt = LVCFMT_LEFT;
|
||||||
break;
|
break;
|
||||||
case 2: /* Cylinders */
|
case 2: /* Cylinders */
|
||||||
@@ -2708,7 +2722,7 @@ win_settings_hard_disks_init_columns(HWND hwndList)
|
|||||||
lvc.fmt = LVCFMT_RIGHT;
|
lvc.fmt = LVCFMT_RIGHT;
|
||||||
break;
|
break;
|
||||||
case 1: /* File */
|
case 1: /* File */
|
||||||
lvc.cx = 150;
|
lvc.cx = 130;
|
||||||
lvc.fmt = LVCFMT_LEFT;
|
lvc.fmt = LVCFMT_LEFT;
|
||||||
break;
|
break;
|
||||||
case 5: /* Size (MB) 8 */
|
case 5: /* Size (MB) 8 */
|
||||||
@@ -2721,6 +2735,7 @@ win_settings_hard_disks_init_columns(HWND hwndList)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
win_settings_hard_disks_resize_columns(hwndList);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3682,6 +3697,11 @@ hd_bus_skip:
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
case WM_DPICHANGED_AFTERPARENT:
|
||||||
|
h = GetDlgItem(hdlg, IDC_LIST_HARD_DISKS);
|
||||||
|
win_settings_hard_disks_resize_columns(h);
|
||||||
|
image_list_init(h, (const uint8_t *) hd_icons);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -3920,6 +3940,14 @@ win_settings_zip_drives_recalc_list(HWND hwndList)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
win_settings_floppy_drives_resize_columns(HWND hwndList)
|
||||||
|
{
|
||||||
|
ListView_SetColumnWidth(hwndList, 0, MulDiv(250, dpi, 96));
|
||||||
|
ListView_SetColumnWidth(hwndList, 1, MulDiv(50, dpi, 96));
|
||||||
|
ListView_SetColumnWidth(hwndList, 2, MulDiv(75, dpi, 96));
|
||||||
|
}
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
win_settings_floppy_drives_init_columns(HWND hwndList)
|
win_settings_floppy_drives_init_columns(HWND hwndList)
|
||||||
{
|
{
|
||||||
@@ -3930,7 +3958,7 @@ win_settings_floppy_drives_init_columns(HWND hwndList)
|
|||||||
lvc.iSubItem = 0;
|
lvc.iSubItem = 0;
|
||||||
lvc.pszText = plat_get_string(IDS_2092);
|
lvc.pszText = plat_get_string(IDS_2092);
|
||||||
|
|
||||||
lvc.cx = 292;
|
lvc.cx = 250;
|
||||||
lvc.fmt = LVCFMT_LEFT;
|
lvc.fmt = LVCFMT_LEFT;
|
||||||
|
|
||||||
if (ListView_InsertColumn(hwndList, 0, &lvc) == -1)
|
if (ListView_InsertColumn(hwndList, 0, &lvc) == -1)
|
||||||
@@ -3952,12 +3980,20 @@ win_settings_floppy_drives_init_columns(HWND hwndList)
|
|||||||
lvc.fmt = LVCFMT_LEFT;
|
lvc.fmt = LVCFMT_LEFT;
|
||||||
|
|
||||||
if (ListView_InsertColumn(hwndList, 2, &lvc) == -1)
|
if (ListView_InsertColumn(hwndList, 2, &lvc) == -1)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
win_settings_floppy_drives_resize_columns(hwndList);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
win_settings_cdrom_drives_resize_columns(HWND hwndList)
|
||||||
|
{
|
||||||
|
ListView_SetColumnWidth(hwndList, 0, MulDiv(342, dpi, 96));
|
||||||
|
ListView_SetColumnWidth(hwndList, 1, MulDiv(50, dpi, 96));
|
||||||
|
}
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
win_settings_cdrom_drives_init_columns(HWND hwndList)
|
win_settings_cdrom_drives_init_columns(HWND hwndList)
|
||||||
{
|
{
|
||||||
@@ -3981,11 +4017,18 @@ win_settings_cdrom_drives_init_columns(HWND hwndList)
|
|||||||
lvc.fmt = LVCFMT_LEFT;
|
lvc.fmt = LVCFMT_LEFT;
|
||||||
|
|
||||||
if (ListView_InsertColumn(hwndList, 1, &lvc) == -1)
|
if (ListView_InsertColumn(hwndList, 1, &lvc) == -1)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
win_settings_cdrom_drives_resize_columns(hwndList);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
win_settings_mo_drives_resize_columns(HWND hwndList)
|
||||||
|
{
|
||||||
|
ListView_SetColumnWidth(hwndList, 0, MulDiv(120, dpi, 96));
|
||||||
|
ListView_SetColumnWidth(hwndList, 1, MulDiv(260, dpi, 96));
|
||||||
|
}
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
win_settings_mo_drives_init_columns(HWND hwndList)
|
win_settings_mo_drives_init_columns(HWND hwndList)
|
||||||
@@ -4010,11 +4053,18 @@ win_settings_mo_drives_init_columns(HWND hwndList)
|
|||||||
lvc.fmt = LVCFMT_LEFT;
|
lvc.fmt = LVCFMT_LEFT;
|
||||||
|
|
||||||
if (ListView_InsertColumn(hwndList, 1, &lvc) == -1)
|
if (ListView_InsertColumn(hwndList, 1, &lvc) == -1)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
win_settings_mo_drives_resize_columns(hwndList);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
win_settings_zip_drives_resize_columns(HWND hwndList)
|
||||||
|
{
|
||||||
|
ListView_SetColumnWidth(hwndList, 0, MulDiv(342, dpi, 96));
|
||||||
|
ListView_SetColumnWidth(hwndList, 1, MulDiv(50, dpi, 96));
|
||||||
|
}
|
||||||
|
|
||||||
static BOOL
|
static BOOL
|
||||||
win_settings_zip_drives_init_columns(HWND hwndList)
|
win_settings_zip_drives_init_columns(HWND hwndList)
|
||||||
@@ -4039,8 +4089,9 @@ win_settings_zip_drives_init_columns(HWND hwndList)
|
|||||||
lvc.fmt = LVCFMT_LEFT;
|
lvc.fmt = LVCFMT_LEFT;
|
||||||
|
|
||||||
if (ListView_InsertColumn(hwndList, 1, &lvc) == -1)
|
if (ListView_InsertColumn(hwndList, 1, &lvc) == -1)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
|
win_settings_zip_drives_resize_columns(hwndList);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4856,6 +4907,14 @@ win_settings_floppy_and_cdrom_drives_proc(HWND hdlg, UINT message, WPARAM wParam
|
|||||||
}
|
}
|
||||||
ignore_change = 0;
|
ignore_change = 0;
|
||||||
|
|
||||||
|
case WM_DPICHANGED_AFTERPARENT:
|
||||||
|
h = GetDlgItem(hdlg, IDC_LIST_FLOPPY_DRIVES);
|
||||||
|
win_settings_floppy_drives_resize_columns(h);
|
||||||
|
image_list_init(h, (const uint8_t *) fd_icons);
|
||||||
|
h = GetDlgItem(hdlg, IDC_LIST_CDROM_DRIVES);
|
||||||
|
win_settings_cdrom_drives_resize_columns(h);
|
||||||
|
image_list_init(h, (const uint8_t *) cd_icons);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -5122,6 +5181,14 @@ win_settings_other_removable_devices_proc(HWND hdlg, UINT message, WPARAM wParam
|
|||||||
}
|
}
|
||||||
ignore_change = 0;
|
ignore_change = 0;
|
||||||
|
|
||||||
|
case WM_DPICHANGED_AFTERPARENT:
|
||||||
|
h = GetDlgItem(hdlg, IDC_LIST_MO_DRIVES);
|
||||||
|
win_settings_mo_drives_resize_columns(h);
|
||||||
|
image_list_init(h, (const uint8_t *) mo_icons);
|
||||||
|
h = GetDlgItem(hdlg, IDC_LIST_ZIP_DRIVES);
|
||||||
|
win_settings_zip_drives_resize_columns(h);
|
||||||
|
image_list_init(h, (const uint8_t *) zip_icons);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -5244,6 +5311,7 @@ win_settings_main_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
switch (message) {
|
switch (message) {
|
||||||
case WM_INITDIALOG:
|
case WM_INITDIALOG:
|
||||||
|
dpi = win_get_dpi(hdlg);
|
||||||
win_settings_init();
|
win_settings_init();
|
||||||
displayed_category = -1;
|
displayed_category = -1;
|
||||||
h = GetDlgItem(hdlg, IDC_SETTINGSCATLIST);
|
h = GetDlgItem(hdlg, IDC_SETTINGSCATLIST);
|
||||||
@@ -5277,6 +5345,11 @@ win_settings_main_proc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case WM_DPICHANGED:
|
||||||
|
dpi = HIWORD(wParam);
|
||||||
|
h = GetDlgItem(hdlg, IDC_SETTINGSCATLIST);
|
||||||
|
image_list_init(h, (const uint8_t *) cat_icons);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user