Project

General

Profile

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

examples / src / main / java / org / distorted / examples / dynamic / DynamicActivity.java @ 107e4b72

1 bc0a685b Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
2
// Copyright 2016 Leszek Koltunski                                                               //
3
//                                                                                               //
4
// This file is part of Distorted.                                                               //
5
//                                                                                               //
6
// Distorted is free software: you can redistribute it and/or modify                             //
7
// it under the terms of the GNU General Public License as published by                          //
8
// the Free Software Foundation, either version 2 of the License, or                             //
9
// (at your option) any later version.                                                           //
10
//                                                                                               //
11
// Distorted is distributed in the hope that it will be useful,                                  //
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of                                //
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the                                 //
14
// GNU General Public License for more details.                                                  //
15
//                                                                                               //
16
// You should have received a copy of the GNU General Public License                             //
17
// along with Distorted.  If not, see <http://www.gnu.org/licenses/>.                            //
18
///////////////////////////////////////////////////////////////////////////////////////////////////
19
20 f988589e Leszek Koltunski
package org.distorted.examples.dynamic;
21 427ab7bf Leszek Koltunski
22 01782e85 Leszek Koltunski
import org.distorted.library.main.Distorted;
23 7589635e Leszek Koltunski
import org.distorted.library.type.Dynamic1D;
24 5068fa06 Leszek Koltunski
import org.distorted.examples.R;
25 427ab7bf Leszek Koltunski
26
import android.app.Activity;
27
import android.opengl.GLSurfaceView;
28
import android.os.Bundle;
29
import android.view.View;
30
import android.widget.SeekBar;
31
import android.widget.TextView;
32
import android.widget.SeekBar.OnSeekBarChangeListener;
33
34 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
35 427ab7bf Leszek Koltunski
36 f988589e Leszek Koltunski
public class DynamicActivity extends Activity implements OnSeekBarChangeListener
37 427ab7bf Leszek Koltunski
    {
38
    private TextView textD, textN;
39 b5636dbf leszek
    private int p0,p1,p2;
40
    private int mDim, mMode;
41 8b7c0ab3 Leszek Koltunski
42 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
43 427ab7bf Leszek Koltunski
    @Override
44 b5636dbf leszek
    protected void onCreate(Bundle savedState)
45 427ab7bf Leszek Koltunski
      {
46 b5636dbf leszek
      super.onCreate(savedState);
47 8b7c0ab3 Leszek Koltunski
      setContentView(R.layout.dynamicslayout);
48
49
      textD = (TextView)findViewById(R.id.dynamicTextDuration);
50
      textN = (TextView)findViewById(R.id.dynamicTextNoise);
51
52 b5636dbf leszek
      p0=p1=p2=0;
53
      mDim = DynamicSurfaceView.DIM_2D;
54
      mMode= Dynamic1D.MODE_LOOP;
55
56
      SeekBar barD = (SeekBar)findViewById(R.id.dynamicSeekDuration);
57
      barD.setOnSeekBarChangeListener(this);
58
      SeekBar bar0 = (SeekBar)findViewById(R.id.dynamicSeekNoise0);
59
      bar0.setOnSeekBarChangeListener(this);
60
      SeekBar bar1 = (SeekBar)findViewById(R.id.dynamicSeekNoise1);
61
      bar1.setOnSeekBarChangeListener(this);
62
      SeekBar bar2 = (SeekBar)findViewById(R.id.dynamicSeekNoise2);
63
      bar2.setOnSeekBarChangeListener(this);
64
65
      if( savedState==null )
66
        {
67
        barD.setProgress(50);
68
        bar0.setProgress(0);
69
        bar1.setProgress(0);
70
        bar2.setProgress(0);
71
        }
72 427ab7bf Leszek Koltunski
      }
73
74 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
75 427ab7bf Leszek Koltunski
    @Override
76
    protected void onResume() 
77
      {
78
      super.onResume();
79
      
80 fe3c72ce Leszek Koltunski
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
81
      view.onResume();
82 427ab7bf Leszek Koltunski
      }
83
84 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
85 427ab7bf Leszek Koltunski
    @Override
86
    protected void onPause() 
87
      {
88 fe3c72ce Leszek Koltunski
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
89
      view.onPause();
90 b0ebdf5e Leszek Koltunski
91
      Distorted.onPause();
92 427ab7bf Leszek Koltunski
      super.onPause();
93
      }
94
    
95 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
96 427ab7bf Leszek Koltunski
    @Override
97
    public void onStop()
98
      {
99
      super.onStop();
100
      }
101
102 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
103 427ab7bf Leszek Koltunski
    @Override
104
    public void onDestroy()
105
      {  
106
      Distorted.onDestroy();
107
      super.onDestroy();
108
      }     
109
 
110 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
111 427ab7bf Leszek Koltunski
    
112
    public void Loop(View v)
113
      {
114 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
115
      view.setMode(Dynamic1D.MODE_LOOP);
116 b5636dbf leszek
      mMode = Dynamic1D.MODE_LOOP;
117 427ab7bf Leszek Koltunski
      }     
118
    
119 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
120 427ab7bf Leszek Koltunski
121
    public void Path(View v)
122
      {
123 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
124
      view.setMode(Dynamic1D.MODE_PATH);
125 b5636dbf leszek
      mMode = Dynamic1D.MODE_PATH;
126 427ab7bf Leszek Koltunski
      }  
127
128 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
129 427ab7bf Leszek Koltunski
130
    public void Jump(View v)
131
      {
132 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
133
      view.setMode(Dynamic1D.MODE_JUMP);
134 b5636dbf leszek
      mMode = Dynamic1D.MODE_JUMP;
135 427ab7bf Leszek Koltunski
      }  
136
    
137 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
138 427ab7bf Leszek Koltunski
139
    public void Dim1D(View v)
140
      {
141 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
142
      view.setDimension(DynamicSurfaceView.DIM_1D);
143 b5636dbf leszek
      mDim = DynamicSurfaceView.DIM_1D;
144 427ab7bf Leszek Koltunski
      }  
145
146 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
147 427ab7bf Leszek Koltunski
148
    public void Dim2D(View v)
149
      {
150 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
151
      view.setDimension(DynamicSurfaceView.DIM_2D);
152 b5636dbf leszek
      mDim = DynamicSurfaceView.DIM_2D;
153 427ab7bf Leszek Koltunski
      }  
154
    
155 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
156 427ab7bf Leszek Koltunski
157
    public void Dim3DXY(View v)
158
      {
159 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
160
      view.setDimension(DynamicSurfaceView.DIM_3DXY);
161 b5636dbf leszek
      mDim = DynamicSurfaceView.DIM_3DXY;
162 427ab7bf Leszek Koltunski
      }  
163
164 b5636dbf leszek
///////////////////////////////////////////////////////////////////////////////////////////////////
165 427ab7bf Leszek Koltunski
166
    public void Dim3DXZ(View v)
167
      {
168 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
169
      view.setDimension(DynamicSurfaceView.DIM_3DXZ);
170 b5636dbf leszek
      mDim = DynamicSurfaceView.DIM_3DXZ;
171 427ab7bf Leszek Koltunski
      }  
172 b5636dbf leszek
173
///////////////////////////////////////////////////////////////////////////////////////////////////
174
175
    @Override
176
    public void onSaveInstanceState(Bundle savedInstanceState)
177
      {
178
      super.onSaveInstanceState(savedInstanceState);
179
180
      savedInstanceState.putInt("dim" , mDim );
181
      savedInstanceState.putInt("mode", mMode);
182
      }
183
184
///////////////////////////////////////////////////////////////////////////////////////////////////
185
186
    @Override
187
    public void onRestoreInstanceState(Bundle savedInstanceState)
188
      {
189
      super.onRestoreInstanceState(savedInstanceState);
190
191
      mDim = savedInstanceState.getInt("dim");
192
      mMode= savedInstanceState.getInt("mode");
193
194
      switch(mDim)
195
        {
196
        case DynamicSurfaceView.DIM_1D  : Dim1D(null)  ; break;
197
        case DynamicSurfaceView.DIM_2D  : Dim2D(null)  ; break;
198
        case DynamicSurfaceView.DIM_3DXY: Dim3DXY(null); break;
199
        case DynamicSurfaceView.DIM_3DXZ: Dim3DXZ(null); break;
200
        }
201
202
      switch(mMode)
203
        {
204
        case Dynamic1D.MODE_JUMP: Jump(null); break;
205
        case Dynamic1D.MODE_PATH: Path(null); break;
206
        case Dynamic1D.MODE_LOOP: Loop(null); break;
207
        }
208
      }
209
210 427ab7bf Leszek Koltunski
///////////////////////////////////////////////////////////////////
211
    
212
    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser) 
