Crazy Eddie's GUI System 0.8.7
WindowRendererSets/Core/MultiLineEditbox.h
1/***********************************************************************
2 created: Thu Jul 7 2005
3 author: Paul D Turner <paul@cegui.org.uk>
4*************************************************************************/
5/***************************************************************************
6 * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
7 *
8 * Permission is hereby granted, free of charge, to any person obtaining
9 * a copy of this software and associated documentation files (the
10 * "Software"), to deal in the Software without restriction, including
11 * without limitation the rights to use, copy, modify, merge, publish,
12 * distribute, sublicense, and/or sell copies of the Software, and to
13 * permit persons to whom the Software is furnished to do so, subject to
14 * the following conditions:
15 *
16 * The above copyright notice and this permission notice shall be
17 * included in all copies or substantial portions of the Software.
18 *
19 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25 * OTHER DEALINGS IN THE SOFTWARE.
26 ***************************************************************************/
27#ifndef _FalMultiLineEditbox_h_
28#define _FalMultiLineEditbox_h_
29
30#include "CEGUI/WindowRendererSets/Core/Module.h"
31#include "CEGUI/widgets/MultiLineEditbox.h"
32
33#if defined(_MSC_VER)
34# pragma warning(push)
35# pragma warning(disable : 4251)
36#endif
37
38// Start of CEGUI namespace section
39namespace CEGUI
40{
73{
74public:
75 static const String TypeName;
76
86 static const float DefaultCaretBlinkTimeout;
87
93
94 // overridden from base classes.
96 void render();
97 void update(float elapsed);
98
102 float getCaretBlinkTimeout() const;
104 void setCaretBlinkEnabled(bool enable);
106 void setCaretBlinkTimeout(float seconds);
107
108 // overridden from base class
109 bool handleFontRenderSizeChange(const Font* const font);
110
111protected:
123
131 void cacheCaretImagery(const Rectf& textArea);
132
137 void cacheTextLines(const Rectf& dest_area);
138
145
152
159
166
180 ColourRect& colour_rect) const;
181
190};
191
192} // End of CEGUI namespace section
193
194
195#if defined(_MSC_VER)
196# pragma warning(pop)
197#endif
198
199#endif // end of guard _FalMultiLineEditbox_h_
Class that holds details of colours for the four corners of a rectangle.
Definition: ColourRect.h:45
MultiLineEditbox class for the FalagardBase module.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:73
float d_caretBlinkTimeout
time-out in seconds used for blinking the caret.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:185
FalagardMultiLineEditbox(const String &type)
Constructor.
void setCaretBlinkTimeout(float seconds)
set the caret blink timeout period (only used if blink is enabled).
void render()
Populate render cache.
void setColourRectToOptionalPropertyColour(const String &propertyName, ColourRect &colour_rect) const
Set the given ColourRect to the colour(s) fetched from the named property if it exists,...
float d_caretBlinkElapsed
current time elapsed since last caret blink state change.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:187
void setColourRectToSelectedTextColour(ColourRect &colour_rect) const
Set the given ColourRect to the colour to be used for rendering Editbox text falling within the selec...
bool handleFontRenderSizeChange(const Font *const font)
Perform any updates needed because the given font's render size has changed.
float getCaretBlinkTimeout() const
return the caret blink timeout period (only used if blink is enabled).
Rectf getTextRenderArea(void) const
Return a Rect object describing, in un-clipped pixels, the window relative area that the text should ...
static const String InactiveSelectionColourPropertyName
Name of the optional property to access to obtain inactive selection rendering colour.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:84
void cacheEditboxBaseImagery()
Perform rendering of the widget control frame and other 'static' areas. This method should not render...
static const String SelectedTextColourPropertyName
Name of the optional property to access for the selected text colour.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:80
void setColourRectToUnselectedTextColour(ColourRect &colour_rect) const
Set the given ColourRect to the colour to be used for rendering Editbox text oustside of the selected...
void update(float elapsed)
perform any time based updates for this WindowRenderer.
bool d_showCaret
true if caret should be shown.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:189
void setColourRectToInactiveSelectionColour(ColourRect &colour_rect) const
set the given ColourRect to the colours to be used for rendering the selection highlight when the edi...
static const float DefaultCaretBlinkTimeout
The default timeout (in seconds) used when blinking the caret.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:86
static const String UnselectedTextColourPropertyName
type name for this widget.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:78
void cacheTextLines(const Rectf &dest_area)
Render text lines.
bool isCaretBlinkEnabled() const
return whether the blinking caret is enabled.
static const String ActiveSelectionColourPropertyName
Name of the optional property to access to obtain active selection rendering colour.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:82
void setColourRectToActiveSelectionColour(ColourRect &colour_rect) const
Set the given ColouRect to the colours to be used for rendering the selection highlight when the edit...
void cacheCaretImagery(const Rectf &textArea)
Render the caret.
bool d_blinkCaret
true if the caret imagery should blink.
Definition: WindowRendererSets/Core/MultiLineEditbox.h:183
void setCaretBlinkEnabled(bool enable)
set whether the blinking caret is enabled.
Class that encapsulates a typeface.
Definition: Font.h:62
Base class for multi-line edit box window renderer objects.
Definition: widgets/MultiLineEditbox.h:52
String class used within the GUI system.
Definition: String.h:64
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1