Project

General

Profile

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

examples / src / main / java / org / distorted / examples / multiblur / MultiblurActivity.java @ b0ebdf5e

1 58059374 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
package org.distorted.examples.multiblur;
21
22
import android.app.Activity;
23 3e673c74 Leszek Koltunski
import android.opengl.GLSurfaceView;
24 58059374 Leszek Koltunski
import android.os.Bundle;
25 febb61ba Leszek Koltunski
import android.view.View;
26
import android.widget.CheckBox;
27 3e673c74 Leszek Koltunski
import android.widget.SeekBar;
28
29
import org.distorted.examples.R;
30 58059374 Leszek Koltunski
import org.distorted.library.Distorted;
31
32
///////////////////////////////////////////////////////////////////////////////////////////////////
33
34 3e673c74 Leszek Koltunski
public class MultiblurActivity extends Activity implements SeekBar.OnSeekBarChangeListener
35 58059374 Leszek Koltunski
{
36
///////////////////////////////////////////////////////////////////////////////////////////////////
37
38
    @Override
39
    protected void onCreate(Bundle savedState) 
40
      {
41
      super.onCreate(savedState);
42 3e673c74 Leszek Koltunski
      setContentView(R.layout.multiblurlayout);
43
44 fc6f1299 Leszek Koltunski
      SeekBar distanceBar = (SeekBar)findViewById(R.id.multiblurDistanceSeek);
45 dea953f4 leszek
      SeekBar rangeBar    = (SeekBar)findViewById(R.id.multiblurRangeSeek);
46
47 fc6f1299 Leszek Koltunski
      distanceBar.setOnSeekBarChangeListener(this);
48
      rangeBar.setOnSeekBarChangeListener(this);
49 dea953f4 leszek
50
      if( savedState==null )
51
        {
52
        distanceBar.setProgress(50);
53
        rangeBar.setProgress(10);
54
        }
55 58059374 Leszek Koltunski
      }
56
57
///////////////////////////////////////////////////////////////////////////////////////////////////
58
    
59
    @Override
60
    protected void onPause() 
61
      {
62 3e673c74 Leszek Koltunski
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
63
      view.onPause();
64 b0ebdf5e Leszek Koltunski
      Distorted.onPause();
65 58059374 Leszek Koltunski
      super.onPause();
66
      }
67
68
///////////////////////////////////////////////////////////////////////////////////////////////////
69
    
70
    @Override
71
    protected void onResume() 
72
      {
73
      super.onResume();
74 3e673c74 Leszek Koltunski
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
75
      view.onResume();
76 58059374 Leszek Koltunski
      }
77
    
78
///////////////////////////////////////////////////////////////////////////////////////////////////
79
    
80
    @Override
81
    protected void onDestroy() 
82
      {
83
      Distorted.onDestroy();  
84
      super.onDestroy();
85
      }
86 3e673c74 Leszek Koltunski
87 46ab4363 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
88
89
    @Override
90
    public void onSaveInstanceState(Bundle savedInstanceState)
91
      {
92
      super.onSaveInstanceState(savedInstanceState);
93
94
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
95
      MultiblurRenderer renderer = view.getRenderer();
96
97
      savedInstanceState.putBooleanArray("checkboxes", renderer.getChecked() );
98
      }
99
100
///////////////////////////////////////////////////////////////////////////////////////////////////
101
102
    @Override
103
    public void onRestoreInstanceState(Bundle savedInstanceState)
104
      {
105
      super.onRestoreInstanceState(savedInstanceState);
106
107
      boolean[] checkboxes = savedInstanceState.getBooleanArray("checkboxes");
108
109
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
110
      MultiblurRenderer renderer = view.getRenderer();
111
112
      if( checkboxes!=null )
113
        {
114
        for(int i=0; i<checkboxes.length; i++)
115
          {
116
          renderer.setChecked(i,checkboxes[i]);
117
          }
118
        }
119
      }
120
121 3e673c74 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
122
123
    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
124
      {
125
      switch (bar.getId())
126
        {
127 fc6f1299 Leszek Koltunski
        case R.id.multiblurDistanceSeek: MultiblurSurfaceView view1 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
128
                                         view1.getRenderer().setDistance(progress);
129
                                         break;
130
        case R.id.multiblurRangeSeek   : MultiblurSurfaceView view2 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
131
                                         view2.getRenderer().setRange(progress);
132
                                         break;
133
134 3e673c74 Leszek Koltunski
        }
135
      }
136
137
///////////////////////////////////////////////////////////////////////////////////////////////////
138
139
    public void onStartTrackingTouch(SeekBar bar) { }
140
141
///////////////////////////////////////////////////////////////////////////////////////////////////
142
143
    public void onStopTrackingTouch(SeekBar bar)  { }
144
145
///////////////////////////////////////////////////////////////////////////////////////////////////
146 febb61ba Leszek Koltunski
147
  public void onClick(View view)
148
    {
149
    CheckBox box = (CheckBox)view;
150
    int id = box.getId();
151
    boolean checked = box.isChecked();
152
    MultiblurSurfaceView sView = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
153
154
    switch(id)
155
      {
156 46ab4363 Leszek Koltunski
      case R.id.multiblurCheckBox0  : sView.getRenderer().setChecked(0,checked); break;
157
      case R.id.multiblurCheckBox1  : sView.getRenderer().setChecked(1,checked); break;
158
      case R.id.multiblurCheckBox2  : sView.getRenderer().setChecked(2,checked); break;
159
      case R.id.multiblurCheckBox3  : sView.getRenderer().setChecked(3,checked); break;
160
      case R.id.multiblurCheckBox4  : sView.getRenderer().setChecked(4,checked); break;
161
      case R.id.multiblurCheckBox5  : sView.getRenderer().setChecked(5,checked); break;
162
      case R.id.multiblurCheckBox6  : sView.getRenderer().setChecked(6,checked); break;
163
      case R.id.multiblurCheckBox7  : sView.getRenderer().setChecked(7,checked); break;
164 febb61ba Leszek Koltunski
      }
165
    }
166 58059374 Leszek Koltunski
}