diff --git a/escher/Makefile b/escher/Makefile index c8db11cc4..2882061a9 100644 --- a/escher/Makefile +++ b/escher/Makefile @@ -7,6 +7,7 @@ objs += $(addprefix escher/src/,\ button.o\ button_row_controller.o\ chevron_view.o\ + clipped_board.o\ container.o\ dynamic_view_controller.o\ editable_text_cell.o\ diff --git a/escher/include/escher.h b/escher/include/escher.h index 580ae617b..4893a7b06 100644 --- a/escher/include/escher.h +++ b/escher/include/escher.h @@ -8,6 +8,7 @@ #include #include #include +#include #include #include #include diff --git a/escher/include/escher/clipped_board.h b/escher/include/escher/clipped_board.h new file mode 100644 index 000000000..d0bf7c680 --- /dev/null +++ b/escher/include/escher/clipped_board.h @@ -0,0 +1,17 @@ +#ifndef ESCHER_CLIPPED_BOARD_H +#define ESCHER_CLIPPED_BOARD_H + +#include + +class ClippedBoard { +public: + ClippedBoard(); + static ClippedBoard * sharedClippedBoard(); + void store(const char * storedText); + const char * storedText(); + void reset(); +private: + char m_textBuffer[TextField::maxBufferSize()]; +}; + +#endif diff --git a/escher/src/clipped_board.cpp b/escher/src/clipped_board.cpp new file mode 100644 index 000000000..d42b32b8d --- /dev/null +++ b/escher/src/clipped_board.cpp @@ -0,0 +1,23 @@ +#include + +static ClippedBoard s_clippedBoard; + +ClippedBoard::ClippedBoard() +{ +} + +ClippedBoard * ClippedBoard::sharedClippedBoard() { + return &s_clippedBoard; +} + +void ClippedBoard::store(const char * storedText) { + strlcpy(m_textBuffer, storedText, TextField::maxBufferSize()); +} + +const char * ClippedBoard::storedText() { + return m_textBuffer; +} + +void ClippedBoard::reset() { + strlcpy(m_textBuffer, "", 1); +}