Project

General

Profile

« Previous | Next » 

Revision 64558e4e

Added by Leszek Koltunski over 5 years ago

Rename the old 'Cubes' app to 'Inflate' - this now combines the testing functionality of former 'Cubes' and 'Inflate' apps.
The old 'Inflate' in turn renamed to 'Earth' - here we are going to show an Earth rotating in space.

View differences:

src/main/java/org/distorted/examples/inflate/InflateActivity2.java
19 19

  
20 20
package org.distorted.examples.inflate;
21 21

  
22
import org.distorted.library.main.Distorted;
23
import org.distorted.examples.R;
24
import org.distorted.library.main.DistortedTexture;
25
import org.distorted.library.mesh.MeshBase;
26
import org.distorted.library.mesh.MeshCubes;
27
import org.distorted.library.mesh.MeshFlat;
28
import org.distorted.library.mesh.MeshQuad;
29
import org.distorted.library.mesh.MeshSphere;
30

  
22 31
import android.app.Activity;
23 32
import android.graphics.Bitmap;
24 33
import android.graphics.BitmapFactory;
......
26 35
import android.graphics.Paint;
27 36
import android.opengl.GLSurfaceView;
28 37
import android.os.Bundle;
38
import android.view.View;
39
import android.widget.AdapterView;
40
import android.widget.ArrayAdapter;
29 41
import android.widget.SeekBar;
42
import android.widget.Spinner;
30 43
import android.widget.TextView;
31 44

  
32
import org.distorted.examples.R;
33
import org.distorted.library.main.Distorted;
34
import org.distorted.library.main.DistortedTexture;
35
import org.distorted.library.mesh.MeshBase;
36
import org.distorted.library.mesh.MeshCubes;
37
import org.distorted.library.mesh.MeshFlat;
38
import org.distorted.library.mesh.MeshQuad;
39
import org.distorted.library.mesh.MeshSphere;
40

  
41 45
import java.io.IOException;
42 46
import java.io.InputStream;
43 47

  
44 48
///////////////////////////////////////////////////////////////////////////////////////////////////
45 49

  
46
public class InflateActivity2 extends Activity implements SeekBar.OnSeekBarChangeListener
50
public class InflateActivity2 extends Activity implements SeekBar.OnSeekBarChangeListener, AdapterView.OnItemSelectedListener
47 51
{
48
    private DistortedTexture mTexture;
49
    private MeshBase mMesh;
50
    private TextView mTextLevel;
52
    private int mNumCols = 3;
53
    private int mNumRows = 3;
54
    private int mNumSlic = 1;
51 55
    private int mBitmapID;
52 56
    private Bitmap mBitmap;
53
    private int mNumCols;
54
    private int mNumRows;
55
    private int mNumSlic;
57
    private TextView mTextLevel;
58
    private DistortedTexture mTexture;
59
    private MeshBase mMesh;
56 60

  
57 61
///////////////////////////////////////////////////////////////////////////////////////////////////
58 62
    
......
85 89
      Distorted.onDestroy();  
86 90
      super.onDestroy();
87 91
      }
88
 
92

  
89 93
///////////////////////////////////////////////////////////////////////////////////////////////////
90 94

  
91 95
    @Override
......
105 109
      switch(objectType)
106 110
        {
107 111
        case 0: mMesh = new MeshCubes(mNumCols, str, mNumSlic);
108
                break;
112
          break;
109 113
        case 1: mMesh = new MeshFlat(mNumCols,mNumRows);
110
                break;
114
          break;
111 115
        case 2: mMesh = new MeshSphere(mNumRows);
112
                break;
116
          break;
113 117
        case 3: mMesh = new MeshQuad();
114
                break;
118
          break;
115 119
        }
116 120

  
117
      mTexture= new DistortedTexture(mNumCols,mNumRows);
121
      mTexture = new DistortedTexture(mNumCols,mNumRows);
118 122

  
119 123
      setContentView(R.layout.inflatelayout);
120 124

  
121
      mTextLevel = findViewById(R.id.inflateText);
122
      SeekBar levelBar = findViewById(R.id.inflateLevel);
123
      levelBar.setOnSeekBarChangeListener(this);
125
      Spinner renderSpinner  = findViewById(R.id.inflateSpinnerMode);
126
      renderSpinner.setOnItemSelectedListener(this);
124 127

  
125
      InflateSurfaceView view = this.findViewById(R.id.inflateSurfaceView);
126
      float level = view.getRenderer().setLevel(50);
127
      mTextLevel.setText(getString(R.string.inflate_placeholder, level));
128
      levelBar.setProgress(50);
129
      }
128
      String[] objectBitmap = new String[] { "Render: Normal", "Render: OIT" };
129

  
130
      ArrayAdapter<String> adapterBitmap = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectBitmap);
131
      adapterBitmap.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
132
      renderSpinner.setAdapter(adapterBitmap);
133

  
134
      mTextLevel = findViewById(R.id.inflateInflateText);
130 135

  
136
      SeekBar transparencyBar = findViewById(R.id.inflateTransparency);
137
      transparencyBar.setOnSeekBarChangeListener(this);
138
      transparencyBar.setProgress(50);
139

  
140
      SeekBar inflateBar = findViewById(R.id.inflateInflateLevel);
141
      inflateBar.setOnSeekBarChangeListener(this);
142
      inflateBar.setProgress(50);
143
      }
131 144

  
132 145
///////////////////////////////////////////////////////////////////////////////////////////////////
133 146

  
......
176 189
      return mBitmap;
177 190
      }
178 191

  
192
///////////////////////////////////////////////////////////////////////////////////////////////////
193

  
194
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
195
      {
196
      InflateSurfaceView v = this.findViewById(R.id.inflateSurfaceView);
197
      InflateRenderer renderer = v.getRenderer();
198

  
199
      switch(parent.getId())
200
        {
201
        case R.id.inflateSpinnerMode: renderer.setRenderModeToOIT(pos==1);
202
                                      break;
203
        }
204
      }
205

  
206
///////////////////////////////////////////////////////////////////////////////////////////////////
207

  
208
    public void onNothingSelected(AdapterView<?> parent)
209
      {
210
      }
211

  
179 212
///////////////////////////////////////////////////////////////////////////////////////////////////
180 213

  
181 214
    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
182 215
      {
183 216
      switch (bar.getId())
184 217
        {
185
        case R.id.inflateLevel: InflateSurfaceView view = this.findViewById(R.id.inflateSurfaceView);
186
                                float level = view.getRenderer().setLevel(progress);
187
                                mTextLevel.setText(getString(R.string.inflate_placeholder, level));
188
                                break;
218
        case R.id.inflateTransparency: InflateSurfaceView v1 = this.findViewById(R.id.inflateSurfaceView);
219
                                       v1.getRenderer().setTransparency(progress);
220
                                       break;
221
        case R.id.inflateInflateLevel: InflateSurfaceView v2 = this.findViewById(R.id.inflateSurfaceView);
222
                                       float level = v2.getRenderer().setLevel(progress);
223
                                       mTextLevel.setText(getString(R.string.inflate_placeholder, level));
224
                                       break;
189 225
        }
190 226
      }
191 227

  

Also available in: Unified diff