diff options
Diffstat (limited to 'src/plugins/platforms/ios/qiosinputcontext.h')
-rw-r--r-- | src/plugins/platforms/ios/qiosinputcontext.h | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/plugins/platforms/ios/qiosinputcontext.h b/src/plugins/platforms/ios/qiosinputcontext.h index eb6b04a2ac..863e503c3b 100644 --- a/src/plugins/platforms/ios/qiosinputcontext.h +++ b/src/plugins/platforms/ios/qiosinputcontext.h @@ -50,6 +50,21 @@ QT_BEGIN_NAMESPACE @class QIOSTextInputResponder; @protocol KeyboardState; +struct KeyboardState +{ + KeyboardState() : + keyboardVisible(false), keyboardAnimating(false), + animationDuration(0), animationCurve(UIViewAnimationCurve(-1)) + {} + + bool keyboardVisible; + bool keyboardAnimating; + QRectF keyboardRect; + CGRect keyboardEndRect; + NSTimeInterval animationDuration; + UIViewAnimationCurve animationCurve; +}; + struct ImeState { ImeState() : currentState(0), focusObject(0) {} @@ -70,6 +85,7 @@ public: void hideInputPanel() Q_DECL_OVERRIDE; bool isInputPanelVisible() const Q_DECL_OVERRIDE; + bool isAnimating() const Q_DECL_OVERRIDE; QRectF keyboardRect() const Q_DECL_OVERRIDE; void update(Qt::InputMethodQueries) Q_DECL_OVERRIDE; @@ -85,7 +101,11 @@ public: void scrollToCursor(); void scroll(int y); + void updateKeyboardState(NSNotification *notification = 0); + const ImeState &imeState() { return m_imeState; }; + const KeyboardState &keyboardState() { return m_keyboardState; }; + bool inputMethodAccepted() const; static QIOSInputContext *instance(); @@ -93,11 +113,9 @@ public: private: UIView* scrollableRootView(); - union { - QIOSKeyboardListener *m_keyboardHideGesture; - id <KeyboardState> m_keyboardState; - }; + QIOSKeyboardListener *m_keyboardHideGesture; QIOSTextInputResponder *m_textResponder; + KeyboardState m_keyboardState; ImeState m_imeState; }; |