Project

General

Profile

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

examples / src / main / java / org / distorted / examples / multiblur / MultiblurActivity.java @ 46ab4363

1
///////////////////////////////////////////////////////////////////////////////////////////////////
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
import android.opengl.GLSurfaceView;
24
import android.os.Bundle;
25
import android.view.View;
26
import android.widget.CheckBox;
27
import android.widget.SeekBar;
28

    
29
import org.distorted.examples.R;
30
import org.distorted.library.Distorted;
31

    
32
///////////////////////////////////////////////////////////////////////////////////////////////////
33

    
34
public class MultiblurActivity extends Activity implements SeekBar.OnSeekBarChangeListener
35
{
36
///////////////////////////////////////////////////////////////////////////////////////////////////
37

    
38
    @Override
39
    protected void onCreate(Bundle savedState) 
40
      {
41
      super.onCreate(savedState);
42
      setContentView(R.layout.multiblurlayout);
43

    
44
      SeekBar distanceBar = (SeekBar)findViewById(R.id.multiblurDistanceSeek);
45
      distanceBar.setOnSeekBarChangeListener(this);
46
      distanceBar.setProgress(50);
47
      SeekBar rangeBar = (SeekBar)findViewById(R.id.multiblurRangeSeek);
48
      rangeBar.setOnSeekBarChangeListener(this);
49
      rangeBar.setProgress(10);
50
      }
51

    
52
///////////////////////////////////////////////////////////////////////////////////////////////////
53
    
54
    @Override
55
    protected void onPause() 
56
      {
57
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
58
      view.onPause();
59
      super.onPause();
60
      }
61

    
62
///////////////////////////////////////////////////////////////////////////////////////////////////
63
    
64
    @Override
65
    protected void onResume() 
66
      {
67
      super.onResume();
68
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
69
      view.onResume();
70
      }
71
    
72
///////////////////////////////////////////////////////////////////////////////////////////////////
73
    
74
    @Override
75
    protected void onDestroy() 
76
      {
77
      Distorted.onDestroy();  
78
      super.onDestroy();
79
      }
80

    
81
///////////////////////////////////////////////////////////////////////////////////////////////////
82

    
83
    @Override
84
    public void onSaveInstanceState(Bundle savedInstanceState)
85
      {
86
      super.onSaveInstanceState(savedInstanceState);
87

    
88
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
89
      MultiblurRenderer renderer = view.getRenderer();
90

    
91
      savedInstanceState.putBooleanArray("checkboxes", renderer.getChecked() );
92
      }
93

    
94
///////////////////////////////////////////////////////////////////////////////////////////////////
95

    
96
    @Override
97
    public void onRestoreInstanceState(Bundle savedInstanceState)
98
      {
99
      super.onRestoreInstanceState(savedInstanceState);
100

    
101
      boolean[] checkboxes = savedInstanceState.getBooleanArray("checkboxes");
102

    
103
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
104
      MultiblurRenderer renderer = view.getRenderer();
105

    
106
      if( checkboxes!=null )
107
        {
108
        for(int i=0; i<checkboxes.length; i++)
109
          {
110
          renderer.setChecked(i,checkboxes[i]);
111
          }
112
        }
113
      }
114

    
115
///////////////////////////////////////////////////////////////////////////////////////////////////
116

    
117
    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
118
      {
119
      switch (bar.getId())
120
        {
121
        case R.id.multiblurDistanceSeek: MultiblurSurfaceView view1 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
122
                                         view1.getRenderer().setDistance(progress);
123
                                         break;
124
        case R.id.multiblurRangeSeek   : MultiblurSurfaceView view2 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
125
                                         view2.getRenderer().setRange(progress);
126
                                         break;
127

    
128
        }
129
      }
130

    
131
///////////////////////////////////////////////////////////////////////////////////////////////////
132

    
133
    public void onStartTrackingTouch(SeekBar bar) { }
134

    
135
///////////////////////////////////////////////////////////////////////////////////////////////////
136

    
137
    public void onStopTrackingTouch(SeekBar bar)  { }
138

    
139
///////////////////////////////////////////////////////////////////////////////////////////////////
140

    
141
  public void onClick(View view)
142
    {
143
    CheckBox box = (CheckBox)view;
144
    int id = box.getId();
145
    boolean checked = box.isChecked();
146
    MultiblurSurfaceView sView = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
147

    
148
    switch(id)
149
      {
150
      case R.id.multiblurCheckBox0  : sView.getRenderer().setChecked(0,checked); break;
151
      case R.id.multiblurCheckBox1  : sView.getRenderer().setChecked(1,checked); break;
152
      case R.id.multiblurCheckBox2  : sView.getRenderer().setChecked(2,checked); break;
153
      case R.id.multiblurCheckBox3  : sView.getRenderer().setChecked(3,checked); break;
154
      case R.id.multiblurCheckBox4  : sView.getRenderer().setChecked(4,checked); break;
155
      case R.id.multiblurCheckBox5  : sView.getRenderer().setChecked(5,checked); break;
156
      case R.id.multiblurCheckBox6  : sView.getRenderer().setChecked(6,checked); break;
157
      case R.id.multiblurCheckBox7  : sView.getRenderer().setChecked(7,checked); break;
158
      }
159
    }
160
}
(1-1/3)