Project

General

Profile

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

examples / src / main / java / org / distorted / examples / transparency / TransparencyActivity.java @ 664a0e45

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.transparency;
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.SeekBar;
27

    
28
import org.distorted.examples.R;
29
import org.distorted.library.main.Distorted;
30

    
31
///////////////////////////////////////////////////////////////////////////////////////////////////
32

    
33
public class TransparencyActivity extends Activity implements SeekBar.OnSeekBarChangeListener
34
{
35
    private int mRenderFirst;
36

    
37
///////////////////////////////////////////////////////////////////////////////////////////////////
38

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

    
45
      SeekBar barRed    = (SeekBar)findViewById(R.id.transparencySeekRed);
46
      SeekBar barYellow = (SeekBar)findViewById(R.id.transparencySeekYellow);
47

    
48
      barRed.setOnSeekBarChangeListener(this);
49
      barYellow.setOnSeekBarChangeListener(this);
50

    
51
      if( savedState==null )
52
        {
53
        barRed.setProgress(50);
54
        barYellow.setProgress(50);
55
        privateRenderFirst(0);
56
        }
57
      }
58

    
59
///////////////////////////////////////////////////////////////////////////////////////////////////
60
    
61
    @Override
62
    protected void onPause() 
63
      {
64
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.transparencySurfaceView);
65
      view.onPause();
66
      Distorted.onPause();
67
      super.onPause();
68
      }
69

    
70
///////////////////////////////////////////////////////////////////////////////////////////////////
71
    
72
    @Override
73
    protected void onResume() 
74
      {
75
      super.onResume();
76
      GLSurfaceView view = (GLSurfaceView) this.findViewById(R.id.transparencySurfaceView);
77
      view.onResume();
78
      }
79
    
80
///////////////////////////////////////////////////////////////////////////////////////////////////
81
    
82
    @Override
83
    protected void onDestroy() 
84
      {
85
      Distorted.onDestroy();  
86
      super.onDestroy();
87
      }
88

    
89
///////////////////////////////////////////////////////////////////////////////////////////////////
90

    
91
    @Override
92
    public void onSaveInstanceState(Bundle savedInstanceState)
93
      {
94
      super.onSaveInstanceState(savedInstanceState);
95
      savedInstanceState.putInt("render", mRenderFirst);
96
      }
97

    
98
///////////////////////////////////////////////////////////////////////////////////////////////////
99

    
100
    @Override
101
    public void onRestoreInstanceState(Bundle savedInstanceState)
102
      {
103
      super.onRestoreInstanceState(savedInstanceState);
104

    
105
      mRenderFirst= savedInstanceState.getInt("render");
106
      privateRenderFirst(mRenderFirst);
107
      }
108

    
109
///////////////////////////////////////////////////////////////////////////////////////////////////
110

    
111
    public void onProgressChanged(SeekBar bar, int progress, boolean fromUser)
112
      {
113
      switch (bar.getId())
114
        {
115
        case R.id.transparencySeekRed:    TransparencySurfaceView view0 = (TransparencySurfaceView) this.findViewById(R.id.transparencySurfaceView);
116
                                          view0.getRenderer().setTransparency(0, (float)progress/100 );
117
                                          break;
118
        case R.id.transparencySeekYellow: TransparencySurfaceView view1 = (TransparencySurfaceView) this.findViewById(R.id.transparencySurfaceView);
119
                                          view1.getRenderer().setTransparency(1, (float)progress/100 );
120
                                          break;
121
        }
122
      }
123

    
124
///////////////////////////////////////////////////////////////////////////////////////////////////
125

    
126
    public void onStartTrackingTouch(SeekBar bar) { }
127

    
128
///////////////////////////////////////////////////////////////////////////////////////////////////
129

    
130
    public void onStopTrackingTouch(SeekBar bar)  { }
131

    
132
///////////////////////////////////////////////////////////////////////////////////////////////////
133

    
134
    public void renderFirst(View v)
135
      {
136
      switch(v.getId())
137
        {
138
        case R.id.transparencyRed   : privateRenderFirst(0); break;
139
        case R.id.transparencyYellow: privateRenderFirst(1); break;
140
        }
141
      }
142

    
143
///////////////////////////////////////////////////////////////////////////////////////////////////
144

    
145
    private void privateRenderFirst(int index)
146
      {
147
      TransparencySurfaceView view = (TransparencySurfaceView) this.findViewById(R.id.transparencySurfaceView);
148
      TransparencyRenderer renderer= view.getRenderer();
149

    
150
      renderer.setRenderFirst(index);
151
      mRenderFirst = index;
152
      }
153
}
(1-1/3)