Project

General

Profile

« Previous | Next » 

Revision a935e9db

Added by Leszek Koltunski almost 6 years ago

Correct a recently introduced bug.

View differences:

src/main/java/org/distorted/examples/multiblur/MultiblurActivity.java
23 23
import android.opengl.GLSurfaceView;
24 24
import android.os.Bundle;
25 25
import android.view.View;
26
import android.widget.AdapterView;
27
import android.widget.ArrayAdapter;
26 28
import android.widget.CheckBox;
27 29
import android.widget.SeekBar;
30
import android.widget.Spinner;
28 31

  
29 32
import org.distorted.examples.R;
30 33
import org.distorted.library.main.Distorted;
......
32 35

  
33 36
///////////////////////////////////////////////////////////////////////////////////////////////////
34 37

  
35
public class MultiblurActivity extends Activity implements SeekBar.OnSeekBarChangeListener
38
public class MultiblurActivity extends Activity implements SeekBar.OnSeekBarChangeListener, AdapterView.OnItemSelectedListener
36 39
{
37 40
    private int mQuality;
38 41

  
......
56 59
        rangeBar.setProgress(50);
57 60
        mQuality = EffectQuality.HIGHEST.ordinal();
58 61
        }
62

  
63
      Spinner typeSpinner  = (Spinner)findViewById(R.id.multiblur_spinnerQuality);
64
      typeSpinner.setOnItemSelectedListener(this);
65

  
66
      String[] objectType = new String[] {"Quality Highiest", "Quality High", "Quality Medium", "Quality Low"};
67

  
68
      ArrayAdapter<String> adapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectType);
69
      adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
70
      typeSpinner.setAdapter(adapterType);
71

  
72
      Spinner bitmapSpinner  = (Spinner)findViewById(R.id.multiblur_spinnerMode);
73
      bitmapSpinner.setOnItemSelectedListener(this);
74

  
75
      String[] objectBitmap = new String[] { "Render: Normal", "Render: OIT" };
76

  
77
      ArrayAdapter<String> adapterBitmap = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectBitmap);
78
      adapterBitmap.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
79
      bitmapSpinner.setAdapter(adapterBitmap);
80
      }
81

  
82
///////////////////////////////////////////////////////////////////////////////////////////////////
83

  
84
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
85
      {
86
      MultiblurSurfaceView v = this.findViewById(R.id.multiblurSurfaceView);
87
      MultiblurRenderer renderer = v.getRenderer();
88

  
89
      switch(parent.getId())
90
        {
91
        case R.id.multiblur_spinnerQuality: EffectQuality quality;
92

  
93
                                            switch(pos)
94
                                              {
95
                                              case 0 : quality = EffectQuality.HIGHEST; break;
96
                                              case 1 : quality = EffectQuality.HIGH   ; break;
97
                                              case 2 : quality = EffectQuality.MEDIUM ; break;
98
                                              default: quality = EffectQuality.LOW    ;
99
                                              }
100
                                            renderer.setQuality(quality);
101
                                            mQuality = quality.ordinal();
102
                                            break;
103
        case R.id.multiblur_spinnerMode   : renderer.setRenderModeToOIT(pos==1);
104
                                            break;
105
        }
106
      }
107

  
108
///////////////////////////////////////////////////////////////////////////////////////////////////
109

  
110
    public void onNothingSelected(AdapterView<?> parent)
111
      {
59 112
      }
60 113

  
61 114
///////////////////////////////////////////////////////////////////////////////////////////////////
......
63 116
    @Override
64 117
    protected void onPause() 