213
      {
214 fe3c72ce Leszek Koltunski
      DynamicSurfaceView view = (DynamicSurfaceView) this.findViewById(R.id.dynamicSurfaceView);
215 8b7c0ab3 Leszek Koltunski
      int id = bar.getId();
216
217
      if( id == R.id.dynamicSeekDuration )
218
        {
219
        float v = progress*200;
220
        int i = (int)(v/100);
221
        float t = i/10.0f;
222 fe3c72ce Leszek Koltunski
        view.setDuration((int)v);
223 8b7c0ab3 Leszek Koltunski
        textD.setText("Duration: "+(int)t+" s");
224
        }
225
      else
226 427ab7bf Leszek Koltunski
        {
227 8b7c0ab3 Leszek Koltunski
        switch(id)
228
          {
229 b5636dbf leszek
          case R.id.dynamicSeekNoise0  : p0 = progress; break;
230
          case R.id.dynamicSeekNoise1  : p1 = progress; break;
231
          case R.id.dynamicSeekNoise2  : p2 = progress; break;
232 8b7c0ab3 Leszek Koltunski
          }
233
234 b5636dbf leszek
        view.setNoise(p0/100.0f,p1/100.0f,p2/100.0f);
235
        textN.setText("Noise: "+(p0/100.f)+" "+(p1/100.f)+" "+(p2/100.f));
236 427ab7bf Leszek Koltunski
        }
237
      }
238
239
///////////////////////////////////////////////////////////////////
240
241
    public void onStartTrackingTouch(SeekBar bar) { }
242
    
243
///////////////////////////////////////////////////////////////////
244
245
    public void onStopTrackingTouch(SeekBar bar)  { }
246
    
247
///////////////////////////////////////////////////////////////////
248
// end of file
249
}