Public Member Functions | |
FalagardEditbox (const String &type) | |
Constructor. | |
colour | getUnselectedTextColour () const |
return the colour to be used for rendering Editbox text oustside of the selected region. | |
colour | getSelectedTextColour () const |
return the colour to be used for rendering Editbox text falling within the selected region. | |
colour | getOptionalPropertyColour (const String &propertyName) const |
Return a colour object fetched from the named property if it exists, else a default colour (black). | |
void | render () |
Populate render cache. | |
size_t | getTextIndexFromPosition (const Point &pt) const |
Return the text code point index that is rendered closest to screen position pt. | |
Public Attributes | |
float | d_lastTextOffset |
x rendering offset used last time we drew the widget. | |
Static Public Attributes | |
static const utf8 | TypeName [] = "Falagard/Editbox" |
type name for this widget. | |
static const String | UnselectedTextColourPropertyName |
Name of property to access for unselected text colour. | |
static const String | SelectedTextColourPropertyName |
Name of property to access for selected text colour. |
This class requires LookNFeel to be assigned. The LookNFeel should provide the following:
States:
NamedAreas: TextArea - area where text, selection, and carat imagery will appear.
PropertyDefinitions (optional, defaults will be black):
Imagery Sections:
Return a colour object fetched from the named property if it exists, else a default colour (black).
propertyName | String object holding the name of the property to be accessed if it exists. |
References CEGUI::WindowRenderer::d_window, CEGUI::PropertySet::getProperty(), and CEGUI::PropertySet::isPropertyPresent().
Referenced by getSelectedTextColour(), and getUnselectedTextColour().
colour CEGUI::FalagardEditbox::getSelectedTextColour | ( | ) | const |
return the colour to be used for rendering Editbox text falling within the selected region.
References getOptionalPropertyColour(), and SelectedTextColourPropertyName.
Referenced by render().
size_t CEGUI::FalagardEditbox::getTextIndexFromPosition | ( | const Point & | pt | ) | const [virtual] |
Return the text code point index that is rendered closest to screen position pt.
pt | Point object describing a position on the screen in pixels. |
Implements CEGUI::EditboxWindowRenderer.
References d_lastTextOffset, CEGUI::WindowRenderer::d_window, CEGUI::Vector2::d_x, CEGUI::Font::getCharAtPixel(), CEGUI::Window::getFont(), CEGUI::Editbox::getMaskCodePoint(), CEGUI::Window::getText(), CEGUI::Editbox::isTextMasked(), CEGUI::String::length(), and CEGUI::CoordConverter::screenToWindowX().
colour CEGUI::FalagardEditbox::getUnselectedTextColour | ( | ) | const |
return the colour to be used for rendering Editbox text oustside of the selected region.
References getOptionalPropertyColour(), and UnselectedTextColourPropertyName.
Referenced by render().
void CEGUI::FalagardEditbox::render | ( | ) | [virtual] |
Populate render cache.
This method must be implemented by all window renderers and should perform the rendering operations needed for this widget. Normally using the Falagard API...
Implements CEGUI::WindowRenderer.
References CEGUI::RenderCache::cacheText(), d_lastTextOffset, CEGUI::Rect::d_left, CEGUI::Rect::d_right, CEGUI::Rect::d_top, CEGUI::WindowRenderer::d_window, CEGUI::NamedArea::getArea(), CEGUI::ImagerySection::getBoundingRect(), CEGUI::Editbox::getCaratIndex(), CEGUI::Window::getEffectiveAlpha(), CEGUI::Window::getFont(), CEGUI::WidgetLookFeel::getImagerySection(), CEGUI::WindowRenderer::getLookNFeel(), CEGUI::Editbox::getMaskCodePoint(), CEGUI::WidgetLookFeel::getNamedArea(), CEGUI::ComponentArea::getPixelRect(), CEGUI::Window::getRenderCache(), getSelectedTextColour(), CEGUI::Editbox::getSelectionEndIndex(), CEGUI::Editbox::getSelectionLength(), CEGUI::Editbox::getSelectionStartIndex(), CEGUI::WidgetLookFeel::getStateImagery(), CEGUI::Window::getText(), getUnselectedTextColour(), CEGUI::Rect::getWidth(), CEGUI::Editbox::hasInputFocus(), CEGUI::String::insert(), CEGUI::Window::isDisabled(), CEGUI::Editbox::isReadOnly(), CEGUI::Editbox::isTextMasked(), CEGUI::LeftAligned, CEGUI::String::length(), CEGUI::ColourRect::modulateAlpha(), CEGUI::ImagerySection::render(), CEGUI::StateImagery::render(), CEGUI::ColourRect::setColours(), and CEGUI::String::substr().