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