- Modified layout algorithm to not attempt to distribute negative
  overage.
- Modified wrapText to enforce a minimum wrap width of 1.
This commit is contained in:
Paul Beckingham 2011-06-13 00:57:04 -04:00
parent 5d2528bff6
commit 69fc2c3be8
3 changed files with 7 additions and 5 deletions

View file

@ -162,10 +162,10 @@ std::string ViewTask::render (std::vector <Task>& data, std::vector <int>& seque
std::vector <int> widths;
if (_width == 0 || sum_ideal <= overage)
widths = ideal;
else if (sum_minimal > overage)
else if (sum_minimal > overage || overage < 0)
// throw std::string ("There is not enough horizontal width to display the results.");
widths = minimal;
else
else if (overage > 0)
{
widths = minimal;
overage -= sum_minimal;

View file

@ -151,10 +151,10 @@ std::string ViewText::render ()
std::vector <int> widths;
if (sum_ideal <= overage)
widths = ideal;
else if (sum_minimal > overage)
else if (sum_minimal > overage || overage < 0)
// throw std::string ("There is not enough horizontal width to display the results.");
widths = minimal;
else
else if (overage > 0)
{
widths = minimal;
overage -= sum_minimal;

View file

@ -57,9 +57,11 @@ void wrapText (
std::string copy = text;
std::string line;
int modified_width = width > 0 ? width : 1;
while (copy.length ()) // Used as Boolean, therefore UTF8 safe.
{
extractLine (copy, line, width);
extractLine (copy, line, modified_width);
lines.push_back (line);
}
}