void inventory_column::draw( WINDOW *win, size_t x, size_t y ) const { for( size_t i = page_offset, line = 0; i < entries.size() && line < entries_per_page; ++i, ++line ) { const auto &entry = entries[i]; if( entry.is_null() ) { continue; } trim_and_print( win, y + line, x + get_entry_indent( entry ), getmaxx( win ) - x, get_entry_color( entry ), "%s", get_entry_text( entry ).c_str() ); if( entry.is_item() && entry.it->invlet != '\0' ) { const nc_color invlet_color = g->u.assigned_invlet.count( entry.it->invlet ) ? c_yellow : c_white; mvwputch( win, y + line, x, invlet_color, entry.it->invlet ); } } }
size_t inventory_column::get_entry_width( const inventory_entry &entry ) const { return get_entry_indent( entry ) + utf8_width( get_entry_text( entry ), true ); }