Project

General

Profile

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

examples / src / main / java / org / distorted / examples / TableOfContents.java @ 44771819

1 bc0a685b 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 5068fa06 Leszek Koltunski
package org.distorted.examples;
21 427ab7bf Leszek Koltunski
22
import java.util.ArrayList;
23
import java.util.HashMap;
24
import java.util.List;
25
import java.util.Map;
26
27
import android.app.Activity;
28
import android.app.ListActivity;
29
import android.content.Intent;
30
import android.os.Bundle;
31
import android.util.SparseArray;
32
import android.view.View;
33
import android.widget.AdapterView;
34
import android.widget.AdapterView.OnItemClickListener;
35
import android.widget.SimpleAdapter;
36
37 7ba38011 Leszek Koltunski
import org.distorted.examples.aroundtheworld.AroundTheWorldActivity;
38 5068fa06 Leszek Koltunski
import org.distorted.examples.monalisa.MonaLisaActivity;
39
import org.distorted.examples.sink.SinkActivity;
40 10d53839 Leszek Koltunski
import org.distorted.examples.projection.ProjectionActivity;
41 5068fa06 Leszek Koltunski
import org.distorted.examples.deform.DeformActivity;
42
import org.distorted.examples.listener.ListenerActivity;
43 f988589e Leszek Koltunski
import org.distorted.examples.dynamic.DynamicActivity;
44 5068fa06 Leszek Koltunski
import org.distorted.examples.girl.GirlActivity;
45 f26ab2fd Leszek Koltunski
import org.distorted.examples.catanddog.CatAndDogActivity;
46 5068fa06 Leszek Koltunski
import org.distorted.examples.movingeffects.MovingEffectsActivity;
47
import org.distorted.examples.olimpic.OlimpicActivity;
48
import org.distorted.examples.differenteffects.DifferentEffectsActivity;
49
import org.distorted.examples.differentbitmaps.DifferentBitmapsActivity;
50 758303a3 Leszek Koltunski
import org.distorted.examples.effectqueue.EffectQueueActivity;
51 5068fa06 Leszek Koltunski
import org.distorted.examples.check.CheckActivity;
52
import org.distorted.examples.bean.BeanActivity;
53
import org.distorted.examples.fbo.FBOActivity;
54
import org.distorted.examples.starwars.StarWarsActivity;
55
import org.distorted.examples.cubes.CubesActivity;
56
import org.distorted.examples.quaternion.QuaternionActivity;
57 db5d943e Leszek Koltunski
import org.distorted.examples.matrix3d.Matrix3DActivity;
58 76a81b6a Leszek Koltunski
import org.distorted.examples.effects3d.Effects3DActivity;
59 862fcd79 Leszek Koltunski
import org.distorted.examples.plainmonalisa.PlainMonaLisaActivity;
60 a2cb31e9 Leszek Koltunski
import org.distorted.examples.save.SaveActivity;
61 175f355d Leszek Koltunski
import org.distorted.examples.flag.FlagActivity;
62 14122c52 Leszek Koltunski
import org.distorted.examples.wind.WindActivity;
63 03a2fd30 Leszek Koltunski
import org.distorted.examples.mirror.MirrorActivity;
64 43bda3db Leszek Koltunski
import org.distorted.examples.blur.BlurActivity;
65 58059374 Leszek Koltunski
import org.distorted.examples.multiblur.MultiblurActivity;
66 427ab7bf Leszek Koltunski
67
///////////////////////////////////////////////////////////////////////////////////////////////////
68
69
public class TableOfContents extends ListActivity 
70
  {
71
  private static final String ITEM_IMAGE = "item_image";
72
  private static final String ITEM_TITLE = "item_title";
73
  private static final String ITEM_SUBTITLE = "item_subtitle"; 
74
75
///////////////////////////////////////////////////////////////////////////////////////////////////
76
   
77
  @Override
78
  public void onCreate(Bundle savedInstanceState) 
79
   {
80
   super.onCreate(savedInstanceState);
81
   setContentView(R.layout.table_of_contents);
82
      
83 a2cb31e9 Leszek Koltunski
   final List<Map<String, Object>> data = new ArrayList<>();
84
   final SparseArray<Class<? extends Activity>> activityMapping = new SparseArray<>();
85 427ab7bf Leszek Koltunski
      
86
   int i = 0;
87
   
88
   {
89 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
90 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
91
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_monalisa));
92
      item.put(ITEM_SUBTITLE, getText(R.string.example_monalisa_subtitle));
93
      data.add(item);
94
      activityMapping.put(i++, MonaLisaActivity.class);        
95
   }
