Project

General

Profile

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

examples / src / main / java / org / distorted / examples / multiblur / MultiblurActivity.java @ 31d1b2fe

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 bf0bc90f Leszek Koltunski
import org.distorted.library.EffectQuality;
32 58059374 Leszek Koltunski
33
///////////////////////////////////////////////////////////////////////////////////////////////////
34
35 3e673c74 Leszek Koltunski
public class MultiblurActivity extends Activity implements SeekBar.OnSeekBarChangeListener
36 58059374 Leszek Koltunski
{
37
///////////////////////////////////////////////////////////////////////////////////////////////////
38
39
    @Override
40
    protected void onCreate(Bundle savedState) 
41
      {
42
      super.onCreate(savedState);
43 3e673c74 Leszek Koltunski
      setContentView(R.layout.multiblurlayout);
44
45 fc6f1299 Leszek Koltunski
      SeekBar distanceBar = (SeekBar)findViewById(R.id.multiblurDistanceSeek);
46 dea953f4 leszek
      SeekBar rangeBar    = (SeekBar)findViewById(R.id.multiblurRangeSeek);
47
48 fc6f1299 Leszek Koltunski
      distanceBar.setOnSeekBarChangeListener(this);
49
      rangeBar.setOnSeekBarChangeListener(this);
50 dea953f4 leszek
51
      if( savedState==null )
52
        {
53
        distanceBar.setProgress(50);
54 886800be leszek
        rangeBar.setProgress(50);
55 dea953f4 leszek
        }
56 58059374 Leszek Koltunski
      }
57
58
///////////////////////////////////////////////////////////////////////////////////////////////////
59
    
60
    @Override
61
    protected void onPause() 
62
      {
63 3e673c74 Leszek Koltunski
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
64
      view.onPause();
65 b0ebdf5e Leszek Koltunski
      Distorted.onPause();
66 58059374 Leszek Koltunski
      super.onPause();
67
      }
68
69
///////////////////////////////////////////////////////////////////////////////////////////////////
70
    
71
    @Override
72
    protected void onResume() 
73
      {
74
      super.onResume();
75 3e673c74 Leszek Koltunski
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
76
      view.onResume();
77 58059374 Leszek Koltunski
      }
78
    
79
///////////////////////////////////////////////////////////////////////////////////////////////////
80
    
81
    @Override
82
    protected void onDestroy() 
83
      {
84
      Distorted.onDestroy();  
85
      super.onDestroy();
86
      }
87 3e673c74 Leszek Koltunski
88 46ab4363 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
89
90
    @Override
91
    public void onSaveInstanceState(Bundle savedInstanceState)
92
      {
93
      super.onSaveInstanceState(savedInstanceState);
94
95
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
96
      MultiblurRenderer renderer = view.getRenderer();
97
98
      savedInstanceState.putBooleanArray("checkboxes", renderer.getChecked() );
99
      }
100
101
///////////////////////////////////////////////////////////////////////////////////////////////////
102
103
    @Override
104
    public void onRestoreInstanceState(Bundle savedInstanceState)
105
      {
106
      super.onRestoreInstanceState(savedInstanceState);
107
108
      boolean[] checkboxes = savedInstanceState.getBooleanArray("checkboxes");
109
110
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
111
      MultiblurRenderer renderer = view.getRenderer();
112
113
      if( checkboxes!=null )
114
        {
115
        for(int i=0; i<checkboxes.length; i++)
116
          {
117
          renderer.setChecked(i,checkboxes[i]);
118
          }
119
        }
120
      }
121
122 3e673c74 Leszek Koltunski
///////////////////////////////////////////////////////////////////////////////////////////////////
123
124
    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
125
      {
126
      switch (bar.getId())
127
        {
128 9eeba229 Leszek Koltunski
        case R.id.multiblurDistanceSeek: //MultiblurSurfaceView view1 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
129
                                         //view1.getRenderer().setDistance(progress);
130
131 31d1b2fe leszek
                                         Distorted.setMargin( progress );
132 9eeba229 Leszek Koltunski
133 fc6f1299 Leszek Koltunski
                                         break;
134
        case R.id.multiblurRangeSeek   : MultiblurSurfaceView view2 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
135
                                         view2.getRenderer().setRange(progress);
136 9eeba229 Leszek Koltunski
137
view2.getRenderer().setDistance(progress);
138
139 fc6f1299 Leszek Koltunski
                                         break;
140
141 3e673c74 Leszek Koltunski
        }
142
      }
143
144
///////////////////////////////////////////////////////////////////////////////////////////////////
145
146
    public void onStartTrackingTouch(SeekBar bar) { }
147
148
///////////////////////////////////////////////////////////////////////////////////////////////////
149
150
    public void onStopTrackingTouch(SeekBar bar)  { }
151
152
///////////////////////////////////////////////////////////////////////////////////////////////////
153 febb61ba Leszek Koltunski
154
  public void onClick(View view)
155
    {
156
    CheckBox box = (CheckBox)view;
157
    int id = box.getId();
158
    boolean checked = box.isChecked();
159
    MultiblurSurfaceView sView = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
160
161
    switch(id)
162
      {
163 46ab4363 Leszek Koltunski
      case R.id.multiblurCheckBox0  : sView.getRenderer().setChecked(0,checked); break;
164
      case R.id.multiblurCheckBox1  : sView.getRenderer().setChecked(1,checked); break;
165
      case R.id.multiblurCheckBox2  : sView.getRenderer().setChecked(2,checked); break;
166
      case R.id.multiblurCheckBox3  : sView.getRenderer().setChecked(3,checked); break;
167
      case R.id.multiblurCheckBox4  : sView.getRenderer().setChecked(4,checked); break;
168
      case R.id.multiblurCheckBox5  : sView.getRenderer().setChecked(5,checked); break;
169
      case R.id.multiblurCheckBox6  : sView.getRenderer().setChecked(6,checked); break;
170
      case R.id.multiblurCheckBox7  : sView.getRenderer().setChecked(7,checked); break;
171 febb61ba Leszek Koltunski
      }
172
    }
173 bf0bc90f Leszek Koltunski
174
///////////////////////////////////////////////////////////////////////////////////////////////////
175
176
  public void quality0(View v)
177
    {
178
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
179
    MultiblurRenderer renderer = view.getRenderer();
180
    renderer.setQuality(EffectQuality.HIGHEST);
181
    }
182
183
///////////////////////////////////////////////////////////////////////////////////////////////////
184
185
  public void quality1(View v)
186
    {
187
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
188
    MultiblurRenderer renderer = view.getRenderer();
189
    renderer.setQuality(EffectQuality.HIGH);
190
    }
191
192
///////////////////////////////////////////////////////////////////////////////////////////////////
193
194
  public void quality2(View v)
195
    {
196
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
197
    MultiblurRenderer renderer = view.getRenderer();
198
    renderer.setQuality(EffectQuality.MEDIUM);
199
    }
200
201
///////////////////////////////////////////////////////////////////////////////////////////////////
202
203
  public void quality3(View v)
204
    {
205
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
206
    MultiblurRenderer renderer = view.getRenderer();
207
    renderer.setQuality(EffectQuality.LOW);
208
    }
209 58059374 Leszek Koltunski
}