mirror of
https://github.com/AxioDL/boo.git
synced 2025-12-18 01:15:26 +00:00
initial TextInput context callback
This commit is contained in:
@@ -102,6 +102,24 @@ enum class EModifierKey
|
||||
Command = 1<<4
|
||||
};
|
||||
ENABLE_BITWISE_ENUM(EModifierKey)
|
||||
|
||||
struct ITextInputCallback
|
||||
{
|
||||
virtual bool hasMarkedText() const=0;
|
||||
virtual std::pair<int,int> markedRange() const=0;
|
||||
virtual std::pair<int,int> selectedRange() const=0;
|
||||
virtual void setMarkedText(const std::string& str,
|
||||
const std::pair<int,int>& selectedRange,
|
||||
const std::pair<int,int>& replacementRange)=0;
|
||||
virtual void unmarkText()=0;
|
||||
|
||||
virtual std::string substringForRange(const std::pair<int,int>& range,
|
||||
std::pair<int,int>& actualRange) const=0;
|
||||
virtual void insertText(const std::string& str, const std::pair<int,int>& range)=0;
|
||||
virtual int characterIndexAtPoint(const SWindowCoord& point) const=0;
|
||||
virtual SWindowRect rectForCharacterRange(const std::pair<int,int>& range,
|
||||
std::pair<int,int>& actualRange) const=0;
|
||||
};
|
||||
|
||||
class IWindowCallback
|
||||
{
|
||||
@@ -139,7 +157,10 @@ public:
|
||||
virtual void modKeyDown(EModifierKey mod, bool isRepeat)
|
||||
{(void)mod;(void)isRepeat;}
|
||||
virtual void modKeyUp(EModifierKey mod) {(void)mod;}
|
||||
|
||||
virtual void utf8FragmentDown(const std::string& str) {(void)str;}
|
||||
virtual ITextInputCallback* getTextInputCallback() {return nullptr;}
|
||||
|
||||
virtual void focusLost() {}
|
||||
virtual void focusGained() {}
|
||||
virtual void windowMoved(const SWindowRect& rect)
|
||||
|
||||
Reference in New Issue
Block a user