TextInput.h 584 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef TEXT_INPUT_H
  2. #define TEXT_INPUT_H
  3. #include "utils/List.h"
  4. class TextInput final {
  5. List<uint32> input;
  6. int cursor;
  7. int limit;
  8. bool active;
  9. public:
  10. TextInput();
  11. void setLimit(int limit);
  12. void reset();
  13. void setActive(bool b);
  14. void onKeyEvent(int key, int scancode, int action, int mods);
  15. void onCharEvent(uint32);
  16. void fill(const char* s);
  17. template<int N>
  18. void toString(StringBuffer<N>& s) const {
  19. for(unsigned int c : input) {
  20. s.appendUnicode(c);
  21. }
  22. }
  23. int getCursor() const;
  24. };
  25. #endif