From 74cfb1b4c115cdb4e05aa823b09d2b5ea9d0d690 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sun, 9 Feb 2003 22:40:47 +0000 Subject: signed ints instead of unsigned ints again. less pain. pain bad. --- otk/label.cc | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'otk/label.cc') diff --git a/otk/label.cc b/otk/label.cc index 16fa25a0..c17e295e 100644 --- a/otk/label.cc +++ b/otk/label.cc @@ -71,11 +71,12 @@ void Label::setFont(const Font *f) void Label::calcDefaultSizes() { - unsigned int longest = 0; + int longest = 0; // find the longest line std::vector::iterator it, end = _parsedtext.end(); for (it = _parsedtext.begin(); it != end; ++it) { - unsigned int length = _font->measureString(*it); + int length = _font->measureString(*it); + if (length < 0) continue; // lines too long get skipped if (length > longest) longest = length; } setMinSize(Size(longest + borderWidth() * 2 + bevel() * 4, @@ -101,10 +102,10 @@ void Label::styleChanged(const RenderStyle &style) void Label::renderForeground(Surface &surface) { const RenderControl *control = display->renderControl(screen()); - unsigned int sidemargin = bevel() * 2; + int sidemargin = bevel() * 2; int y = bevel(); - unsigned int w = area().width() - borderWidth() * 2 - sidemargin * 2; - unsigned int h = area().height() - borderWidth() * 2 - bevel() * 2; + int w = area().width() - borderWidth() * 2 - sidemargin * 2; + int h = area().height() - borderWidth() * 2 - bevel() * 2; switch (_justify_vert) { case RenderStyle::RightBottomJustify: @@ -128,12 +129,13 @@ void Label::renderForeground(Surface &surface) // find a string that will fit inside the area for text ustring::size_type text_len = t.size(); - unsigned int length; + int length; do { t.resize(text_len); length = _font->measureString(t); } while (length > w && text_len-- > 0); + if (length < 0) continue; // lines too long get skipped if (text_len <= 0) continue; // won't fit anything -- cgit v1.2.3