96
      
97
   {
98 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
99 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_sink);
100
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_sink));
101
      item.put(ITEM_SUBTITLE, getText(R.string.example_sink_subtitle));
102
      data.add(item);
103
      activityMapping.put(i++, SinkActivity.class);
104
   }
105
   
106
   {
107 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
108 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_bean);
109
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_bean));
110
      item.put(ITEM_SUBTITLE, getText(R.string.example_bean_subtitle));
111
      data.add(item);
112
      activityMapping.put(i++, BeanActivity.class);
113
   }
114
   
115
   {
116 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
117 10d53839 Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_projection);
118
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_projection));
119
      item.put(ITEM_SUBTITLE, getText(R.string.example_projection_subtitle));
120 427ab7bf Leszek Koltunski
      data.add(item);
121 10d53839 Leszek Koltunski
      activityMapping.put(i++, ProjectionActivity.class);
122 427ab7bf Leszek Koltunski
   }
123
         
124
   {
125 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
126 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_deform);
127
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_deform));
128
      item.put(ITEM_SUBTITLE, getText(R.string.example_deform_subtitle));
129
      data.add(item);
130
      activityMapping.put(i++, DeformActivity.class);
131
   }
132
  
133
   {
134 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
135 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_listener);
136
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_listener));
137
      item.put(ITEM_SUBTITLE, getText(R.string.example_listener_subtitle));
138
      data.add(item);
139
      activityMapping.put(i++, ListenerActivity.class);
140
   }
141
   
142
   {
143 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
144 f988589e Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_dynamic);
145
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_dynamic));
146
      item.put(ITEM_SUBTITLE, getText(R.string.example_dynamic_subtitle));
147 427ab7bf Leszek Koltunski
      data.add(item);
148 f988589e Leszek Koltunski
      activityMapping.put(i++, DynamicActivity.class);
149 427ab7bf Leszek Koltunski
   }
150
   
151
   {
152 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
153 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
154
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_girl));
155
      item.put(ITEM_SUBTITLE, getText(R.string.example_girl_subtitle));
156
      data.add(item);
157
      activityMapping.put(i++, GirlActivity.class);
158
   }
159
   
160
   {
161 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
162 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_macroblock);
163
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_macroblock));
164
      item.put(ITEM_SUBTITLE, getText(R.string.example_macroblock_subtitle));
165
      data.add(item);
166 f26ab2fd Leszek Koltunski
      activityMapping.put(i++, CatAndDogActivity.class);
167 427ab7bf Leszek Koltunski
   }
168
   
169
   {
170 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
171 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_movingeffects);
172
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_movingeffects));
173
      item.put(ITEM_SUBTITLE, getText(R.string.example_movingeffects_subtitle));
174
      data.add(item);
175
      activityMapping.put(i++, MovingEffectsActivity.class);
176
   }
177
   
178
   {
179 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
180 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_differenteffects);
181
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differenteffects));
182
      item.put(ITEM_SUBTITLE, getText(R.string.example_differenteffects_subtitle));
183
      data.add(item);
184
      activityMapping.put(i++, DifferentEffectsActivity.class);
185
   }
186
   
