Revision aedd9013
Added by Leszek Koltunski almost 7 years ago
src/main/java/org/distorted/examples/stencil/StencilActivity.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
import android.app.Activity; |
23 | 23 |
import android.os.Bundle; |
24 |
import android.view.View; |
|
24 | 25 |
|
26 |
import org.distorted.examples.R; |
|
25 | 27 |
import org.distorted.library.Distorted; |
26 | 28 |
|
27 | 29 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
28 | 30 |
|
29 | 31 |
public class StencilActivity extends Activity |
30 | 32 |
{ |
31 |
private StencilSurfaceView mView;
|
|
33 |
private boolean mScreen;
|
|
32 | 34 |
|
33 | 35 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
34 | 36 |
|
35 | 37 |
@Override |
36 |
protected void onCreate(Bundle icicle)
|
|
38 |
protected void onCreate(Bundle savedState)
|
|
37 | 39 |
{ |
38 |
super.onCreate(icicle); |
|
39 |
mView = new StencilSurfaceView(this); |
|
40 |
setContentView(mView); |
|
40 |
super.onCreate(savedState); |
|
41 |
setContentView(R.layout.stencillayout); |
|
42 |
|
|
43 |
if( savedState==null ) |
|
44 |
{ |
|
45 |
mScreen = true; |
|
46 |
} |
|
41 | 47 |
} |
42 | 48 |
|
43 | 49 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
45 | 51 |
@Override |
46 | 52 |
protected void onPause() |
47 | 53 |
{ |
48 |
mView.onPause(); |
|
54 |
StencilSurfaceView view = (StencilSurfaceView) this.findViewById(R.id.stencilSurfaceView); |
|
55 |
|
|
56 |
view.onPause(); |
|
49 | 57 |
Distorted.onPause(); |
50 | 58 |
super.onPause(); |
51 | 59 |
} |
... | ... | |
55 | 63 |
@Override |
56 | 64 |
protected void onResume() |
57 | 65 |
{ |
66 |
StencilSurfaceView view = (StencilSurfaceView) this.findViewById(R.id.stencilSurfaceView); |
|
67 |
|
|
58 | 68 |
super.onResume(); |
59 |
mView.onResume();
|
|
69 |
view.onResume();
|
|
60 | 70 |
} |
61 | 71 |
|
62 | 72 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
... | ... | |
67 | 77 |
Distorted.onDestroy(); |
68 | 78 |
super.onDestroy(); |
69 | 79 |
} |
70 |
|
|
80 |
|
|
81 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
82 |
|
|
83 |
public void Screen(View v) |
|
84 |
{ |
|
85 |
StencilSurfaceView view = (StencilSurfaceView) this.findViewById(R.id.stencilSurfaceView); |
|
86 |
StencilRenderer renderer = view.getRenderer(); |
|
87 |
|
|
88 |
renderer.setScreen(true); |
|
89 |
mScreen = true; |
|
90 |
} |
|
91 |
|
|
92 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
93 |
|
|
94 |
public void Framebuffer(View v) |
|
95 |
{ |
|
96 |
StencilSurfaceView view = (StencilSurfaceView) this.findViewById(R.id.stencilSurfaceView); |
|
97 |
StencilRenderer renderer = view.getRenderer(); |
|
98 |
|
|
99 |
renderer.setScreen(false); |
|
100 |
mScreen = false; |
|
101 |
} |
|
102 |
|
|
103 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
104 |
|
|
105 |
@Override |
|
106 |
public void onSaveInstanceState(Bundle savedInstanceState) |
|
107 |
{ |
|
108 |
super.onSaveInstanceState(savedInstanceState); |
|
109 |
savedInstanceState.putBoolean("screen", mScreen); |
|
110 |
} |
|
111 |
|
|
112 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
113 |
|
|
114 |
@Override |
|
115 |
public void onRestoreInstanceState(Bundle savedInstanceState) |
|
116 |
{ |
|
117 |
super.onRestoreInstanceState(savedInstanceState); |
|
118 |
|
|
119 |
mScreen = savedInstanceState.getBoolean("screen"); |
|
120 |
|
|
121 |
if(mScreen) Screen(null); |
|
122 |
else Framebuffer(null); |
|
123 |
} |
|
71 | 124 |
} |
Also available in: Unified diff
First try to convert the Stencil app to a dual (directly to Screen / through intermediate Framebuffer) mode.
Doesn't work yet ( API is inconvenient / plain wrong )