diff --git a/native/jni/src/proximity_info.cpp b/native/jni/src/proximity_info.cpp index d812745ca..81eb0b37d 100644 --- a/native/jni/src/proximity_info.cpp +++ b/native/jni/src/proximity_info.cpp @@ -15,6 +15,7 @@ */ #include +#include #define LOG_TAG "LatinIME: proximity_info.cpp" @@ -59,6 +60,7 @@ ProximityInfo::ProximityInfo(JNIEnv *env, const jstring localeJStr, CELL_HEIGHT((keyboardHeight + gridHeight - 1) / gridHeight), KEY_COUNT(min(keyCount, MAX_KEY_COUNT_IN_A_KEYBOARD)), KEYBOARD_WIDTH(keyboardWidth), KEYBOARD_HEIGHT(keyboardHeight), + KEYBOARD_HYPOTENUSE(hypotf(KEYBOARD_WIDTH, KEYBOARD_HEIGHT)), HAS_TOUCH_POSITION_CORRECTION_DATA(keyCount > 0 && keyXCoordinates && keyYCoordinates && keyWidths && keyHeights && keyCharCodes && sweetSpotCenterXs && sweetSpotCenterYs && sweetSpotRadii), diff --git a/native/jni/src/proximity_info.h b/native/jni/src/proximity_info.h index d42c72391..ee79367ef 100644 --- a/native/jni/src/proximity_info.h +++ b/native/jni/src/proximity_info.h @@ -62,6 +62,7 @@ class ProximityInfo { int getGridHeight() const { return GRID_HEIGHT; } int getKeyboardWidth() const { return KEYBOARD_WIDTH; } int getKeyboardHeight() const { return KEYBOARD_HEIGHT; } + float getKeyboardHypotenuse() const { return KEYBOARD_HYPOTENUSE; } int getKeyCenterXOfCodePointG(int charCode) const; int getKeyCenterYOfCodePointG(int charCode) const; @@ -97,6 +98,7 @@ class ProximityInfo { const int KEY_COUNT; const int KEYBOARD_WIDTH; const int KEYBOARD_HEIGHT; + const float KEYBOARD_HYPOTENUSE; const bool HAS_TOUCH_POSITION_CORRECTION_DATA; char mLocaleStr[MAX_LOCALE_STRING_LENGTH]; int *mProximityCharsArray;