74 #include <nuttx/config.h> 120 nxgl_coord_t x, nxgl_coord_t y,
121 nxgl_coord_t width, nxgl_coord_t height,
304 const unsigned int count)
419 const unsigned int index)
461 if (key == KEY_CODE_BACKSPACE)
470 else if (key != KEY_CODE_NONE)
487 unsigned int cursorRow = 0;
511 for (
int i = 0; i < cursorLineOffset; ++i)
548 iterator->
moveTo(startIndex);
552 for (
int i = 0; i < stopIndex; ++i)
568 index = startIndex + i;
589 index = startIndex + stopIndex;
596 index = startIndex + stopIndex - 1;
740 nxgl_coord_t cursorX = 0;
741 nxgl_coord_t cursorY = 0;
765 nxgl_coord_t cursorX = 0;
766 nxgl_coord_t cursorY = 0;
849 nxgl_coord_t cursorX;
850 nxgl_coord_t cursorY;
857 nxgl_coord_t rowY =
getRowY(cursorRow);
1032 return (rect.
getWidth() - rowPixelWidth) >> 1;
1038 return rect.
getWidth() - rowPixelWidth;
1059 if (m_visibleRows <= m_text->getLineCount())
1067 nxgl_coord_t textY = 0;
1068 nxgl_coord_t startPos = 0;
1104 textY = startPos + textY;
1137 if (m_cursorPos < m_text->getLength())
1183 if ((topRow < 0) && (bottomRow < 0))
1207 int currentRow = topRow;
1211 while (currentRow <= bottomRow)
1230 nxgl_coord_t cursorX = 0;
1231 nxgl_coord_t cursorY = 0;
1242 port->
invert(cursorX, cursorY,
1264 struct nxgl_point_s pos;
1270 nxgl_mxpixel_t textColor;
const int getLineContainingCharIndex(const int index) const
void drawCursor(CGraphicsPort *port)
nxgl_coord_t getCharWidth(nxwidget_char_t letter) const
WidgetBorderSize m_borderSize
const int getLineLength(const int lineNumber) const
bool isBorderless(void) const
nxgl_mxpixel_t getShadowEdgeColor(void) const
const uint8_t getLineHeight(void) const
nxgl_coord_t getHeight(void) const
CGraphicsPort * getGraphicsPort(void)
void stripTopLines(const int lines)
virtual void removeText(const unsigned int startIndex)
void disableDrawing(void)
void getRect(CRect &rect) const
nxgl_coord_t getWidth(void) const
void drawBevelledRect(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, nxgl_mxpixel_t shineColor, nxgl_mxpixel_t shadowColor)
nxgl_coord_t getX(void) const
const int getLineTrimmedLength(const int lineNumber) const
virtual void onDoubleClick(nxgl_coord_t x, nxgl_coord_t y)
virtual void limitCanvasHeight(void)
virtual bool cullTopLines(void)
void drawText(CGraphicsPort *port)
virtual void moveCursorUp(void)
nxgl_mxpixel_t getBackgroundColor(void) const
virtual void setFont(CNxFont *font)
virtual void setText(const CNxString &text)
virtual const int getCurrentPage(void) const
virtual void getCursorCoordinates(nxgl_coord_t &x, nxgl_coord_t &y) const
const int32_t getPixelHeight(void) const
virtual int getCharIndexAtCoordinate(nxgl_coord_t x, int rowIndex) const
virtual void setText(const CNxString &text)
bool isEnabled(void) const
nxgl_coord_t getStringWidth(const CNxString &text) const
virtual void append(const CNxString &text)
virtual bool isCursorVisible(void) const
nxgl_mxpixel_t getEnabledTextColor(void) const
virtual void onClick(nxgl_coord_t x, nxgl_coord_t y)
CWidgetControl * m_widgetControl
nxgl_coord_t getHeight(void) const
virtual unsigned int getCharIndexAtCoordinates(nxgl_coord_t x, nxgl_coord_t y) const
virtual void setTextAlignmentHoriz(TextAlignmentHoriz alignment)
void getClientRect(CRect &rect) const
void handleKeyPressEvent(const CWidgetEventArgs &e)
virtual void onResize(nxgl_coord_t width, nxgl_coord_t height)
virtual const int getPageCount(void) const
TextAlignmentVert m_vAlignment
virtual void setTextAlignmentVert(TextAlignmentVert alignment)
TextAlignmentHoriz m_hAlignment
virtual void drawBorder(CGraphicsPort *port)
const int getLineStartIndex(const int line) const
virtual void limitCanvasY(void)
CMultiLineTextBox(const CMultiLineTextBox &multiLineTextBox)
nxwidget_char_t getChar(void) const
void drawRow(CGraphicsPort *port, int row)
void drawFilledRect(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height, nxgl_mxpixel_t color)
virtual void insertTextAtCursor(const CNxString &ext)
virtual void insert(const CNxString &text, const int index)
CNxFont * getFont(void) const
virtual void showCursor(void)
const nxwidget_char_t getKey(void) const
CNxFont * getFont(void) const
void invert(nxgl_coord_t x, nxgl_coord_t y, nxgl_coord_t width, nxgl_coord_t height)
void jumpToTextBottom(void)
nxgl_mxpixel_t getShineEdgeColor(void) const
virtual const int getTextLength(void) const
nxwidget_char_t getCursorChar(void) const
int getRowContainingCoordinate(nxgl_coord_t y) const
virtual void moveCursorLeft(void)
void setFont(CNxFont *font)
const uint8_t getHeight(void) const
CWidgetEventHandlerList * m_widgetEventHandlers
virtual void appendText(const CNxString &text)
const unsigned int getLength(void) const
virtual void onResize(nxgl_coord_t width, nxgl_coord_t height)
void setWidth(nxgl_coord_t width)
nxgl_coord_t getRowX(int row) const
virtual const int getCursorPosition(void) const
const nxwidget_char_t getCharAt(int index) const
nxgl_coord_t getY(void) const
virtual void insertText(const CNxString &text, const unsigned int index)
nxgl_coord_t getWidth(void) const
nxgl_coord_t getX(void) const
CStringIterator * newStringIterator(void) const
virtual void moveCursorToPosition(const int position)
nxgl_coord_t getY(void) const
nxgl_mxpixel_t getDisabledTextColor(void) const
const int getLineCount(void) const
virtual void moveCursorDown(void)
void handleCursorControlEvent(const CWidgetEventArgs &e)
nxgl_coord_t getRowY(int row) const
void startDragging(nxgl_coord_t x, nxgl_coord_t y)
void drawText(struct nxgl_point_s *pos, CRect *bound, CNxFont *font, const CNxString &string)
void raiseValueChangeEvent(void)
void calculateVisibleRows(void)
virtual void drawContents(CGraphicsPort *port)
virtual void remove(const int startIndex)
virtual void jump(int32_t x, int32_t y)
virtual void moveCursorRight(void)
const ECursorControl getCursorControl(void) const
bool hasFocus(void) const