From 7f780a44c0d5ccc65880666dcf388ed6bd3769a8 Mon Sep 17 00:00:00 2001 From: Jarkko Koivikko Date: Mon, 17 Apr 2017 11:04:04 +0300 Subject: Add support for T9 Write CJK This change adds support for handwriting in Simplified Chinese. The integration is based on T9 Write CJK SDK v7.8.1. [ChangeLog] Added support for CJK (Chinese/Japanese/Korean) handwriting via T9 Write. Change-Id: I18481cfd897987ecb471c49ecfcac62ea0c3489c Reviewed-by: Mitch Curtis Reviewed-by: Liang Qi --- src/virtualkeyboard/t9writeworker.h | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) (limited to 'src/virtualkeyboard/t9writeworker.h') diff --git a/src/virtualkeyboard/t9writeworker.h b/src/virtualkeyboard/t9writeworker.h index 23a4cf02..5dc8c0d9 100644 --- a/src/virtualkeyboard/t9writeworker.h +++ b/src/virtualkeyboard/t9writeworker.h @@ -41,7 +41,8 @@ #include #include -#include "decuma_hwr.h" +#include "t9write.h" +#include "t9writedictionary.h" namespace QtVirtualKeyboard { @@ -59,6 +60,7 @@ public: protected: DECUMA_SESSION *decumaSession; + bool cjk; private: QSemaphore runSema; @@ -68,16 +70,20 @@ class T9WriteDictionaryTask : public T9WriteTask { Q_OBJECT public: - explicit T9WriteDictionaryTask(const QString &fileUri, - const DECUMA_MEM_FUNCTIONS &memFuncs); + explicit T9WriteDictionaryTask(QSharedPointer dictionary, + const QString &dictionaryFileName, + bool convertDictionary, + const DECUMA_SRC_DICTIONARY_INFO &dictionaryInfo); void run(); - const QString fileUri; - const DECUMA_MEM_FUNCTIONS &memFuncs; + QSharedPointer dictionary; + const QString dictionaryFileName; + bool convertDictionary; + const DECUMA_SRC_DICTIONARY_INFO dictionaryInfo; signals: - void completed(const QString &fileUri, void *dictionary); + void completed(QSharedPointer dictionary); }; class T9WriteRecognitionResult @@ -87,12 +93,14 @@ class T9WriteRecognitionResult public: explicit T9WriteRecognitionResult(int id, int maxResults, int maxCharsPerWord); + DECUMA_STATUS status; QVector results; DECUMA_UINT16 numResults; int instantGesture; const int id; const int maxResults; const int maxCharsPerWord; + private: QVector _chars; QVector _symbolChars; @@ -135,6 +143,7 @@ public: signals: void resultsAvailable(const QVariantList &resultList); + void recognitionError(int status); private: QSharedPointer result; @@ -144,7 +153,7 @@ class T9WriteWorker : public QThread { Q_OBJECT public: - explicit T9WriteWorker(DECUMA_SESSION *decumaSession, QObject *parent = 0); + explicit T9WriteWorker(DECUMA_SESSION *decumaSession, const bool cjk, QObject *parent = 0); ~T9WriteWorker(); void addTask(QSharedPointer task); @@ -176,6 +185,7 @@ private: QMutex taskLock; DECUMA_SESSION *decumaSession; QAtomicInteger abort; + const bool cjk; }; } // namespace QtVirtualKeyboard -- cgit v1.2.3