Extend center point vertically for bottom keys on a keyboard.

Bug: 9505397
Change-Id: Ic415ac4065d23cb832dd3bb85876e2a4dc9e9fc3
main
Keisuke Kuroynagi 2013-06-24 11:58:56 +09:00
parent be2a172d4e
commit 77ec8713ce
1 changed files with 14 additions and 6 deletions

View File

@ -215,22 +215,30 @@ int ProximityInfo::getKeyCenterXOfKeyIdG(
return centerX;
}
// referencePointY is currently not used because we don't specially handle keys higher than the
// most common key height. When the referencePointY is NOT_A_COORDINATE, this method should
// calculate the return value without using the line segment.
// When the referencePointY is NOT_A_COORDINATE, this method calculates the return value without
// using the line segment.
int ProximityInfo::getKeyCenterYOfKeyIdG(
const int keyId, const int referencePointY, const bool isGeometric) const {
// TODO: Remove "isGeometric" and have separate "proximity_info"s for gesture and typing.
if (keyId < 0) {
return 0;
}
int centerY;
if (!hasTouchPositionCorrectionData()) {
return mCenterYsG[keyId];
centerY = mCenterYsG[keyId];
} else if (isGeometric) {
return static_cast<int>(mSweetSpotCenterYsG[keyId]);
centerY = static_cast<int>(mSweetSpotCenterYsG[keyId]);
} else {
return static_cast<int>(mSweetSpotCenterYs[keyId]);
centerY = static_cast<int>(mSweetSpotCenterYs[keyId]);
}
if (referencePointY != NOT_A_COORDINATE &&
centerY + mKeyHeights[keyId] > KEYBOARD_HEIGHT && centerY < referencePointY) {
// When the distance between center point and bottom edge of the keyboard is shorter than
// the key height, we assume the key is located at the bottom row of the keyboard.
// The center point is extended to the bottom edge for such keys.
return referencePointY;
}
return centerY;
}
int ProximityInfo::getKeyKeyDistanceG(const int keyId0, const int keyId1) const {