From 2fe5e55f4fe84e0ff2d2857355861657474daae8 Mon Sep 17 00:00:00 2001 From: James Cook Date: Thu, 3 Dec 2009 15:20:21 -0800 Subject: Hack for EXT-2971 Letter R doesn't show when it's the last letter in a text block. Add 1 pixel of padding to clipping rect computation. I think there is a deeper problem in the font width computation code, but I don't know where. Opened EXT-3112 for the deeper issue. Reviewed with Leyla. --- indra/llui/lltextbase.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 741ab1737d..82a3c5cf47 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -543,9 +543,17 @@ void LLTextBase::drawText() line_end = next_start; } + // A patch for EXT-1944 "Implement ellipses in message well" + // introduced a regression where text in SansSerif ending in the + // letter "r" is clipped. This may be due to an off-by-one in + // font width information out of FreeType with our fractional font + // sizes. For now, just make an extra pixel of space to resolve + // EXT-2971 "Letter R doesn't show when it's the last letter in a + // text block". See James/Richard for details. + const S32 FIX_CLIPPING_HACK = 1; LLRect text_rect(line.mRect.mLeft + mTextRect.mLeft - scrolled_view_rect.mLeft, line.mRect.mTop - scrolled_view_rect.mBottom + mTextRect.mBottom, - llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft, + llmin(mDocumentView->getRect().getWidth(), line.mRect.mRight) - scrolled_view_rect.mLeft + FIX_CLIPPING_HACK, line.mRect.mBottom - scrolled_view_rect.mBottom + mTextRect.mBottom); // draw a single line of text -- cgit v1.2.3 From 2add7f70458a4a439d2fb25039c24d6bbbf245e9 Mon Sep 17 00:00:00 2001 From: James Cook Date: Thu, 3 Dec 2009 15:21:04 -0800 Subject: Added floater_test_text_editor, hooked up UI tests to login Debug menu Reviewed with Leyla --- indra/newview/llviewerfloaterreg.cpp | 7 +++- .../default/xui/en/floater_test_text_editor.xml | 20 +++++++++++ .../skins/default/xui/en/floater_test_textbox.xml | 17 ++++++++- indra/newview/skins/default/xui/en/menu_login.xml | 41 ++++++++++++++++------ 4 files changed, 73 insertions(+), 12 deletions(-) create mode 100644 indra/newview/skins/default/xui/en/floater_test_text_editor.xml diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index b5454e7298..7bff92fe98 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -226,7 +226,12 @@ void LLViewerFloaterReg::registerFloaters() LLFloaterReg::add("test_inspectors", "floater_test_inspectors.xml", &LLFloaterReg::build); //LLFloaterReg::add("test_list_view", "floater_test_list_view.xml",&LLFloaterReg::build); - LLFloaterReg::add("test_widgets", "floater_test_widgets.xml", &LLFloaterReg::build); + LLFloaterReg::add("test_textbox", "floater_test_textbox.xml", + &LLFloaterReg::build); + LLFloaterReg::add("test_text_editor", "floater_test_text_editor.xml", + &LLFloaterReg::build); + LLFloaterReg::add("test_widgets", "floater_test_widgets.xml", + &LLFloaterReg::build); LLFloaterReg::add("top_objects", "floater_top_objects.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); LLFloaterReg::add("reporter", "floater_report_abuse.xml", (LLFloaterBuildFunc)&LLFloaterReg::build); diff --git a/indra/newview/skins/default/xui/en/floater_test_text_editor.xml b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml new file mode 100644 index 0000000000..b0aa5c7c4f --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_test_text_editor.xml @@ -0,0 +1,20 @@ + + + + Text Editor + + diff --git a/indra/newview/skins/default/xui/en/floater_test_textbox.xml b/indra/newview/skins/default/xui/en/floater_test_textbox.xml index 033070607b..8fc2677cbe 100644 --- a/indra/newview/skins/default/xui/en/floater_test_textbox.xml +++ b/indra/newview/skins/default/xui/en/floater_test_textbox.xml @@ -21,6 +21,21 @@ Third line of multiple lines Fourth line of multiple lines Fifth line of multiple lines + + This text has word_wrap set true, use_ellipses set true, and clip_partial set true, so it should wrap around, spilling over to the last line, then clip the last partial line and show ellipses to indicate there is more text + SansSerif BOLD diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index 07940e18b6..a22dc80f4e 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -185,21 +185,42 @@ + + + + + + + - + - + label="Inspectors" + name="Inspectors"> + + -- cgit v1.2.3