00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef _FalEditbox_h_
00029 #define _FalEditbox_h_
00030
00031 #include "FalModule.h"
00032 #include "../../elements/CEGUIEditbox.h"
00033 #include "FalEditboxProperties.h"
00034
00035 #if defined(_MSC_VER)
00036 # pragma warning(push)
00037 # pragma warning(disable : 4251)
00038 #endif
00039
00040
00041 namespace CEGUI
00042 {
00077 class FALAGARDBASE_API FalagardEditbox : public EditboxWindowRenderer
00078 {
00079 public:
00081 static const utf8 TypeName[];
00083 static const String UnselectedTextColourPropertyName;
00085 static const String SelectedTextColourPropertyName;
00087 static const float DefaultCaretBlinkTimeout;
00088
00093 FalagardEditbox(const String& type);
00094
00103 colour getUnselectedTextColour() const;
00104
00113 colour getSelectedTextColour() const;
00114
00124 colour getOptionalPropertyColour(const String& propertyName) const;
00125
00127 bool isCaretBlinkEnabled() const;
00129 float getCaretBlinkTimeout() const;
00131 void setCaretBlinkEnabled(bool enable);
00133 void setCaretBlinkTimeout(float seconds);
00134
00135 void render();
00136
00137
00138 size_t getTextIndexFromPosition(const Point& pt) const;
00139
00140 void update(float elapsed);
00141
00142 protected:
00143
00144 static FalagardEditboxProperties::BlinkCaret d_blinkCaretProperty;
00145 static FalagardEditboxProperties::BlinkCaretTimeout d_blinkCaretTimeoutProperty;
00146
00148 float d_lastTextOffset;
00150 bool d_blinkCaret;
00152 float d_caretBlinkTimeout;
00154 float d_caretBlinkElapsed;
00156 bool d_showCaret;
00157 };
00158
00159 }
00160
00161 #if defined(_MSC_VER)
00162 # pragma warning(pop)
00163 #endif
00164
00165 #endif // end of guard _FalEditbox_h_