Project

General

Profile

« Previous | Next » 

Revision bcc8e016

Added by Leszek Koltunski almost 8 years ago

Improve the Vertex3D app some more.

View differences:

src/main/java/org/distorted/examples/vertex3d/Vertex3DActivity.java
61 61
  private NumberPicker mColsPicker, mRowsPicker;
62 62
  private LinearLayout mLay;
63 63
  private boolean[] mShape;
64
  private DistortedObject mObject;
65
  private int mObjectType;
66
  private int mBitmap;
64 67

  
65 68
  // fields needed for the second 'apply vertex effects' screen
66 69
  //
......
77 80
  private float fsinkA;
78 81
  private float fswirlA;
79 82
  private float fcenterX, fcenterY;
80

  
81
  private DistortedObject mObject;
82

  
83 83
  private EffectNames[] effects = new EffectNames[4];
84
  private int mObjectType;
84

  
85 85

  
86 86
///////////////////////////////////////////////////////////////////////////////////////////////////
87 87
    
......
92 92

  
93 93
    setContentView(R.layout.objectpickerlayout);
94 94

  
95
    mLay = (LinearLayout)findViewById(R.id.objectpicker_buttongrid);
96

  
97 95
    mColsPicker = (NumberPicker)findViewById(R.id.objectpicker_cols);
98 96
    mRowsPicker = (NumberPicker)findViewById(R.id.objectpicker_rows);
99 97

  
......
107 105
      @Override
108 106
      public void onValueChange(NumberPicker picker, int oldVal, int newVal)
109 107
        {
110
        setGrid();
108
        mNumCols = mColsPicker.getValue();
111 109
        }
112 110
      });
113 111

  
......
116 114
      @Override
117 115
      public void onValueChange(NumberPicker picker, int oldVal, int newVal)
118 116
        {
119
        setGrid();
117
        mNumRows = mRowsPicker.getValue();
120 118
        }
121 119
      });
122 120

  
......
129 127

  
130 128
    String[] objectType = new String[] {"DistortedCubes", "DistortedBitmap"};
131 129

  
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);
130
    ArrayAdapter<String> adapterType = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectType);
131
    adapterType.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
132
    typeSpinner.setAdapter(adapterType);
133

  
134
    Spinner bitmapSpinner  = (Spinner)findViewById(R.id.objectpicker_spinnerBitmap);
135
    bitmapSpinner.setOnItemSelectedListener(this);
136

  
137
    String[] objectBitmap = new String[] {"Girl", "Dog", "Cat", "Grid"};
138

  
139
    ArrayAdapter<String> adapterBitmap = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, objectBitmap);
140
    adapterBitmap.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
141
    bitmapSpinner.setAdapter(adapterBitmap);
135 142
    }
136 143

  
137 144
///////////////////////////////////////////////////////////////////////////////////////////////////
138 145

  
139 146
  private void setGrid()
140 147
    {
141
    mNumCols = mColsPicker.getValue();
142
    mNumRows = mRowsPicker.getValue();
148
    mLay = (LinearLayout)findViewById(R.id.objectpicker_buttongrid);
143 149

  
144 150
    int width = mLay.getWidth();
145 151
    int height= mLay.getHeight();
......
172 178
        b.setOnClickListener(this);
173 179
        b.setId(rows*mNumCols+cols);
174 180
        b.setLayoutParams(p);
175
        b.setBackgroundColor(COLOR_OFF);
181
        b.setBackgroundColor(COLOR_ON);
176 182
        tr.addView(b, p);
177
        mShape[rows*mNumCols+cols] = false;
183
        mShape[rows*mNumCols+cols] = true;
178 184
        }
179 185

  
180 186
      mLay.addView(tr);
......
200 206

  
201 207
///////////////////////////////////////////////////////////////////////////////////////////////////
202 208

  
203
  public void Create(View v)
209
  public int getBitmap()
204 210
    {
205
    firstScreen = false;
211
    return mBitmap;
212
    }
213

  
214
///////////////////////////////////////////////////////////////////////////////////////////////////
206 215

  
216
  public void Continue(View v)
217
    {
207 218
    if( mObjectType==1 )
208 219
      {
220
      firstScreen = false;
209 221
      mObject = new DistortedBitmap(100,100,mNumCols);
222
      setContentView(R.layout.vertex3dlayout);
223
      Default(null);
210 224
      }
211 225
    else
212 226
      {
213
      String str = "";
227
      View view = getLayoutInflater().inflate(R.layout.objectpicker2layout, null);
214 228

  
215
      for(int i=0; i<mNumRows*mNumCols; i++)
216
        str += mShape[i] ? "1" : "0";
229
      setContentView(view);
217 230

  
218
      mObject = new DistortedCubes(mNumCols, str, 10);
231
      view.post(new Runnable() {
232
            @Override
233
            public void run() {
234
              setGrid();
235
            }
236
        });
219 237
      }
238
    }
239

  
240
///////////////////////////////////////////////////////////////////////////////////////////////////
241

  
242
  public void Create(View v)
243
    {
244
    firstScreen = false;
245

  
246
    String str = "";
247

  
248
    for(int i=0; i<mNumRows*mNumCols; i++)
249
      str += mShape[i] ? "1" : "0";
250

  
251
    mObject = new DistortedCubes(mNumCols, str, 10);
220 252

  
221 253
    setContentView(R.layout.vertex3dlayout);
222 254
    Default(null);
......
229 261
    {
230 262
    switch(parent.getId())
231 263
      {
232
      case R.id.objectpicker_spinnerType: mObjectType = pos; break;
264
      case R.id.objectpicker_spinnerType  : mObjectType = pos; break;
265
      case R.id.objectpicker_spinnerBitmap: switch(pos)
266
                                              {
267
                                              case 0: mBitmap = R.raw.face; break;
268
                                              case 1: mBitmap = R.raw.dog;  break;
269
                                              case 2: mBitmap = R.raw.cat;  break;
270
                                              case 3: mBitmap = R.raw.grid; break;
271
                                              }
272
                                            break;
233 273
      }
234 274
    }
235 275

  
......
550 590
      {
551 591
      mColsPicker.setValue(mNumCols);
552 592
      mRowsPicker.setValue(mNumRows);
553

  
554
      if( hasFocus ) setGrid();
555 593
      }
556 594
    }
557 595

  

Also available in: Unified diff