BsGUIInputSelection.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #pragma once
  2. #include "BsPrerequisites.h"
  3. #include "BsTextSprite.h"
  4. namespace BansheeEngine
  5. {
  6. enum class SelectionDir
  7. {
  8. Left,
  9. Right
  10. };
  11. //class BS_EXPORT GUIInputSelection
  12. //{
  13. //public:
  14. // GUIInputSelection(const TEXT_SPRITE_DESC& textDesc);
  15. // ~GUIInputSelection();
  16. // CM::Vector<ImageSprite*>::type getSprites() const { return mSprites; }
  17. // void updateText(const TEXT_SPRITE_DESC& textDesc);
  18. // void updateSprite(const CM::Int2& offset);
  19. // void showSelection(CM::UINT32 anchorCaretPos, SelectionDir dir);
  20. // void clearSelection();
  21. // void moveSelectionToCaret(CM::UINT32 caretPos);
  22. // bool isSelectionEmpty() const;
  23. // void selectAll();
  24. // void selectionDragStart(CM::UINT32 caretPos);
  25. // void selectionDragUpdate(CM::UINT32 caretPos);
  26. // void selectionDragEnd();
  27. // CM::UINT32 getSelectionStart() const { return mSelectionStart; }
  28. // CM::UINT32 getSelectionEnd() const { return mSelectionEnd; }
  29. // CM::UINT32 caretPosToSelectionChar(CM::UINT32 caretPos, SelectionDir dir) const;
  30. //private:
  31. // CM::UINT32 mSelectionStart;
  32. // CM::UINT32 mSelectionEnd;
  33. // CM::UINT32 mSelectionAnchor;
  34. // CM::UINT32 mSelectionDragAnchor;
  35. // TextSprite* mTextSprite; // TODO - Try to get rid of this and implement its methods internally?
  36. // CM::Vector<ImageSprite*>::type mSprites;
  37. // TEXT_SPRITE_DESC mTextDesc;
  38. // CM::Vector<CM::Rect>::type getSelectionRects() const;
  39. // bool isNewlineChar(CM::UINT32 charIdx) const;
  40. // CM::UINT32 getCharIdxAtCaretPos(CM::UINT32 caretPos) const;
  41. //};
  42. }