MyGUI  3.2.1
MyGUI_ISubWidgetText.h
Go to the documentation of this file.
1 /*
2  * This source file is part of MyGUI. For the latest info, see http://mygui.info/
3  * Distributed under the MIT License
4  * (See accompanying file COPYING.MIT or copy at http://opensource.org/licenses/MIT)
5  */
6 
7 #ifndef __MYGUI_I_SUB_WIDGET_TEXT_H__
8 #define __MYGUI_I_SUB_WIDGET_TEXT_H__
9 
10 #include "MyGUI_Prerequest.h"
11 #include "MyGUI_ISubWidget.h"
12 #include "MyGUI_Colour.h"
13 #include "MyGUI_Constants.h"
14 
15 namespace MyGUI
16 {
17 
19  public ISubWidget
20  {
22 
23  public:
24  virtual ~ISubWidgetText() { }
25 
27  virtual size_t getTextSelectionStart() const
28  {
29  return 0;
30  }
31 
33  virtual size_t getTextSelectionEnd() const
34  {
35  return 0;
36  }
37 
39  virtual void setTextSelection(size_t _start, size_t _end) { }
40 
41  // интенсивность выделенного текста
42  virtual bool getSelectBackground() const
43  {
44  return true;
45  }
46 
47  virtual void setSelectBackground(bool _normal) { }
48 
49  // нужно ли инвертировать выделение
50  virtual bool getInvertSelected() const
51  {
52  return true;
53  }
54 
55  virtual void setInvertSelected(bool _value) { }
56 
57  // нужно ли показывать тень
58  virtual bool getShadow() const
59  {
60  return false;
61  }
62 
63  virtual void setShadow(bool _value) { }
64 
65  // управление видимостью курсора
66  virtual bool isVisibleCursor() const
67  {
68  return false;
69  }
70 
71  virtual void setVisibleCursor(bool _value) { }
72 
73  // управление положением курсора
74  virtual size_t getCursorPosition() const
75  {
76  return 0;
77  }
78 
79  virtual void setCursorPosition(size_t _index) { }
80 
81  virtual void setWordWrap(bool _value) { }
82 
83  // возвращает положение курсора по произвольному положению
84  // позиция абсолютная, без учета смещений
85  virtual size_t getCursorPosition(const IntPoint& _point) /*const*/
86  {
87  return 0;
88  }
89 
90  // возвращает положение курсора в обсолютных координатах
91  virtual IntCoord getCursorCoord(size_t _position) /*const*/
92  {
93  return IntCoord();
94  }
95 
96  // возвращает положение курсора в обсолютных координатах
97  IntPoint getCursorPoint(size_t _position) /*const*/
98  {
99  const IntCoord& coord = getCursorCoord(_position);
100  return IntPoint(coord.left + coord.width / 2, coord.top + coord.height / 2);
101  }
102 
103  // возвращает положение курсора в обсолютных координатах
104  IntRect getCursorRect(size_t _position) /*const*/
105  {
106  const IntCoord& coord = getCursorCoord(_position);
107  return IntRect(coord.left, coord.top, coord.left + coord.width, coord.top + coord.height);
108  }
109 
110  // возвращает размер текста в пикселях
111  virtual IntSize getTextSize() /*const*/
112  {
113  return IntSize();
114  }
115 
116  // устанавливает смещение текста в пикселях
117  virtual void setViewOffset(const IntPoint& _point) { }
118  virtual IntPoint getViewOffset() const
119  {
120  return IntPoint();
121  }
122 
123  virtual void setCaption(const UString& _value) { }
124  virtual const UString& getCaption() const
125  {
127  }
128 
129  virtual void setTextColour(const Colour& _value) { }
130  virtual const Colour& getTextColour() const
131  {
132  return Colour::Zero;
133  }
134 
135  virtual void setFontName(const std::string& _value) { }
136  virtual const std::string& getFontName() const
137  {
138  return Constants::getEmptyString();
139  }
140 
141  virtual void setFontHeight(int _value) { }
142  virtual int getFontHeight() const
143  {
144  return 0;
145  }
146 
147  virtual void setTextAlign(Align _value) { }
148  virtual Align getTextAlign() const
149  {
150  return Align::Default;
151  }
152 
153  virtual void setShiftText(bool _value) { }
154 
155  virtual void setShadowColour(const Colour& _value) { }
156  virtual const Colour& getShadowColour() const
157  {
158  return Colour::Zero;
159  }
160 
161  };
162 
163 } // namespace MyGUI
164 
165 #endif // __MYGUI_I_SUB_WIDGET_TEXT_H__