diff options
author | Paul Olav Tvete <paul.tvete@digia.com> | 2013-02-19 12:18:51 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-27 11:24:24 +0100 |
commit | c65ecc50ae4c322294f01685a2b2d2a748a9c940 (patch) | |
tree | 743347255afc963d99c2ba41f47fa2b1ab609484 /src/gui | |
parent | 323ba46f72eda8c4da84741467683fdda50653a5 (diff) |
Enablers for input methods on Android
Adding QInputMethod::inputItemRectangle()/setInputItemRectangle().
Known bugs: inputItemRectangle() not implemented for graphics view
items; inputItemTransform() implementation was already missing.
Change-Id: I72b1d43350e93858a2b374de3f2199500a96dc79
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
Reviewed-by: BogDan Vatra <bogdan@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/gui')
-rw-r--r-- | src/gui/kernel/qinputmethod.cpp | 27 | ||||
-rw-r--r-- | src/gui/kernel/qinputmethod.h | 3 | ||||
-rw-r--r-- | src/gui/kernel/qinputmethod_p.h | 1 |
3 files changed, 31 insertions, 0 deletions
diff --git a/src/gui/kernel/qinputmethod.cpp b/src/gui/kernel/qinputmethod.cpp index 436b0aed1e..438c169f71 100644 --- a/src/gui/kernel/qinputmethod.cpp +++ b/src/gui/kernel/qinputmethod.cpp @@ -99,6 +99,33 @@ void QInputMethod::setInputItemTransform(const QTransform &transform) emit cursorRectangleChanged(); } + +/*! + \since 5.1 + + Returns the input item's geometry in input item coordinates. + + \sa setInputItemRectangle() +*/ +QRectF QInputMethod::inputItemRectangle() const +{ + Q_D(const QInputMethod); + return d->inputRectangle; +} + +/*! + \since 5.1 + + Sets the input item's geometry to be \a rect, in input item coordinates. + This needs to be updated by the focused window like QQuickCanvas whenever + item is moved inside the scene, or focus is changed. +*/ +void QInputMethod::setInputItemRectangle(const QRectF &rect) +{ + Q_D(QInputMethod); + d->inputRectangle = rect; +} + /*! \property QInputMethod::cursorRectangle \brief Input item's cursor rectangle in window coordinates. diff --git a/src/gui/kernel/qinputmethod.h b/src/gui/kernel/qinputmethod.h index eceebb1c0f..fe6cc3f331 100644 --- a/src/gui/kernel/qinputmethod.h +++ b/src/gui/kernel/qinputmethod.h @@ -67,6 +67,9 @@ public: QTransform inputItemTransform() const; void setInputItemTransform(const QTransform &transform); + QRectF inputItemRectangle() const; + void setInputItemRectangle(const QRectF &rect); + // in window coordinates QRectF cursorRectangle() const; // ### what if we have rotations for the item? diff --git a/src/gui/kernel/qinputmethod_p.h b/src/gui/kernel/qinputmethod_p.h index 6cfc5e2f88..79b1299722 100644 --- a/src/gui/kernel/qinputmethod_p.h +++ b/src/gui/kernel/qinputmethod_p.h @@ -84,6 +84,7 @@ public: bool objectAcceptsInputMethod(QObject *object); QTransform inputItemTransform; + QRectF inputRectangle; QPlatformInputContext *testContext; }; |