MyGUI
3.2.1
|
00001 /* 00002 * This source file is part of MyGUI. For the latest info, see http://mygui.info/ 00003 * Distributed under the MIT License 00004 * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT) 00005 */ 00006 00007 #ifndef __MYGUI_I_SUB_WIDGET_TEXT_H__ 00008 #define __MYGUI_I_SUB_WIDGET_TEXT_H__ 00009 00010 #include "MyGUI_Prerequest.h" 00011 #include "MyGUI_ISubWidget.h" 00012 #include "MyGUI_Colour.h" 00013 #include "MyGUI_Constants.h" 00014 00015 namespace MyGUI 00016 { 00017 00018 class MYGUI_EXPORT ISubWidgetText : 00019 public ISubWidget 00020 { 00021 MYGUI_RTTI_DERIVED( ISubWidgetText ) 00022 00023 public: 00024 virtual ~ISubWidgetText() { } 00025 00027 virtual size_t getTextSelectionStart() const 00028 { 00029 return 0; 00030 } 00031 00033 virtual size_t getTextSelectionEnd() const 00034 { 00035 return 0; 00036 } 00037 00039 virtual void setTextSelection(size_t _start, size_t _end) { } 00040 00041 // интенсивность выделенного текста 00042 virtual bool getSelectBackground() const 00043 { 00044 return true; 00045 } 00046 00047 virtual void setSelectBackground(bool _normal) { } 00048 00049 // нужно ли инвертировать выделение 00050 virtual bool getInvertSelected() const 00051 { 00052 return true; 00053 } 00054 00055 virtual void setInvertSelected(bool _value) { } 00056 00057 // нужно ли показывать тень 00058 virtual bool getShadow() const 00059 { 00060 return false; 00061 } 00062 00063 virtual void setShadow(bool _value) { } 00064 00065 // управление видимостью курсора 00066 virtual bool isVisibleCursor() const 00067 { 00068 return false; 00069 } 00070 00071 virtual void setVisibleCursor(bool _value) { } 00072 00073 // управление положением курсора 00074 virtual size_t getCursorPosition() const 00075 { 00076 return 0; 00077 } 00078 00079 virtual void setCursorPosition(size_t _index) { } 00080 00081 virtual void setWordWrap(bool _value) { } 00082 00083 // возвращает положение курсора по произвольному положению 00084 // позиция абсолютная, без учета смещений 00085 virtual size_t getCursorPosition(const IntPoint& _point) /*const*/ 00086 { 00087 return 0; 00088 } 00089 00090 // возвращает положение курсора в обсолютных координатах 00091 virtual IntCoord getCursorCoord(size_t _position) /*const*/ 00092 { 00093 return IntCoord(); 00094 } 00095 00096 // возвращает положение курсора в обсолютных координатах 00097 IntPoint getCursorPoint(size_t _position) /*const*/ 00098 { 00099 const IntCoord& coord = getCursorCoord(_position); 00100 return IntPoint(coord.left + coord.width / 2, coord.top + coord.height / 2); 00101 } 00102 00103 // возвращает положение курсора в обсолютных координатах 00104 IntRect getCursorRect(size_t _position) /*const*/ 00105 { 00106 const IntCoord& coord = getCursorCoord(_position); 00107 return IntRect(coord.left, coord.top, coord.left + coord.width, coord.top + coord.height); 00108 } 00109 00110 // возвращает размер текста в пикселях 00111 virtual IntSize getTextSize() /*const*/ 00112 { 00113 return IntSize(); 00114 } 00115 00116 // устанавливает смещение текста в пикселях 00117 virtual void setViewOffset(const IntPoint& _point) { } 00118 virtual IntPoint getViewOffset() const 00119 { 00120 return IntPoint(); 00121 } 00122 00123 virtual void setCaption(const UString& _value) { } 00124 virtual const UString& getCaption() const 00125 { 00126 return Constants::getEmptyUString(); 00127 } 00128 00129 virtual void setTextColour(const Colour& _value) { } 00130 virtual const Colour& getTextColour() const 00131 { 00132 return Colour::Zero; 00133 } 00134 00135 virtual void setFontName(const std::string& _value) { } 00136 virtual const std::string& getFontName() const 00137 { 00138 return Constants::getEmptyString(); 00139 } 00140 00141 virtual void setFontHeight(int _value) { } 00142 virtual int getFontHeight() const 00143 { 00144 return 0; 00145 } 00146 00147 virtual void setTextAlign(Align _value) { } 00148 virtual Align getTextAlign() const 00149 { 00150 return Align::Default; 00151 } 00152 00153 virtual void setShiftText(bool _value) { } 00154 00155 virtual void setShadowColour(const Colour& _value) { } 00156 virtual const Colour& getShadowColour() const 00157 { 00158 return Colour::Zero; 00159 } 00160 00161 }; 00162 00163 } // namespace MyGUI 00164 00165 #endif // __MYGUI_I_SUB_WIDGET_TEXT_H__