1ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi/*
2ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * Copyright (C) 2010 The Android Open Source Project
3ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *
4ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * Licensed under the Apache License, Version 2.0 (the "License");
5ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * you may not use this file except in compliance with the License.
6ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * You may obtain a copy of the License at
7ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *
8ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *      http://www.apache.org/licenses/LICENSE-2.0
9ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi *
10ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * Unless required by applicable law or agreed to in writing, software
11ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * distributed under the License is distributed on an "AS IS" BASIS,
12ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * See the License for the specific language governing permissions and
14ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi * limitations under the License.
15ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi */
16ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
1781393d6dc5767f7784a00958095614a37bf1a91aGil Dobjanschipackage com.android.videoeditor.widgets;
18ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
19ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschiimport android.content.Context;
20ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschiimport android.util.AttributeSet;
21ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschiimport android.view.GestureDetector;
22ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschiimport android.view.MotionEvent;
23ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschiimport android.view.SurfaceView;
24ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
25ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi/**
264951bf52ba455c00d28258c331f073583dd28980Shih-chia Cheng * Surface view for video preview.
27ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi */
28ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschipublic class PreviewSurfaceView extends SurfaceView {
29ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    private GestureDetector mSimpleGestureDetector;
30ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
31ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public PreviewSurfaceView(Context context, AttributeSet attrs, int defStyle) {
32ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        super(context, attrs, defStyle);
33ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
34ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
35ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public PreviewSurfaceView(Context context, AttributeSet attrs) {
36ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        this(context, attrs, 0);
37ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
38ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
39ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public PreviewSurfaceView(Context context) {
40ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        this(context, null, 0);
41ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
42ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
43ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    /**
44ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     * @param detector The gesture detector
45ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi     */
46ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public void setGestureListener(GestureDetector detector) {
47ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        mSimpleGestureDetector = detector;
48ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
49ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
50ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    @Override
51ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    public boolean onTouchEvent(MotionEvent ev) {
52ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        // Let the gesture detector inspect all events.
53ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        if (mSimpleGestureDetector != null) {
54ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi            mSimpleGestureDetector.onTouchEvent(ev);
55ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        }
56ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi
57ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        super.onTouchEvent(ev);
58ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi        return true;
59ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi    }
60ace3cdb462fef9563a0470223c62a7e80e6d587aGil Dobjanschi}
61