187
   {
188 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
189 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_differentbitmaps);
190
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_differentbitmaps));
191
      item.put(ITEM_SUBTITLE, getText(R.string.example_differentbitmaps_subtitle));
192
      data.add(item);
193
      activityMapping.put(i++, DifferentBitmapsActivity.class);
194
   }
195
   
196
   {
197 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
198 758303a3 Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_effectqueue);
199
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effectqueue));
200
      item.put(ITEM_SUBTITLE, getText(R.string.example_effectqueue_subtitle));
201 427ab7bf Leszek Koltunski
      data.add(item);
202 758303a3 Leszek Koltunski
      activityMapping.put(i++, EffectQueueActivity.class);
203 427ab7bf Leszek Koltunski
   }
204
   
205
   {
206 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
207 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_check);
208
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_check));
209
      item.put(ITEM_SUBTITLE, getText(R.string.example_check_subtitle));
210
      data.add(item);
211
      activityMapping.put(i++, CheckActivity.class);
212
   }
213
   
214
   {
215 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
216 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_fbo);
217
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_fbo));
218
      item.put(ITEM_SUBTITLE, getText(R.string.example_fbo_subtitle));
219
      data.add(item);
220
      activityMapping.put(i++, FBOActivity.class);
221
   }
222
      
223
   {
224 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
225 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_starwars);
226
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_starwars));
227
      item.put(ITEM_SUBTITLE, getText(R.string.example_starwars_subtitle));
228
      data.add(item);
229
      activityMapping.put(i++, StarWarsActivity.class);
230
   }
231
         
232
   {
233 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
234 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_olimpic);
235
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_olimpic));
236
      item.put(ITEM_SUBTITLE, getText(R.string.example_olimpic_subtitle));
237
      data.add(item);
238
      activityMapping.put(i++, OlimpicActivity.class);
239
   }
240
   
241
   {
242 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
243 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_quaternion);
244
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_quaternion));
245
      item.put(ITEM_SUBTITLE, getText(R.string.example_quaternion_subtitle));
246
      data.add(item);
247
      activityMapping.put(i++, QuaternionActivity.class);
248
   }
249
   
250
   {
251 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
252 427ab7bf Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_cubes);
253
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_cubes));
254
      item.put(ITEM_SUBTITLE, getText(R.string.example_cubes_subtitle));
255
      data.add(item);
256
      activityMapping.put(i++, CubesActivity.class);
257
   }
258
   
259
   {
260 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
261 db5d943e Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_matrix3d);
262
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_matrix3d));
263
      item.put(ITEM_SUBTITLE, getText(R.string.example_matrix3d_subtitle));
264 427ab7bf Leszek Koltunski
      data.add(item);
265 db5d943e Leszek Koltunski
      activityMapping.put(i++, Matrix3DActivity.class);
266 427ab7bf Leszek Koltunski
   }
267 862fcd79 Leszek Koltunski
268 08f92d82 Leszek Koltunski
   {
269
      final Map<String, Object> item = new HashMap<>();
270 76a81b6a Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_effects3d);
271
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_effects3d));
272
      item.put(ITEM_SUBTITLE, getText(R.string.example_effects3d_subtitle));
273 08f92d82 Leszek Koltunski
      data.add(item);
274 76a81b6a Leszek Koltunski
      activityMapping.put(i++, Effects3DActivity.class);
275 df77c72c Leszek Koltunski
   }
276
277 862fcd79 Leszek Koltunski
   {
278 a2cb31e9 Leszek Koltunski
      final Map<String, Object> item = new HashMap<>();
279 862fcd79 Leszek Koltunski
      item.put(ITEM_IMAGE, R.drawable.icon_example_monalisa);
280
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_plainmonalisa));
281
      item.put(ITEM_SUBTITLE, getText(R.string.example_plainmonalisa_subtitle));
282
      data.add(item);
283
      activityMapping.put(i++, PlainMonaLisaActivity.class);
284
   }
