Revision 50ac40a6
Added by Leszek Koltunski over 8 years ago
src/main/java/org/distorted/examples/cubes/CubesActivity.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
import org.distorted.library.Distorted; |
23 | 23 |
import org.distorted.examples.R; |
24 |
import org.distorted.library.DistortedBitmap; |
|
25 |
import org.distorted.library.DistortedCubes; |
|
26 |
import org.distorted.library.DistortedObject; |
|
24 | 27 |
|
25 | 28 |
import android.app.Activity; |
26 | 29 |
import android.opengl.GLSurfaceView; |
27 | 30 |
import android.os.Bundle; |
28 | 31 |
import android.view.Gravity; |
29 | 32 |
import android.view.View; |
33 |
import android.widget.AdapterView; |
|
34 |
import android.widget.ArrayAdapter; |
|
30 | 35 |
import android.widget.Button; |
31 | 36 |
import android.widget.LinearLayout; |
32 | 37 |
import android.widget.NumberPicker; |
33 | 38 |
import android.widget.NumberPicker.OnValueChangeListener; |
39 |
import android.widget.Spinner; |
|
34 | 40 |
import android.widget.TableRow; |
35 | 41 |
|
36 | 42 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
37 | 43 |
|
38 |
public class CubesActivity extends Activity implements View.OnClickListener |
|
44 |
public class CubesActivity extends Activity implements View.OnClickListener, AdapterView.OnItemSelectedListener
|
|
39 | 45 |
{ |
40 |
private static int mNumCols = 3; |
|
41 |
private static int mNumRows = 3; |
|
42 |
|
|
43 | 46 |
private static final int COLOR_OFF = 0xffffe81f; |
44 | 47 |
private static final int COLOR_ON = 0xff0000ff; |
45 |
|
|
48 |
|
|
49 |
private int mNumCols = 3; |
|
50 |
private int mNumRows = 3; |
|
46 | 51 |
private NumberPicker mColsPicker, mRowsPicker; |
47 | 52 |
private LinearLayout mLay; |
48 |
private static boolean[] mShape; |
|
49 |
|
|
53 |
private boolean[] mShape; |
|
54 |
private DistortedObject mObject; |
|
55 |
private int mObjectType; |
|
56 |
|
|
50 | 57 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
51 | 58 |
|
52 | 59 |
@Override |
... | ... | |
54 | 61 |
{ |
55 | 62 |
super.onCreate(savedState); |
56 | 63 |
|
57 |
setContentView(R.layout.cubes1layout);
|
|
64 |
setContentView(R.layout.objectpickerlayout);
|
|
58 | 65 |
|
59 |
mLay = (LinearLayout)findViewById(R.id.buttongrid); |
|
66 |
mLay = (LinearLayout)findViewById(R.id.objectpicker_buttongrid);
|
|
60 | 67 |
|
61 |
mColsPicker = (NumberPicker)findViewById(R.id.colsPicker);
|
|
62 |
mRowsPicker = (NumberPicker)findViewById(R.id.rowsPicker);
|
|
68 |
mColsPicker = (NumberPicker)findViewById(R.id.objectpicker_cols);
|
|
69 |
mRowsPicker = (NumberPicker)findViewById(R.id.objectpicker_rows);
|
|
63 | 70 |
|
64 | 71 |
mColsPicker.setMaxValue(10); |
65 | 72 |
mColsPicker.setMinValue( 0); |
... | ... | |
83 | 90 |
setGrid(); |
84 | 91 |
} |
85 | 92 |
}); |
86 |
} |
|
87 | 93 |
|
88 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
94 |
mObjectType = 0;
|
|
89 | 95 |
|
90 |
public static int getCols() |
|
91 |
{ |
|
92 |
return mNumCols; |
|
93 |
} |
|
96 |
Spinner typeSpinner = (Spinner)findViewById(R.id.objectpicker_spinnerType); |
|
97 |
typeSpinner.setOnItemSelectedListener(this); |
|
94 | 98 |
|
95 |
///////////////////////////////////////////////////////////////////////////////////////////////////
|
|
99 |
String[] objectType = new String[] {"DistortedCubes", "DistortedBitmap"};
|
|
96 | 100 |
|
97 |
public static String getShape() |
|
98 |
{ |
|
99 |
String str = ""; |
|
100 |
|
|
101 |
for(int i=0; i<mNumRows*mNumCols; i++) |
|
102 |
str += mShape[i] ? "1" : "0"; |
|
103 |
|
|
104 |
//android.util.Log.d("CUBES", str); |
|
105 |
|
|
106 |
return str; |
|
101 |
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectType); |
|
102 |
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
|
103 |
typeSpinner.setAdapter(adapter); |
|
107 | 104 |
} |
108 |
|
|
105 |
|
|
109 | 106 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
110 | 107 |
|
111 |
public void setGrid()
|
|
108 |
private void setGrid()
|
|
112 | 109 |
{ |
113 | 110 |
mNumCols = mColsPicker.getValue(); |
114 | 111 |
mNumRows = mRowsPicker.getValue(); |
... | ... | |
153 | 150 |
} |
154 | 151 |
} |
155 | 152 |
|
153 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
154 |
|
|
155 |
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) |
|
156 |
{ |
|
157 |
switch(parent.getId()) |
|
158 |
{ |
|
159 |
case R.id.objectpicker_spinnerType: mObjectType = pos; break; |
|
160 |
} |
|
161 |
} |
|
162 |
|
|
163 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
164 |
|
|
165 |
public void onNothingSelected(AdapterView<?> parent) |
|
166 |
{ |
|
167 |
} |
|
168 |
|
|
156 | 169 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
157 | 170 |
|
158 | 171 |
public void onClick(View view) |
... | ... | |
209 | 222 |
|
210 | 223 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
211 | 224 |
|
212 |
public void Continue(View v) |
|
213 |
{ |
|
214 |
setContentView(R.layout.cubes2layout); |
|
215 |
} |
|
225 |
public void Create(View v) |
|
226 |
{ |
|
227 |
if( mObjectType==1 ) |
|
228 |
{ |
|
229 |
mObject = new DistortedBitmap(100,100,mNumCols); |
|
230 |
} |
|
231 |
else |
|
232 |
{ |
|
233 |
String str = ""; |
|
234 |
|
|
235 |
for(int i=0; i<mNumRows*mNumCols; i++) |
|
236 |
str += mShape[i] ? "1" : "0"; |
|
237 |
|
|
238 |
mObject = new DistortedCubes(mNumCols, str, 10); |
|
239 |
} |
|
240 |
|
|
241 |
setContentView(R.layout.cubeslayout); |
|
242 |
} |
|
243 |
|
|
244 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
245 |
|
|
246 |
public DistortedObject getObject() |
|
247 |
{ |
|
248 |
return mObject; |
|
249 |
} |
|
216 | 250 |
} |
src/main/java/org/distorted/examples/cubes/CubesRenderer.java | ||
---|---|---|
59 | 59 |
{ |
60 | 60 |
mView = v; |
61 | 61 |
|
62 |
mObject = new DistortedCubes( CubesActivity.getCols(), CubesActivity.getShape(), 100);
|
|
62 |
mObject = ((CubesActivity)v.getContext()).getObject();
|
|
63 | 63 |
|
64 | 64 |
mObjWidth = mObject.getWidth(); |
65 | 65 |
mObjHeight= mObject.getHeight(); |
src/main/java/org/distorted/examples/effects2d/Effects2DActivity.java | ||
---|---|---|
43 | 43 |
|
44 | 44 |
public class Effects2DActivity extends Activity implements AdapterView.OnItemSelectedListener |
45 | 45 |
{ |
46 |
private Spinner mID, mName, mType; |
|
47 |
private static ArrayAdapter<String> mAdapterName, mAdapterType; |
|
46 |
private Spinner mAdd, mID, mName, mType;
|
|
47 |
private static ArrayAdapter<String> mAdapterAdd, mAdapterName, mAdapterType;
|
|
48 | 48 |
private static ArrayAdapter<Long> mAdapterID; |
49 | 49 |
|
50 | 50 |
private int mPosID, mPosName, mPosType; |
... | ... | |
65 | 65 |
mPosName = 0; |
66 | 66 |
mPosType = 0; |
67 | 67 |
|
68 |
mAdd = (Spinner)findViewById(R.id.effects2d_spinnerAdd ); |
|
68 | 69 |
mID = (Spinner)findViewById(R.id.effects2d_spinnerID ); |
69 | 70 |
mName = (Spinner)findViewById(R.id.effects2d_spinnerName); |
70 | 71 |
mType = (Spinner)findViewById(R.id.effects2d_spinnerType); |
71 | 72 |
|
73 |
mAdd.setOnItemSelectedListener(this); |
|
72 | 74 |
mID.setOnItemSelectedListener(this); |
73 | 75 |
mName.setOnItemSelectedListener(this); |
74 | 76 |
mType.setOnItemSelectedListener(this); |
... | ... | |
83 | 85 |
|
84 | 86 |
String[] itemsType = new String[] {"VERTEX", "FRAGMENT"}; |
85 | 87 |
|
88 |
mAdapterAdd = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsName); |
|
89 |
mAdapterAdd.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
|
90 |
mAdd.setAdapter(mAdapterAdd); |
|
91 |
|
|
86 | 92 |
mAdapterID = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, itemsID); |
87 | 93 |
mAdapterID.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
88 | 94 |
mID.setAdapter(mAdapterID); |
... | ... | |
136 | 142 |
Distorted.onDestroy(); |
137 | 143 |
super.onDestroy(); |
138 | 144 |
} |
139 |
|
|
140 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
141 |
|
|
142 |
public void Distort(View v) |
|
143 |
{ |
|
144 |
Effects2DSurfaceView.setEffect(0); |
|
145 |
} |
|
146 |
|
|
147 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
148 |
|
|
149 |
public void Sink(View v) |
|
150 |
{ |
|
151 |
Effects2DSurfaceView.setEffect(1); |
|
152 |
} |
|
153 |
|
|
154 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
155 |
|
|
156 |
public void Transparency(View v) |
|
157 |
{ |
|
158 |
Effects2DSurfaceView.setEffect(2); |
|
159 |
} |
|
160 |
|
|
161 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
162 |
|
|
163 |
public void Macroblock(View v) |
|
164 |
{ |
|
165 |
Effects2DSurfaceView.setEffect(3); |
|
166 |
} |
|
167 |
|
|
168 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
169 |
|
|
170 |
public void Chroma(View v) |
|
171 |
{ |
|
172 |
Effects2DSurfaceView.setEffect(4); |
|
173 |
} |
|
174 | 145 |
|
175 | 146 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
176 | 147 |
|
... | ... | |
178 | 149 |
{ |
179 | 150 |
switch(parent.getId()) |
180 | 151 |
{ |
152 |
case R.id.effects2d_spinnerAdd : Effects2DSurfaceView.setEffect(pos); break; |
|
181 | 153 |
case R.id.effects2d_spinnerID : mPosID = pos; break; |
182 | 154 |
case R.id.effects2d_spinnerName: mPosName = pos; break; |
183 | 155 |
case R.id.effects2d_spinnerType: mPosType = pos; break; |
src/main/java/org/distorted/examples/olimpic/OlimpicRenderer.java | ||
---|---|---|
103 | 103 |
tmp = (DistortedBitmap)mCircleNode[i].getObject(); |
104 | 104 |
tmp.move( new Static3D(positions[2*i], positions[2*i+1], 0) ); |
105 | 105 |
tmp.rotate( mRot, axis, center ); |
106 |
tmp.chroma( new Static1D(0.8f), new Static3D(colors[3*i],colors[3*i+1], colors[3*i+2]) );
|
|
106 |
tmp.chroma( new Static1D(0.5f), new Static3D(colors[3*i],colors[3*i+1], colors[3*i+2]) );
|
|
107 | 107 |
} |
108 | 108 |
} |
109 | 109 |
|
src/main/java/org/distorted/examples/vertex3d/Vertex3DActivity.java | ||
---|---|---|
24 | 24 |
import android.os.Bundle; |
25 | 25 |
import android.view.Gravity; |
26 | 26 |
import android.view.View; |
27 |
import android.widget.AdapterView; |
|
28 |
import android.widget.ArrayAdapter; |
|
27 | 29 |
import android.widget.Button; |
28 | 30 |
import android.widget.LinearLayout; |
29 | 31 |
import android.widget.NumberPicker; |
30 | 32 |
import android.widget.SeekBar; |
31 | 33 |
import android.widget.SeekBar.OnSeekBarChangeListener; |
34 |
import android.widget.Spinner; |
|
32 | 35 |
import android.widget.TableRow; |
33 | 36 |
import android.widget.TextView; |
34 | 37 |
|
35 | 38 |
import org.distorted.examples.R; |
36 | 39 |
import org.distorted.library.Distorted; |
40 |
import org.distorted.library.DistortedBitmap; |
|
41 |
import org.distorted.library.DistortedCubes; |
|
42 |
import org.distorted.library.DistortedObject; |
|
37 | 43 |
import org.distorted.library.EffectNames; |
38 | 44 |
|
39 | 45 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
40 | 46 |
|
41 |
public class Vertex3DActivity extends Activity implements OnSeekBarChangeListener, View.OnClickListener |
|
47 |
public class Vertex3DActivity extends Activity |
|
48 |
implements OnSeekBarChangeListener, |
|
49 |
View.OnClickListener, |
|
50 |
AdapterView.OnItemSelectedListener |
|
42 | 51 |
{ |
52 |
private static final int COLOR_OFF = 0xffffe81f; |
|
53 |
private static final int COLOR_ON = 0xff0000ff; |
|
54 |
|
|
43 | 55 |
private boolean firstScreen; |
44 | 56 |
|
45 | 57 |
// fields needed for the first 'pick-a-shape' screen |
46 | 58 |
// |
47 |
private static int mNumCols = 3; |
|
48 |
private static int mNumRows = 3; |
|
49 |
|
|
50 |
private static final int COLOR_OFF = 0xffffe81f; |
|
51 |
private static final int COLOR_ON = 0xff0000ff; |
|
52 |
|
|
59 |
private int mNumCols = 3; |
|
60 |
private int mNumRows = 3; |
|
53 | 61 |
private NumberPicker mColsPicker, mRowsPicker; |
54 | 62 |
private LinearLayout mLay; |
55 |
private static boolean[] mShape;
|
|
63 |
private boolean[] mShape; |
|
56 | 64 |
|
57 | 65 |
// fields needed for the second 'apply vertex effects' screen |
58 | 66 |
// |
... | ... | |
70 | 78 |
private float fswirlA; |
71 | 79 |
private float fcenterX, fcenterY; |
72 | 80 |
|
81 |
private DistortedObject mObject; |
|
82 |
|
|
73 | 83 |
private EffectNames[] effects = new EffectNames[4]; |
74 |
|
|
84 |
private int mObjectType; |
|
85 |
|
|
75 | 86 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
76 | 87 |
|
77 | 88 |
@Override |
... | ... | |
79 | 90 |
{ |
80 | 91 |
super.onCreate(savedState); |
81 | 92 |
|
82 |
setContentView(R.layout.cubes1layout);
|
|
93 |
setContentView(R.layout.objectpickerlayout);
|
|
83 | 94 |
|
84 |
mLay = (LinearLayout)findViewById(R.id.buttongrid); |
|
95 |
mLay = (LinearLayout)findViewById(R.id.objectpicker_buttongrid);
|
|
85 | 96 |
|
86 |
mColsPicker = (NumberPicker)findViewById(R.id.colsPicker);
|
|
87 |
mRowsPicker = (NumberPicker)findViewById(R.id.rowsPicker);
|
|
97 |
mColsPicker = (NumberPicker)findViewById(R.id.objectpicker_cols);
|
|
98 |
mRowsPicker = (NumberPicker)findViewById(R.id.objectpicker_rows);
|
|
88 | 99 |
|
89 | 100 |
mColsPicker.setMaxValue(10); |
90 | 101 |
mColsPicker.setMinValue( 0); |
... | ... | |
110 | 121 |
}); |
111 | 122 |
|
112 | 123 |
firstScreen = true; |
113 |
} |
|
114 | 124 |
|
115 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
116 |
// 'first screen' methods |
|
125 |
mObjectType = 0; |
|
117 | 126 |
|
118 |
public static int getCols() |
|
119 |
{ |
|
120 |
return mNumCols; |
|
121 |
} |
|
122 |
|
|
123 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
124 |
|
|
125 |
public static String getShape() |
|
126 |
{ |
|
127 |
String str = ""; |
|
127 |
Spinner typeSpinner = (Spinner)findViewById(R.id.objectpicker_spinnerType); |
|
128 |
typeSpinner.setOnItemSelectedListener(this); |
|
128 | 129 |
|
129 |
for(int i=0; i<mNumRows*mNumCols; i++) |
|
130 |
str += mShape[i] ? "1" : "0"; |
|
130 |
String[] objectType = new String[] {"DistortedCubes", "DistortedBitmap"}; |
|
131 | 131 |
|
132 |
//android.util.Log.d("CUBES", str);
|
|
133 |
|
|
134 |
return str;
|
|
132 |
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectType);
|
|
133 |
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); |
|
134 |
typeSpinner.setAdapter(adapter);
|
|
135 | 135 |
} |
136 | 136 |
|
137 | 137 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
138 | 138 |
|
139 |
public void setGrid()
|
|
139 |
private void setGrid()
|
|
140 | 140 |
{ |
141 | 141 |
mNumCols = mColsPicker.getValue(); |
142 | 142 |
mNumRows = mRowsPicker.getValue(); |
... | ... | |
181 | 181 |
} |
182 | 182 |
} |
183 | 183 |
|
184 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
185 |
|
|
186 |
public DistortedObject getObject() |
|
187 |
{ |
|
188 |
return mObject; |
|
189 |
} |
|
190 |
|
|
184 | 191 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
185 | 192 |
|
186 | 193 |
public void onClick(View view) |
... | ... | |
193 | 200 |
|
194 | 201 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
195 | 202 |
|
196 |
public void Continue(View v)
|
|
203 |
public void Create(View v)
|
|
197 | 204 |
{ |
198 | 205 |
firstScreen = false; |
206 |
|
|
207 |
if( mObjectType==1 ) |
|
208 |
{ |
|
209 |
mObject = new DistortedBitmap(100,100,mNumCols); |
|
210 |
} |
|
211 |
else |
|
212 |
{ |
|
213 |
String str = ""; |
|
214 |
|
|
215 |
for(int i=0; i<mNumRows*mNumCols; i++) |
|
216 |
str += mShape[i] ? "1" : "0"; |
|
217 |
|
|
218 |
mObject = new DistortedCubes(mNumCols, str, 10); |
|
219 |
} |
|
220 |
|
|
199 | 221 |
setContentView(R.layout.vertex3dlayout); |
200 | 222 |
Default(null); |
201 | 223 |
} |
202 | 224 |
|
225 |
|
|
226 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
227 |
|
|
228 |
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) |
|
229 |
{ |
|
230 |
switch(parent.getId()) |
|
231 |
{ |
|
232 |
case R.id.objectpicker_spinnerType: mObjectType = pos; break; |
|
233 |
} |
|
234 |
} |
|
235 |
|
|
236 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
|
237 |
|
|
238 |
public void onNothingSelected(AdapterView<?> parent) |
|
239 |
{ |
|
240 |
} |
|
241 |
|
|
203 | 242 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
204 | 243 |
// 'second screen' methods |
205 | 244 |
|
src/main/java/org/distorted/examples/vertex3d/Vertex3DRenderer.java | ||
---|---|---|
145 | 145 |
{ |
146 | 146 |
mView = v; |
147 | 147 |
|
148 |
mObject = new DistortedCubes( Vertex3DActivity.getCols(), Vertex3DActivity.getShape(), SIZE); |
|
149 |
//mObject = new DistortedBitmap( SIZE, SIZE, 3); |
|
148 |
mObject = ((Vertex3DActivity)v.getContext()).getObject(); |
|
150 | 149 |
mCenter = new DistortedBitmap(SIZE, SIZE, 1); |
151 | 150 |
|
152 | 151 |
mObjWidth = mObject.getWidth(); |
src/main/res/layout/cubes1layout.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
3 |
android:layout_width="match_parent" |
|
4 |
android:layout_height="match_parent" |
|
5 |
android:gravity="fill_vertical" |
|
6 |
android:orientation="vertical" > |
|
7 |
|
|
8 |
<LinearLayout |
|
9 |
android:layout_width="match_parent" |
|
10 |
android:layout_height="wrap_content" |
|
11 |
android:gravity="center_vertical|center_horizontal" > |
|
12 |
|
|
13 |
<NumberPicker |
|
14 |
android:id="@+id/rowsPicker" |
|
15 |
android:layout_width="wrap_content" |
|
16 |
android:layout_height="match_parent" |
|
17 |
android:layout_marginRight="10dp" /> |
|
18 |
|
|
19 |
<NumberPicker |
|
20 |
android:id="@+id/colsPicker" |
|
21 |
android:layout_width="wrap_content" |
|
22 |
android:layout_height="match_parent" |
|
23 |
android:paddingRight="10dp" /> |
|
24 |
|
|
25 |
<Button |
|
26 |
android:id="@+id/matrix3dRowMove" |
|
27 |
android:layout_width="124dp" |
|
28 |
android:layout_height="match_parent" |
|
29 |
android:layout_weight="0.64" |
|
30 |
android:onClick="Continue" |
|
31 |
android:text="@string/continu" /> |
|
32 |
</LinearLayout> |
|
33 |
|
|
34 |
<LinearLayout |
|
35 |
android:id="@+id/buttongrid" |
|
36 |
android:layout_width="match_parent" |
|
37 |
android:layout_height="match_parent" |
|
38 |
android:gravity="center" |
|
39 |
android:orientation="vertical" > |
|
40 |
|
|
41 |
</LinearLayout> |
|
42 |
|
|
43 |
</LinearLayout> |
src/main/res/layout/cubes2layout.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
3 |
android:layout_width="fill_parent" |
|
4 |
android:layout_height="fill_parent" |
|
5 |
android:gravity="center_horizontal" |
|
6 |
android:orientation="vertical" > |
|
7 |
|
|
8 |
<org.distorted.examples.cubes.CubesSurfaceView |
|
9 |
android:id="@+id/cubesSurfaceView" |
|
10 |
android:layout_width="match_parent" |
|
11 |
android:layout_height="0dp" |
|
12 |
android:layout_weight="1.00" /> |
|
13 |
|
|
14 |
</LinearLayout> |
src/main/res/layout/cubeslayout.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
3 |
android:layout_width="fill_parent" |
|
4 |
android:layout_height="fill_parent" |
|
5 |
android:gravity="center_horizontal" |
|
6 |
android:orientation="vertical" > |
|
7 |
|
|
8 |
<org.distorted.examples.cubes.CubesSurfaceView |
|
9 |
android:id="@+id/cubesSurfaceView" |
|
10 |
android:layout_width="match_parent" |
|
11 |
android:layout_height="0dp" |
|
12 |
android:layout_weight="1.00" /> |
|
13 |
|
|
14 |
</LinearLayout> |
src/main/res/layout/effects2dlayout.xml | ||
---|---|---|
25 | 25 |
android:orientation="vertical" |
26 | 26 |
android:weightSum="1"> |
27 | 27 |
|
28 |
<View |
|
29 |
android:layout_height="2dip" |
|
30 |
android:background="#FF0000" |
|
31 |
android:layout_width="match_parent" |
|
32 |
/> |
|
33 |
|
|
34 |
<TextView |
|
35 |
android:layout_width="wrap_content" |
|
36 |
android:layout_height="wrap_content" |
|
37 |
android:text="@string/add" |
|
38 |
android:id="@+id/textView" |
|
39 |
android:layout_gravity="center_horizontal"/> |
|
40 |
|
|
41 |
<RadioGroup |
|
42 |
android:id="@+id/radioGroup1" |
|
43 |
android:layout_width="wrap_content" |
|
44 |
android:layout_height="wrap_content" |
|
45 |
android:paddingLeft="5dp" |
|
46 |
android:paddingRight="10dp" |
|
47 |
android:orientation="horizontal" |
|
48 |
android:layout_gravity="center_horizontal"> |
|
49 |
|
|
50 |
<RadioButton |
|
51 |
android:id="@+id/effects2dDistort" |
|
52 |
android:layout_width="wrap_content" |
|
53 |
android:layout_height="wrap_content" |
|
54 |
android:checked="true" |
|
55 |
android:onClick="Distort" |
|
56 |
android:text="@string/distort" |
|
57 |
android:textSize="12dp"/> |
|
58 |
|
|
59 |
<RadioButton |
|
60 |
android:id="@+id/effects2dSink" |
|
61 |
android:layout_width="wrap_content" |
|
62 |
android:layout_height="wrap_content" |
|
63 |
android:onClick="Sink" |
|
64 |
android:text="@string/sink" |
|
65 |
android:textSize="12dp"/> |
|
66 |
|
|
67 |
<RadioButton |
|
68 |
android:id="@+id/effects2dTransparency" |
|
69 |
android:layout_width="wrap_content" |
|
70 |
android:layout_height="wrap_content" |
|
71 |
android:onClick="Transparency" |
|
72 |
android:text="@string/transparency" |
|
73 |
android:textSize="12dp"/> |
|
74 |
|
|
75 |
<RadioButton |
|
76 |
android:id="@+id/effects2dMacroblock" |
|
77 |
android:layout_width="wrap_content" |
|
78 |
android:layout_height="wrap_content" |
|
79 |
android:onClick="Macroblock" |
|
80 |
android:text="@string/macroblock" |
|
81 |
android:textSize="12dp"/> |
|
82 |
|
|
83 |
<RadioButton |
|
84 |
android:id="@+id/effects2dBrightness" |
|
85 |
android:layout_width="wrap_content" |
|
86 |
android:layout_height="wrap_content" |
|
87 |
android:onClick="Chroma" |
|
88 |
android:text="@string/chroma" |
|
89 |
android:textSize="12dp"/> |
|
90 |
|
|
91 |
</RadioGroup> |
|
92 |
|
|
93 |
<View |
|
94 |
android:layout_height="2dip" |
|
95 |
android:background="#FF0000" |
|
96 |
android:layout_width="match_parent"/> |
|
97 |
|
|
98 | 28 |
<TableLayout |
99 | 29 |
android:layout_width="fill_parent" |
100 | 30 |
android:layout_height="wrap_content" |
... | ... | |
104 | 34 |
android:paddingLeft="10dp" |
105 | 35 |
android:paddingRight="10dp"> |
106 | 36 |
|
37 |
<TableRow |
|
38 |
android:layout_width="match_parent" |
|
39 |
android:layout_height="match_parent"> |
|
40 |
|
|
41 |
<TextView |
|
42 |
android:layout_width="wrap_content" |
|
43 |
android:layout_height="wrap_content" |
|
44 |
android:text="@string/add" |
|
45 |
android:id="@+id/textView" |
|
46 |
android:layout_gravity="center_vertical" |
|
47 |
android:layout_span="2" |
|
48 |
android:layout_marginLeft="8dp"/> |
|
49 |
|
|
50 |
<Spinner |
|
51 |
android:layout_width="fill_parent" |
|
52 |
android:layout_height="40dp" |
|
53 |
android:id="@+id/effects2d_spinnerAdd" |
|
54 |
/> |
|
55 |
</TableRow> |
|
56 |
|
|
107 | 57 |
<TableRow |
108 | 58 |
android:layout_width="wrap_content" |
109 | 59 |
android:layout_height="wrap_content" |
... | ... | |
183 | 133 |
</TableLayout> |
184 | 134 |
<View |
185 | 135 |
android:layout_height="2dip" |
186 |
android:background="#FF0000"
|
|
136 |
android:background="#333333"
|
|
187 | 137 |
android:layout_width="match_parent" |
188 | 138 |
/> |
189 | 139 |
|
src/main/res/layout/matrix3dmove.xml | ||
---|---|---|
1 | 1 |
<?xml version="1.0" encoding="utf-8"?> |
2 | 2 |
|
3 | 3 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
4 |
android:id="@id/matrix3dRowMove"
|
|
4 |
android:id="@+id/matrix3dRowMov"
|
|
5 | 5 |
android:layout_width="match_parent" |
6 | 6 |
android:layout_height="wrap_content" |
7 | 7 |
android:orientation="horizontal" > |
src/main/res/layout/objectpickerlayout.xml | ||
---|---|---|
1 |
<?xml version="1.0" encoding="utf-8"?> |
|
2 |
|
|
3 |
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" |
|
4 |
android:orientation="vertical" |
|
5 |
android:layout_width="match_parent" |
|
6 |
android:layout_height="match_parent"> |
|
7 |
|
|
8 |
<TableLayout |
|
9 |
android:layout_width="match_parent" |
|
10 |
android:layout_height="wrap_content" |
|
11 |
android:stretchColumns="1,2,3" |
|
12 |
android:shrinkColumns="1,2,3"> |
|
13 |
|
|
14 |
<TableRow |
|
15 |
android:layout_width="match_parent" |
|
16 |
android:layout_height="match_parent"> |
|
17 |
|
|
18 |
<TextView |
|
19 |
android:layout_width="wrap_content" |
|
20 |
android:layout_height="wrap_content" |
|
21 |
android:textAppearance="?android:attr/textAppearanceMedium" |
|
22 |
android:text="@string/Create" |
|
23 |
android:id="@+id/textView2" |
|
24 |
android:layout_gravity="center_vertical" |
|
25 |
android:layout_marginLeft="10dp"/> |
|
26 |
|
|
27 |
<Spinner |
|
28 |
android:layout_width="fill_parent" |
|
29 |
android:layout_height="50dp" |
|
30 |
android:id="@+id/objectpicker_spinnerType" |
|
31 |
android:layout_span="3"/> |
|
32 |
</TableRow> |
|
33 |
|
|
34 |
<TableRow |
|
35 |
android:layout_width="match_parent" |
|
36 |
android:layout_height="match_parent"> |
|
37 |
|
|
38 |
<TextView |
|
39 |
android:layout_width="wrap_content" |
|
40 |
android:layout_height="wrap_content" |
|
41 |
android:textAppearance="?android:attr/textAppearanceMedium" |
|
42 |
android:text="@string/rows" |
|
43 |
android:id="@+id/textView8" |
|
44 |
android:layout_gravity="center_vertical" |
|
45 |
android:layout_marginLeft="10dp"/> |
|
46 |
|
|
47 |
<NumberPicker |
|
48 |
android:id="@+id/objectpicker_rows" |
|
49 |
android:layout_width="wrap_content" |
|
50 |
android:layout_height="wrap_content" |
|
51 |
android:orientation="vertical" |
|
52 |
android:layout_span="1" |
|
53 |
/> |
|
54 |
|
|
55 |
<TextView |
|
56 |
android:layout_width="wrap_content" |
|
57 |
android:layout_height="wrap_content" |
|
58 |
android:textAppearance="?android:attr/textAppearanceMedium" |
|
59 |
android:text="@string/cols" |
|
60 |
android:id="@+id/textView9" |
|
61 |
android:layout_marginLeft="10dp" |
|
62 |
android:layout_gravity="center_vertical"/> |
|
63 |
|
|
64 |
<NumberPicker |
|
65 |
android:id="@+id/objectpicker_cols" |
|
66 |
android:layout_width="wrap_content" |
|
67 |
android:layout_height="wrap_content" |
|
68 |
android:orientation="vertical" |
|
69 |
/> |
|
70 |
</TableRow> |
|
71 |
|
|
72 |
</TableLayout> |
|
73 |
|
|
74 |
<LinearLayout |
|
75 |
android:id="@+id/objectpicker_buttongrid" |
|
76 |
android:layout_width="match_parent" |
|
77 |
android:layout_height="0dp" |
|
78 |
android:gravity="center" |
|
79 |
android:orientation="vertical" |
|
80 |
android:layout_weight="0.8"> |
|
81 |
</LinearLayout> |
|
82 |
|
|
83 |
<Button |
|
84 |
android:id="@+id/objectpicker_create" |
|
85 |
android:onClick="Create" |
|
86 |
android:text="@string/Create" |
|
87 |
android:layout_width="match_parent" |
|
88 |
android:layout_height="50dp" |
|
89 |
android:layout_span="4" |
|
90 |
android:layout_marginTop="5dp"/> |
|
91 |
|
|
92 |
</LinearLayout> |
src/main/res/values/strings.xml | ||
---|---|---|
45 | 45 |
<string name="Up">Up</string> |
46 | 46 |
<string name="Default">Default</string> |
47 | 47 |
<string name="save">Save</string> |
48 |
<string name="Create">Create</string> |
|
48 | 49 |
|
49 | 50 |
<string name="example_monalisa">Mona Lisa</string> |
50 | 51 |
<string name="example_monalisa_subtitle">The basics of Distortions.</string> |
Also available in: Unified diff
some improvements for the way we test DistortedObjects.