Project

General

Profile

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

examples / src / main / java / org / distorted / examples / meshfile / MeshFileActivity.java @ 099d8f8b

1 42aa970f 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.meshfile;
21
22
import android.app.Activity;
23
import android.opengl.GLSurfaceView;
24
import android.os.Bundle;
25 71c7624f Leszek Koltunski
import android.view.View;
26
import android.widget.AdapterView;
27
import android.widget.ArrayAdapter;
28
import android.widget.Spinner;
29 48c88f57 Leszek Koltunski
import android.widget.TextView;
30 42aa970f Leszek Koltunski
31
import org.distorted.examples.R;
32
import org.distorted.library.main.DistortedLibrary;
33
34
///////////////////////////////////////////////////////////////////////////////////////////////////
35
36 71c7624f Leszek Koltunski
public class MeshFileActivity extends Activity implements AdapterView.OnItemSelectedListener
37 42aa970f Leszek Koltunski
{
38 1af8e143 Leszek Koltunski
    private int mResource;
39 71c7624f Leszek Koltunski
    private String[] mNames = new String[] { "deferredjob",
40
                                             "meshjoin"   ,
41
                                             "predeform"  ,
42
                                             "cube2"      ,
43
                                             "cube3"      ,
44
                                             "cube4"      ,
45
                                             "cube5"      ,
46
                                             "pyra3"      ,
47
                                             "pyra4"      ,
48
                                             "pyra5"
49
                                           };
50
51
///////////////////////////////////////////////////////////////////////////////////////////////////
52
53 42aa970f Leszek Koltunski
    @Override
54
    protected void onCreate(Bundle icicle) 
55
      {
56
      super.onCreate(icicle);
57
      setContentView(R.layout.meshfilelayout);
58 71c7624f Leszek Koltunski
59
      Spinner meshSpinner  = findViewById(R.id.meshfileSpinner);
60
      meshSpinner.setOnItemSelectedListener(this);
61
62
      ArrayAdapter<String> adapterBitmap = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, mNames);
63
      adapterBitmap.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
64
      meshSpinner.setAdapter(adapterBitmap);
65 42aa970f Leszek Koltunski
      }
66
67
///////////////////////////////////////////////////////////////////////////////////////////////////
68
    
69
    @Override
70
    protected void onPause() 
71
      {
72
      GLSurfaceView view = this.findViewById(R.id.meshfileSurfaceView);
73
      view.onPause();
74
      DistortedLibrary.onPause();
75
      super.onPause();
76
      }
77
78
///////////////////////////////////////////////////////////////////////////////////////////////////
79
    
80
    @Override
81
    protected void onResume() 
82
      {
83
      super.onResume();
84
      GLSurfaceView view = this.findViewById(R.id.meshfileSurfaceView);
85
      view.onResume();
86 099d8f8b Leszek Koltunski
87
      if( mResource!=0 ) Open(null);
88 42aa970f Leszek Koltunski
      }
89
    
90
///////////////////////////////////////////////////////////////////////////////////////////////////
91
    
92
    @Override
93
    protected void onDestroy() 
94
      {
95
      DistortedLibrary.onDestroy();
96
      super.onDestroy();
97
      }
98 71c7624f Leszek Koltunski
99
///////////////////////////////////////////////////////////////////////////////////////////////////
100
101
    public void Open(View v)
102
      {
103 48c88f57 Leszek Koltunski
      MeshFileSurfaceView view = findViewById(R.id.meshfileSurfaceView);
104 71c7624f Leszek Koltunski
      MeshFileRenderer renderer = view.getRenderer();
105
106 1af8e143 Leszek Koltunski
      renderer.open(mResource);
107 48c88f57 Leszek Koltunski
108
      int bytes    = renderer.getBytes();
109
      int vertices = renderer.getVertices();
110
      long time    = renderer.getTime();
111
112
      TextView byt = findViewById(R.id.meshfileSize);
113
      TextView ver = findViewById(R.id.meshfileVertices);
114
      TextView tim = findViewById(R.id.meshfileTime);
115
116
      byt.setText( String.format("%d", bytes   ) );
117
      ver.setText( String.format("%d", vertices) );
118
      tim.setText( String.format("%d", time    ) );
119 71c7624f Leszek Koltunski
      }
120
121
///////////////////////////////////////////////////////////////////////////////////////////////////
122
123
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id)
124
      {
125
      if( parent.getId()==R.id.meshfileSpinner )
126
        {
127 1af8e143 Leszek Koltunski
        switch(pos)
128
          {
129
          case  0: mResource = R.raw.deferredjob; break;
130 acad428e Leszek Koltunski
          case  1: mResource = R.raw.meshjoin   ; break;
131 1af8e143 Leszek Koltunski
          case  2: mResource = R.raw.predeform  ; break;
132 acad428e Leszek Koltunski
          case  3: mResource = R.raw.cube2      ; break;
133
          case  4: mResource = R.raw.cube3      ; break;
134
          case  5: mResource = R.raw.cube4      ; break;
135
          case  6: mResource = R.raw.cube5      ; break;
136
          case  7: mResource = R.raw.pyra3      ; break;
137
          case  8: mResource = R.raw.pyra4      ; break;
138
          case  9: mResource = R.raw.pyra5      ; break;
139 1af8e143 Leszek Koltunski
          }
140 71c7624f Leszek Koltunski
        }
141
      }
142
143
///////////////////////////////////////////////////////////////////////////////////////////////////
144
145
    public void onNothingSelected(AdapterView<?> parent)
146
      {
147
      }
148 42aa970f Leszek Koltunski
}