1b50b5cbfbc0a67db6fc43373363b10381c9c61a3Angus Kongpackage com.android.camera.util;
2d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang
3d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Changimport android.graphics.Matrix;
4d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Changimport android.view.MotionEvent;
5d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang
6d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Changpublic final class MotionEventHelper {
7d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang    private MotionEventHelper() {}
8d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang
9d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang    public static MotionEvent transformEvent(MotionEvent e, Matrix m) {
10d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang        // We try to use the new transform method if possible because it uses
11d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang        // less memory.
12638e6f06c877d90b907f66ea9c22b3c6b73c7384Sascha Haeberling        return transformEventNew(e, m);
13d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang    }
14d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang
15d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang    private static MotionEvent transformEventNew(MotionEvent e, Matrix m) {
16e89a4e7d2808b44b2da6827d13d6da6ce0998896Wu-cheng Li        MotionEvent newEvent = MotionEvent.obtain(e);
17e89a4e7d2808b44b2da6827d13d6da6ce0998896Wu-cheng Li        newEvent.transform(m);
18e89a4e7d2808b44b2da6827d13d6da6ce0998896Wu-cheng Li        return newEvent;
19d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang    }
20d1975270b68e8b2513bdcf78b4451ddcbd3964fdAhbong Chang}
21