Merge "Support unique calibration per orientation"

This commit is contained in:
Michael Wright 2014-03-10 23:40:41 +00:00 committed by Android (Google) Code Review
commit f72b35ea02
3 changed files with 8 additions and 3 deletions

View File

@ -3282,6 +3282,9 @@ void TouchInputMapper::configureSurface(nsecs_t when, bool* outResetNeeded) {
break;
}
// Location
updateAffineTransformation();
if (mDeviceMode == DEVICE_MODE_POINTER) {
// Compute pointer gesture detection parameters.
float rawDiagonal = hypotf(rawWidth, rawHeight);
@ -3660,7 +3663,8 @@ void TouchInputMapper::dumpAffineTransformation(String8& dump) {
}
void TouchInputMapper::updateAffineTransformation() {
mAffineTransform = getPolicy()->getTouchAffineTransformation(mDevice->getDescriptor());
mAffineTransform = getPolicy()->getTouchAffineTransformation(mDevice->getDescriptor(),
mSurfaceOrientation);
}
void TouchInputMapper::reset(nsecs_t when) {

View File

@ -316,7 +316,7 @@ public:
/* Gets the affine calibration associated with the specified device. */
virtual TouchAffineTransformation getTouchAffineTransformation(
const String8& inputDeviceDescriptor) = 0;
const String8& inputDeviceDescriptor, int32_t surfaceRotation) = 0;
};

View File

@ -174,7 +174,8 @@ public:
return mInputDevices;
}
TouchAffineTransformation getTouchAffineTransformation(const String8& inputDeviceDescriptor) {
TouchAffineTransformation getTouchAffineTransformation(const String8& inputDeviceDescriptor,
int32_t surfaceRotation) {
return transform;
}