Merge "Initialize mAffineTransform and update on modification"
This commit is contained in:
commit
17bc9abdb5
@ -2752,6 +2752,11 @@ void TouchInputMapper::configure(nsecs_t when,
|
||||
resolveCalibration();
|
||||
}
|
||||
|
||||
if (!changes || (changes & InputReaderConfiguration::TOUCH_AFFINE_TRANSFORMATION)) {
|
||||
// Update location calibration to reflect current settings
|
||||
updateAffineTransformation();
|
||||
}
|
||||
|
||||
if (!changes || (changes & InputReaderConfiguration::CHANGE_POINTER_SPEED)) {
|
||||
// Update pointer speed.
|
||||
mPointerVelocityControl.setParameters(mConfig.pointerVelocityControlParameters);
|
||||
@ -3654,6 +3659,10 @@ void TouchInputMapper::dumpAffineTransformation(String8& dump) {
|
||||
dump.appendFormat(INDENT4 "Y offset: %0.3f\n", mAffineTransform.y_offset);
|
||||
}
|
||||
|
||||
void TouchInputMapper::updateAffineTransformation() {
|
||||
mAffineTransform = getPolicy()->getTouchAffineTransformation(mDevice->getDescriptor());
|
||||
}
|
||||
|
||||
void TouchInputMapper::reset(nsecs_t when) {
|
||||
mCursorButtonAccumulator.reset(getDevice());
|
||||
mCursorScrollAccumulator.reset(getDevice());
|
||||
|
@ -138,6 +138,9 @@ struct InputReaderConfiguration {
|
||||
// The device name alias supplied by the may have changed for some devices.
|
||||
CHANGE_DEVICE_ALIAS = 1 << 5,
|
||||
|
||||
// The location calibration matrix changed.
|
||||
TOUCH_AFFINE_TRANSFORMATION = 1 << 6,
|
||||
|
||||
// All devices must be reopened.
|
||||
CHANGE_MUST_REOPEN = 1 << 31,
|
||||
};
|
||||
@ -304,6 +307,10 @@ public:
|
||||
|
||||
/* Gets a user-supplied alias for a particular input device, or an empty string if none. */
|
||||
virtual String8 getDeviceAlias(const InputDeviceIdentifier& identifier) = 0;
|
||||
|
||||
/* Gets the affine calibration associated with the specified device. */
|
||||
virtual TouchAffineTransformation getTouchAffineTransformation(
|
||||
const String8& inputDeviceDescriptor) = 0;
|
||||
};
|
||||
|
||||
|
||||
@ -535,6 +542,7 @@ public:
|
||||
inline int32_t getControllerNumber() const { return mControllerNumber; }
|
||||
inline int32_t getGeneration() const { return mGeneration; }
|
||||
inline const String8& getName() const { return mIdentifier.name; }
|
||||
inline const String8& getDescriptor() { return mIdentifier.descriptor; }
|
||||
inline uint32_t getClasses() const { return mClasses; }
|
||||
inline uint32_t getSources() const { return mSources; }
|
||||
|
||||
@ -1366,6 +1374,7 @@ protected:
|
||||
virtual void dumpCalibration(String8& dump);
|
||||
virtual void dumpAffineTransformation(String8& dump);
|
||||
virtual bool hasStylus() const = 0;
|
||||
virtual void updateAffineTransformation();
|
||||
|
||||
virtual void syncTouch(nsecs_t when, bool* outHavePointerIds) = 0;
|
||||
|
||||
|
@ -173,6 +173,10 @@ public:
|
||||
return mInputDevices;
|
||||
}
|
||||
|
||||
TouchAffineTransformation getTouchAffineTransformation(const String8& inputDeviceDescriptor) {
|
||||
return TouchAffineTransformation();
|
||||
}
|
||||
|
||||
private:
|
||||
virtual void getReaderConfiguration(InputReaderConfiguration* outConfig) {
|
||||
*outConfig = mConfig;
|
||||
|
Loading…
Reference in New Issue
Block a user