summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/menu.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/menu.cc')
-rw-r--r--crawl-ref/source/menu.cc17
1 files changed, 9 insertions, 8 deletions
diff --git a/crawl-ref/source/menu.cc b/crawl-ref/source/menu.cc
index 50faf2a82f..74507803e2 100644
--- a/crawl-ref/source/menu.cc
+++ b/crawl-ref/source/menu.cc
@@ -20,6 +20,7 @@
MenuDisplay::MenuDisplay(Menu *menu) : m_menu(menu)
{
+ m_menu->set_maxpagesize(get_number_of_lines());
}
MenuDisplayText::MenuDisplayText(Menu *menu) : MenuDisplay(menu), m_starty(1)
@@ -79,15 +80,18 @@ void MenuDisplayTile::set_num_columns(int columns)
}
#endif
-Menu::Menu( int _flags, const std::string& tagname )
+Menu::Menu( int _flags, const std::string& tagname, bool text_only )
: f_selitem(NULL), f_drawitem(NULL), f_keyfilter(NULL), title(NULL),
flags(_flags), tag(tagname), first_entry(0), y_offset(0),
pagesize(0), max_pagesize(0), more("-more-", true), items(),
sel(), select_filter(), highlighter(new MenuHighlighter), num(-1),
- lastch(0), alive(false), text_only(true), last_selected(-1)
+ lastch(0), alive(false), last_selected(-1)
{
#ifdef USE_TILE
- mdisplay = new MenuDisplayTile(this);
+ if (text_only)
+ mdisplay = new MenuDisplayText(this);
+ else
+ mdisplay = new MenuDisplayTile(this);
#else
mdisplay = new MenuDisplayText(this);
#endif
@@ -107,7 +111,7 @@ Menu::Menu( const formatted_string &fs )
lastch(0), alive(false), last_selected(-1)
{
#ifdef USE_TILE
- mdisplay = new MenuDisplayTile(this);
+ mdisplay = new MenuDisplayText(this);
#else
mdisplay = new MenuDisplayText(this);
#endif
@@ -272,10 +276,7 @@ std::vector<MenuEntry *> Menu::show(bool reuse_selections)
// Lose lines for the title + room for -more- line.
#ifdef USE_TILE
- if (text_only)
- pagesize = get_number_of_lines() - !!title - 1;
- else
- pagesize = max_pagesize - !!title - 1;
+ pagesize = max_pagesize - !!title - 1;
#else
pagesize = get_number_of_lines() - !!title - 1;
if (max_pagesize > 0 && pagesize > max_pagesize)