Code: Select all
14/12/2009 01:32:53 (Std) ---- Version 0.7.1 (Build: Oct 25 2009 Debug Microsoft Windows MSVC++ 9.0 32 bit) ----
14/12/2009 01:32:53 (Std) ---- Renderer module is: CEGUI::OgreRenderer - Official OGRE based 2nd generation renderer module. ----
14/12/2009 01:32:53 (Std) ---- XML Parser module is: CEGUI::ExpatParser - Official expat based parser module for CEGUI ----
14/12/2009 01:32:53 (Std) ---- Image Codec module is: OgreImageCodec - Integrated ImageCodec using the Ogre engine. ----
14/12/2009 01:32:53 (Std) ---- Scripting module is: None ----
Try the following
1. put a Taharez or custom Editbox in your layout
2. type more than what would fit visually in the box, causing the text to scroll many chars to the left
3. click on any character
4. result - the text is scrolled back to the start and the carat is placed as if the text was not offset to the left at all.
This means of course that you'd never be able to click any portion of the string that falls outside range 0 to indexAtRightEdge
I did some digging in the Trunk and found:
src/WindowRendererSets/Falagard/FalEditbox.cpp, FalagardEditbox::getTextIndexFromPosition, line 355:
Code: Select all
return w->getFont()->getCharAtPixel(w->getTextVisual(), wndx);
Shouldn't it be something like?
Code: Select all
return w->getFont()->getCharAtPixel(w->getTextVisual(), wndx) + charsOutOfViewToLeftOfWindow;
Do I have that right?