Project

General

Profile

Download (1.74 KB) Statistics
| Branch: | Revision:

examples / src / main / java / org / distortedandroid / examples / deform / DeformSurfaceView.java @ 427ab7bf

1

    
2
package org.distortedandroid.examples.deform;
3

    
4
import android.content.Context;
5
import android.opengl.GLSurfaceView;
6
import android.os.Build;
7
import android.util.AttributeSet;
8
import android.view.MotionEvent;
9

    
10
///////////////////////////////////////////////////////////////////////////////////////////////////
11

    
12
class DeformSurfaceView extends GLSurfaceView 
13
{
14
    private DeformRenderer renderer;
15
    private int xTouch, yTouch;
16
   
17
///////////////////////////////////////////////////////////////////////////////////////////////////
18
   
19
    public DeformSurfaceView(Context c, AttributeSet attrs) 
20
      {
21
      super(c, attrs);
22
    
23
      if(!isInEditMode())
24
        {
25
        setEGLContextClientVersion(2);
26
        
27
        if( Build.FINGERPRINT.startsWith("generic") )
28
          { 
29
          setEGLConfigChooser(8, 8, 8, 8, 16, 0);   
30
          }
31
    
32
        renderer = new DeformRenderer(this);
33
        setRenderer(renderer);
34
        }
35
      }
36
    
37
///////////////////////////////////////////////////////////////////////////////////////////////////
38
    
39
    @Override public boolean onTouchEvent(MotionEvent event) 
40
      {
41
      int action = event.getAction();
42
      int x = (int)event.getX();
43
      int y = (int)event.getY();
44
           
45
      switch(action)
46
         {
47
         case MotionEvent.ACTION_DOWN: xTouch =x;
48
                                       yTouch =y; 
49
                                       renderer.down(x,y);
50
                                       break;
51
         case MotionEvent.ACTION_MOVE: renderer.move(x-xTouch,y-yTouch);                      
52
                                       break;
53
         case MotionEvent.ACTION_UP  : renderer.up(); 
54
                                       break;
55
         }
56
             
57
      return true;
58
      }
59
     
60
}
61

    
(3-3/3)