65 118
      {
66
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
119
      GLSurfaceView view = this.findViewById(R.id.multiblurSurfaceView);
67 120
      view.onPause();
68 121
      Distorted.onPause();
69 122
      super.onPause();
......
75 128
    protected void onResume() 
76 129
      {
77 130
      super.onResume();
78
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
131
      GLSurfaceView view = this.findViewById(R.id.multiblurSurfaceView);
79 132
      view.onResume();
80 133
      }
81 134
    
......
95 148
      {
96 149
      super.onSaveInstanceState(savedInstanceState);
97 150

  
98
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
151
      MultiblurSurfaceView view = this.findViewById(R.id.multiblurSurfaceView);
99 152
      MultiblurRenderer renderer = view.getRenderer();
100 153

  
101 154
      savedInstanceState.putBooleanArray("checkboxes", renderer.getChecked() );
......
111 164

  
112 165
      boolean[] checkboxes = savedInstanceState.getBooleanArray("checkboxes");
113 166

  
114
      MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
167
      MultiblurSurfaceView view = this.findViewById(R.id.multiblurSurfaceView);
115 168
      MultiblurRenderer renderer = view.getRenderer();
116 169

  
117 170
      if( checkboxes!=null )
......
126 179

  
127 180
      switch(mQuality)
128 181
        {
129
        case 0 : quality0(null); break;
130
        case 1 : quality1(null); break;
131
        case 2 : quality2(null); break;
132
        case 3 : quality3(null); break;
182
        case 0 : renderer.setQuality(EffectQuality.HIGHEST); break;
183
        case 1 : renderer.setQuality(EffectQuality.HIGH   ); break;
184
        case 2 : renderer.setQuality(EffectQuality.MEDIUM ); break;
185
        case 3 : renderer.setQuality(EffectQuality.LOW    ); break;
133 186
        default: android.util.Log.e("MultiBlur", "error - unknown quality!");
134 187
        }
135 188
      }
......
140 193
      {
141 194
      switch (bar.getId())
142 195
        {
143
        case R.id.multiblurDistanceSeek: MultiblurSurfaceView view1 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
196
        case R.id.multiblurDistanceSeek: MultiblurSurfaceView view1 = this.findViewById(R.id.multiblurSurfaceView);
144 197
                                         view1.getRenderer().setDistance(progress);
145 198
                                         break;
146
        case R.id.multiblurRangeSeek   : MultiblurSurfaceView view2 = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
199
        case R.id.multiblurRangeSeek   : MultiblurSurfaceView view2 = this.findViewById(R.id.multiblurSurfaceView);
147 200
                                         view2.getRenderer().setRange(progress);
148 201
                                         break;
149 202

  
......
165 218
    CheckBox box = (CheckBox)view;
166 219
    int id = box.getId();
167 220
    boolean checked = box.isChecked();
168
    MultiblurSurfaceView sView = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
221
    MultiblurSurfaceView sView = this.findViewById(R.id.multiblurSurfaceView);
169 222

  
170 223
    switch(id)
171 224
      {
......
180 233
      }
181 234
    }
182 235

  
183
///////////////////////////////////////////////////////////////////////////////////////////////////
184

  
185
  public void quality0(View v)
186
    {
187
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
188
    MultiblurRenderer renderer = view.getRenderer();
189
    renderer.setQuality(EffectQuality.HIGHEST);
190
    mQuality = EffectQuality.HIGHEST.ordinal();
191
    }
192

  
193
///////////////////////////////////////////////////////////////////////////////////////////////////
194

  
195
  public void quality1(View v)
196
    {
197
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
198
    MultiblurRenderer renderer = view.getRenderer();
199
    renderer.setQuality(EffectQuality.HIGH);
200
    mQuality = EffectQuality.HIGH.ordinal();
201
    }
202

  
203
///////////////////////////////////////////////////////////////////////////////////////////////////
204

  
205
  public void quality2(View v)
206
    {
207
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
208
    MultiblurRenderer renderer = view.getRenderer();
209
    renderer.setQuality(EffectQuality.MEDIUM);
210
    mQuality = EffectQuality.MEDIUM.ordinal();
211
    }
212

  
213
///////////////////////////////////////////////////////////////////////////////////////////////////
214

  
215
  public void quality3(View v)
216
    {
217
    MultiblurSurfaceView view = (MultiblurSurfaceView) this.findViewById(R.id.multiblurSurfaceView);
218
    MultiblurRenderer renderer = view.getRenderer();
219
    renderer.setQuality(EffectQuality.LOW);
220
    mQuality = EffectQuality.LOW.ordinal();
221
    }
222 236
}

Also available in: Unified diff