285 a2cb31e9 Leszek Koltunski
286
   {
287
      final Map<String, Object> item = new HashMap<>();
288
      item.put(ITEM_IMAGE, R.drawable.icon_example_girl);
289
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_save));
290
      item.put(ITEM_SUBTITLE, getText(R.string.example_save_subtitle));
291
      data.add(item);
292
      activityMapping.put(i++, SaveActivity.class);
293
   }
294
295 175f355d Leszek Koltunski
   {
296
      final Map<String, Object> item = new HashMap<>();
297
      item.put(ITEM_IMAGE, R.drawable.icon_example_flag);
298
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_flag));
299
      item.put(ITEM_SUBTITLE, getText(R.string.example_flag_subtitle));
300
      data.add(item);
301
      activityMapping.put(i++, FlagActivity.class);
302
   }
303
304 14122c52 Leszek Koltunski
   {
305
      final Map<String, Object> item = new HashMap<>();
306
      item.put(ITEM_IMAGE, R.drawable.icon_example_wind);
307
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_wind));
308
      item.put(ITEM_SUBTITLE, getText(R.string.example_wind_subtitle));
309
      data.add(item);
310
      activityMapping.put(i++, WindActivity.class);
311
   }
312
313 7ba38011 Leszek Koltunski
   {
314
      final Map<String, Object> item = new HashMap<>();
315
      item.put(ITEM_IMAGE, R.drawable.icon_example_aroundtheworld);
316
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_aroundtheworld));
317
      item.put(ITEM_SUBTITLE, getText(R.string.example_aroundtheworld_subtitle));
318
      data.add(item);
319
      activityMapping.put(i++, AroundTheWorldActivity.class);
320
   }
321
322 03a2fd30 Leszek Koltunski
   {
323
      final Map<String, Object> item = new HashMap<>();
324
      item.put(ITEM_IMAGE, R.drawable.icon_example_mirror);
325
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_mirror));
326
      item.put(ITEM_SUBTITLE, getText(R.string.example_mirror_subtitle));
327
      data.add(item);
328
      activityMapping.put(i++, MirrorActivity.class);
329
   }
330
331 43bda3db Leszek Koltunski
   {
332
      final Map<String, Object> item = new HashMap<>();
333
      item.put(ITEM_IMAGE, R.drawable.icon_example_blur);
334
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_blur));
335
      item.put(ITEM_SUBTITLE, getText(R.string.example_blur_subtitle));
336
      data.add(item);
337
      activityMapping.put(i++, BlurActivity.class);
338
   }
339
340 58059374 Leszek Koltunski
   {
341
      final Map<String, Object> item = new HashMap<>();
342
      item.put(ITEM_IMAGE, R.drawable.icon_example_multiblur);
343
      item.put(ITEM_TITLE, (i+1)+". "+getText(R.string.example_multiblur));
344
      item.put(ITEM_SUBTITLE, getText(R.string.example_multiblur_subtitle));
345
      data.add(item);
346
      activityMapping.put(i++, MultiblurActivity.class);
347
   }
348
349 427ab7bf Leszek Koltunski
   final SimpleAdapter dataAdapter = new SimpleAdapter(this, data, R.layout.toc_item, new String[] {ITEM_IMAGE, ITEM_TITLE, ITEM_SUBTITLE}, new int[] {R.id.Image, R.id.Title, R.id.SubTitle});
350
   setListAdapter(dataAdapter);  
351
      
352
   getListView().setOnItemClickListener(new OnItemClickListener() 
353
     {
354
     @Override
355
     public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
356
      {
357
      final Class<? extends Activity> activityToLaunch = activityMapping.get(position);
358
            
359
      if (activityToLaunch != null)
360
        {
361
        final Intent launchIntent = new Intent(TableOfContents.this, activityToLaunch);
362
        startActivity(launchIntent);
363
        }            
364
      }
365
     });
366
   }  
367
  }
368
369
///////////////////////////////////////////////////////////////////////////////////////////////////