}
int GetColumnWidth (int nColumnIndex) const;
void SetColumnWidth (int nColumnIndex, int nColumnWidth);
- std::vector<int> GetColumnWidths () const { return m_pSharedTableProps->m_aColumnWidths; }
+ const std::vector<int>& GetColumnWidths () const { return m_pSharedTableProps->m_aColumnWidths; }
void SetColumnWidths (const std::vector<int>& columnWidths);
int GetColumnCount (int nLineIndex) const;
void SetAllowNewlinesInQuotes (bool bAllowNewlinesInQuotes) { m_bAllowNewlinesInQuotes = bAllowNewlinesInQuotes; }
#include "StdAfx.h"
#include <vector>
#include <algorithm>
+#include <numeric>
#include <malloc.h>
#include <imm.h> /* IME */
#include "editcmd.h"
si.cbSize = sizeof (si);
const int nScreenChars = GetScreenChars();
+ const TextLayoutMode layoutMode = GetTextLayoutMode ();
- if (GetTextLayoutMode () == TEXTLAYOUT_WORDWRAP)
+ if (layoutMode == TEXTLAYOUT_WORDWRAP)
{
if (m_nOffsetChar > nScreenChars)
{
return;
}
- const int nMaxLineLen = GetMaxLineLength (m_nTopLine, GetScreenLines());
+ int nMaxLineLen = GetMaxLineLength (m_nTopLine, GetScreenLines());
+ if (layoutMode == TEXTLAYOUT_TABLE_NOWORDWRAP || layoutMode == TEXTLAYOUT_TABLE_WORDWRAP)
+ {
+ auto widths = m_pTextBuffer->GetColumnWidths ();
+ nMaxLineLen = (std::max)(nMaxLineLen, std::accumulate (widths.begin (), widths.end (), 0));
+ }
if (bPositionOnly)
{