Question using getFormattedLineCount(...) function

For help with anything that CEGUI doesn't offer straight out-of-the-box, e.g.:
- Implementation of new features, such as new Core classes, widgets, WindowRenderers, etc. ...
- Modification of any existing features for specific purposes
- Integration of CEGUI in new engines or frameworks and writing of new plugins (Renderer, Parser, ...) or modules

Moderators: CEGUI MVP, CEGUI Team

User avatar
kungfoomasta
Not too shy to talk
Not too shy to talk
Posts: 34
Joined: Wed Apr 06, 2005 08:25

Question using getFormattedLineCount(...) function

Postby kungfoomasta » Tue Sep 20, 2005 03:16

For some reason, the getFormattedLineCount function always returns 1. I'm not sure if I'm using it correctly, or what the problem is. This is my implementation and use of the function:


font = CEGUI::FontManager::getSingleton().createFont( "datafiles/fonts/Celtic-10.font" );
font->defineFontGlyphs(" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~æøåÆØÅ" );

// storyBoard1
storyBoard1 = (CEGUI::FrameWindow*)wm->createWindow("TaharezLook/FrameWindow","storyBoard1");
sheet->addChildWindow(storyBoard1);
storyBoard1->setSize(CEGUI::Size( 0.1,0.1 ));
storyBoard1->setPosition(CEGUI::Point( 0.2,0.7 ));
storyBoard1->setTitleBarEnabled(true);
storyBoard1->setSizingEnabled(false);
storyBoard1->setDragMovingEnabled(false);
storyBoard1->setCloseButtonEnabled(false);
storyBoard1->setVisible(true);
storyBoard1->setMouseCursor("WindowsLook", "MouseArrow");

// setup first storyboard
storyBoard1Text = (CEGUI::StaticText*)wm->createWindow("TaharezLook/StaticText","storyBoard1Text");
storyBoard1->addChildWindow(storyBoard1Text);
storyBoard1Text->setSize( CEGUI::Size( 0.95, 0.9 ) );
storyBoard1Text->setPosition( CEGUI::Point( 0.025, 0.05 ) );
storyBoard1Text->setHorizontalFormatting(CEGUI::StaticText::HorzFormatting::WordWrapLeftAligned);
storyBoard1Text->setText("storyBoard1Text");
storyBoard1Text->setVisible(true);
storyBoard1Text->setMouseCursor("WindowsLook", "MouseArrow");

CEGUI::uint x = font->getFormattedLineCount(currentText1,storyBoard1Text->getRect(),CEGUI::TextFormatting::LeftAligned);


currentText1 is:

Man, it sure is hot today! If it wasn't for those pesky headhunters, I'd go lay in the forest!

(sorry for my cheesy text, lol)

User avatar
kungfoomasta
Not too shy to talk
Not too shy to talk
Posts: 34
Joined: Wed Apr 06, 2005 08:25

Re: Question using getFormattedLineCount(...) function

Postby kungfoomasta » Tue Sep 20, 2005 07:08

I looked at the code for the function, and found the solution. When I call the function, I use "CEGUI::TextFormatting::LeftAligned". Appearance wise, the sentence is wrapped and tries to stay inside the box. However, the implementation doesn't treat the textFormat as if it's wrapped. If I substitute "CEGUI::TextFormatting::WordWrapLeftAligned" in as the last parameter the function returns 12, which is probably likely since I made a tiny area for the sentence to fit in. So for anybody else using this awesome function (really helpful for me!), make sure the textformatting has the words "WordWrap" in it, otherwise you'll always get 1.

User avatar
CrazyEddie
CEGUI Project Lead
Posts: 6760
Joined: Wed Jan 12, 2005 12:06
Location: England
Contact:

Re: Question using getFormattedLineCount(...) function

Postby CrazyEddie » Wed Sep 21, 2005 10:20

Yes, which makes perfect sense; without the word wrapping formatting option, LeftAligned places the text on a single line aligned with the left edge of the formatting area - exactly as described in the API reference.


Return to “Modifications / Integrations / Customisations”

Who is online

Users browsing this forum: No registered users and 4 guests