more Windows curses size tinkering
This commit is contained in:
+4
-4
@@ -2033,8 +2033,8 @@ extern int win32_cr_gettrace(int, char *, int);
|
|||||||
extern int *win32_cr_shellexecute(const char *);
|
extern int *win32_cr_shellexecute(const char *);
|
||||||
# endif
|
# endif
|
||||||
#ifdef MSWIN_GRAPHICS
|
#ifdef MSWIN_GRAPHICS
|
||||||
extern int get_approx_window_column_width(void);
|
extern int get_approx_display_width(void);
|
||||||
extern int get_approx_window_rows(void);
|
extern int get_approx_display_rows(void);
|
||||||
#endif
|
#endif
|
||||||
#endif /* WIN32 */
|
#endif /* WIN32 */
|
||||||
|
|
||||||
@@ -2185,8 +2185,8 @@ void console_g_putch(int in_ch);
|
|||||||
extern void set_output_mode(int);
|
extern void set_output_mode(int);
|
||||||
extern void synch_cursor(void);
|
extern void synch_cursor(void);
|
||||||
extern void nethack_enter_consoletty(void);
|
extern void nethack_enter_consoletty(void);
|
||||||
extern int get_console_width(void);
|
extern int get_approx_display_cols(void);
|
||||||
extern int get_console_height(void);
|
extern int get_approx_display_rows(void);
|
||||||
extern void console_exit(void);
|
extern void console_exit(void);
|
||||||
extern int set_keyhandling_via_option(void);
|
extern int set_keyhandling_via_option(void);
|
||||||
#ifdef ENHANCED_SYMBOLS
|
#ifdef ENHANCED_SYMBOLS
|
||||||
|
|||||||
@@ -2644,13 +2644,13 @@ void nethack_enter_consoletty(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
get_console_width(void)
|
get_approx_display_cols(void)
|
||||||
{
|
{
|
||||||
return console.width;
|
return console.width;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
get_console_height(void)
|
get_approx_display_rows(void)
|
||||||
{
|
{
|
||||||
return console.height;
|
return console.height;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1252,18 +1252,6 @@ error:
|
|||||||
}
|
}
|
||||||
#undef win32err
|
#undef win32err
|
||||||
|
|
||||||
#ifdef MSWIN_GRAPHICS
|
|
||||||
int
|
|
||||||
get_approx_window_column_width(void)
|
|
||||||
{
|
|
||||||
return GetSystemMetrics(SM_CXSCREEN) / 8;
|
|
||||||
}
|
|
||||||
int
|
|
||||||
get_approx_window_rows(void)
|
|
||||||
{
|
|
||||||
return GetSystemMetrics(SM_CYSCREEN) / 12;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <shellapi.h>
|
#include <shellapi.h>
|
||||||
#define MAX_SYM_SIZE 100
|
#define MAX_SYM_SIZE 100
|
||||||
|
|||||||
+12
-26
@@ -762,40 +762,26 @@ curses_init_options(void)
|
|||||||
size in the config file, we will set it to a nice big 32x110 to
|
size in the config file, we will set it to a nice big 32x110 to
|
||||||
take advantage of some of the nice features of this windowport. */
|
take advantage of some of the nice features of this windowport. */
|
||||||
if (iflags.wc2_term_cols == 0) {
|
if (iflags.wc2_term_cols == 0) {
|
||||||
#ifndef MSWIN_GRAPHICS
|
int display_width = get_approx_display_cols();
|
||||||
int console_width = get_console_width();
|
|
||||||
|
|
||||||
if (console_width != 0)
|
if (display_width > 220)
|
||||||
iflags.wc2_term_cols = console_width;
|
display_width = 220;
|
||||||
|
|
||||||
|
if (display_width != 0)
|
||||||
|
iflags.wc2_term_cols = display_width;
|
||||||
else
|
else
|
||||||
iflags.wc2_term_cols = 110;
|
iflags.wc2_term_cols = 110;
|
||||||
#else
|
|
||||||
int width = get_approx_window_column_width();
|
|
||||||
|
|
||||||
if (width > 220)
|
|
||||||
width = 220;
|
|
||||||
|
|
||||||
if (width != 0)
|
|
||||||
iflags.wc2_term_cols = width;
|
|
||||||
else
|
|
||||||
iflags.wc2_term_cols = 110;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
if (iflags.wc2_term_rows == 0) {
|
if (iflags.wc2_term_rows == 0) {
|
||||||
#ifndef MSWIN_GRAPHICS
|
int display_height = get_approx_display_rows();
|
||||||
int console_height = get_console_height();
|
|
||||||
|
|
||||||
if (console_height != 0)
|
if (display_height > 64)
|
||||||
iflags.wc2_term_rows = console_height;
|
display_height = 64;
|
||||||
|
|
||||||
|
if (display_height != 0)
|
||||||
|
iflags.wc2_term_rows = display_height;
|
||||||
else
|
else
|
||||||
iflags.wc2_term_rows = 32;
|
iflags.wc2_term_rows = 32;
|
||||||
#else
|
|
||||||
int scrows = get_approx_window_rows();
|
|
||||||
|
|
||||||
if (scrows > 54)
|
|
||||||
scrows = 54;
|
|
||||||
iflags.wc2_term_rows = scrows ? scrows : 32;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
resize_term(iflags.wc2_term_rows, iflags.wc2_term_cols);
|
resize_term(iflags.wc2_term_rows, iflags.wc2_term_cols);
|
||||||
getmaxyx(base_term, term_rows, term_cols);
|
getmaxyx(base_term, term_rows, term_cols);
|
||||||
|
|||||||
@@ -1361,6 +1361,19 @@ nh_compose_ascii_screenshot(void)
|
|||||||
return retval;
|
return retval;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
get_approx_display_cols(void)
|
||||||
|
{
|
||||||
|
return GetSystemMetrics(SM_CXSCREEN) / 8;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
get_approx_display_rows(void)
|
||||||
|
{
|
||||||
|
return GetSystemMetrics(SM_CYSCREEN) / 12;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef ENHANCED_SYMBOLS
|
#ifdef ENHANCED_SYMBOLS
|
||||||
// returns malloc() created pointer - callee assumes the ownership
|
// returns malloc() created pointer - callee assumes the ownership
|
||||||
static WCHAR *
|
static WCHAR *
|
||||||
|
|||||||
Reference in New Issue
Block a user