Project

General

Profile

« Previous | Next » 

Revision 20b60ad9

Added by Leszek Koltunski over 2 years ago

Create the bandaged 3x3 icon: should work already, but it doesn't. Debug.

View differences:

src/main/java/org/distorted/bandaged/BandagedCreatorActivity.java
236 236

  
237 237
    public void iconCreationDone(Bitmap bmp)
238 238
      {
239
      mScreen.iconCreationDone(bmp);
239
      mScreen.iconCreationDone(this,bmp);
240 240
      }
241 241

  
242 242
///////////////////////////////////////////////////////////////////////////////////////////////////
src/main/java/org/distorted/bandaged/BandagedCreatorRenderer.java
35 35
import org.distorted.library.main.DistortedNode;
36 36
import org.distorted.library.main.DistortedScreen;
37 37

  
38
import org.distorted.library.main.InternalOutputSurface;
38 39
import org.distorted.library.type.Static1D;
39 40
import org.distorted.library.type.Static3D;
40 41
import org.distorted.library.type.Static4D;
41 42
import org.distorted.objectlib.json.JsonWriter;
42
import org.distorted.objectlib.main.ObjectControl;
43 43
import org.distorted.objectlib.main.ShapeHexahedron;
44 44
import org.distorted.objectlib.main.TwistyObject;
45 45
import org.distorted.objectlib.objects.TwistyBandagedGeneric;
......
57 57
{
58 58
   public static final float BRIGHTNESS = 0.333f;
59 59
   private static final int DURATION = 1000;
60
   private static final int FBO_SIZE = 100;
60 61

  
61 62
   static final int COLOR_DEFAULT = 0xffffff55;
62 63
   static final int COLOR_MARKED  = 0xffff0000;
......
231 232
       }
232 233

  
233 234
     if( mSaveIcon>=0 ) mSaveIcon++;
234
     if( mSaveIcon>=2 ) { saveIcon(); mSaveIcon = -1; }
235
     if( mSaveIcon>=2 ) { saveIcon(time); mSaveIcon = -1; }
235 236
     }
236 237

  
237 238
///////////////////////////////////////////////////////////////////////////////////////////////////
......
359 360
         }
360 361

  
361 362
     TwistyBandagedGeneric.setPositions(pos);
362
     TwistyObject obj = new TwistyBandagedGeneric();
363
     TwistyObject obj = new TwistyBandagedGeneric( new Static4D(0,0,0,1), 1.0f, TwistyObject.MODE_NORM);
363 364
     BandagedCreatorActivity act = (BandagedCreatorActivity) mView.getContext();
364 365

  
365 366
     boolean success = createObjectJson(obj,act);
366
     setupIconCreation(obj,act);
367
     setupIconCreation(act);
367 368

  
368 369
     if( success )
369 370
       {
......
429 430

  
430 431
///////////////////////////////////////////////////////////////////////////////////////////////////
431 432

  
432
   private void setupIconCreation(TwistyObject object, Activity act)
433
   private void setupIconCreation(Activity act)
433 434
     {
434
/*
435
     // create framebuffer, attach object's node to it
435
     if( mFramebuffer==null )
436
       {
437
       mFramebuffer = new DistortedFramebuffer(FBO_SIZE,FBO_SIZE,1, InternalOutputSurface.DEPTH_NO_STENCIL);
438
       }
436 439

  
437
     ObjectControl control = getControl();
440
     TwistyObject object = new TwistyBandagedGeneric(ShapeHexahedron.DEFAULT_ROT, 1.15f, TwistyObject.MODE_ICON);
438 441
     DistortedEffects effects = object.getObjectEffects();
442
     DistortedNode node = object.getNode();
443

  
444
     mFramebuffer.detachAll();
445
     mFramebuffer.attach(node);
439 446

  
440
     Static4D defRot = ShapeHexahedron.DEFAULT_ROT;
441 447
     Static1D halo = new Static1D(5);
442
     control.rotateNow(defRot);
443
     float scale = 1.15f;
444
     control.scaleNow(scale);
445 448
     Static4D color = new Static4D(0,0,0,1);
446 449
     PostprocessEffectBorder border = new PostprocessEffectBorder(halo,color);
447 450
     border.setHaloDepth(false);
......
453 456

  
454 457
     mSaveIcon = 0;
455 458
     mPath = filename;
456
 */
457 459
     }
458 460

  
459 461
///////////////////////////////////////////////////////////////////////////////////////////////////
460 462

  
461
    private void saveIcon()
463
    private void saveIcon(long time)
462 464
      {
465
      mFramebuffer.render(time);
463 466
      int fW = mFramebuffer.getWidth();
464 467
      int fH = mFramebuffer.getHeight();
465 468
      ByteBuffer buf = ByteBuffer.allocateDirect(fW*fH*4);
src/main/java/org/distorted/bandaged/BandagedCreatorScreen.java
19 19

  
20 20
package org.distorted.bandaged;
21 21

  
22
import android.app.Activity;
22 23
import android.graphics.Bitmap;
23 24
import android.view.View;
24 25
import android.widget.ImageView;
......
144 145

  
145 146
///////////////////////////////////////////////////////////////////////////////////////////////////
146 147

  
147
  void iconCreationDone(Bitmap bmp)
148
  void iconCreationDone(Activity act, Bitmap bmp)
148 149
    {
149 150
    int numChildren = mObjectView.getChildCount();
150 151
    LinearLayout pane = (LinearLayout)mObjectView.getChildAt(numChildren-1);
......
152 153

  
153 154
    if( view!=null )
154 155
      {
155
      view.setImageBitmap(bmp);
156
      act.runOnUiThread(new Runnable()
157
        {
158
        @Override
159
        public void run()
160
          {
161
          view.setImageBitmap(bmp);
162
          }
163
        });
156 164
      }
157 165
    else
158 166
      {
src/main/java/org/distorted/bandaged/BandagedCreatorWorkerThread.java
140 140
      if( containsBlackness(tmp,width) ) return i;
141 141
      }
142 142

  
143
    return -1;
143
    return 0;
144 144
    }
145 145

  
146 146
///////////////////////////////////////////////////////////////////////////////////////////////////
......
157 157
      if( containsBlackness(tmp,width) ) return i;
158 158
      }
159 159

  
160
    return -1;
160
    return width-1;
161 161
    }
162 162

  
163 163
///////////////////////////////////////////////////////////////////////////////////////////////////
......
176 176

  
177 177
    int firstRow = computeFirstRow(input,tmp,width,height);
178 178
    int lastRow  = computeLastRow(input,tmp,width,height);
179

  
180 179
    int startRow = (firstRow+lastRow+width)/2;
181 180

  
182 181
    for(int i=0; i<width; i++)
src/main/res/layout/bandaged_pane.xml
10 10
        android:id="@+id/bandagedCreatorObjectIcon"
11 11
        android:layout_width="match_parent"
12 12
        android:layout_height="0dp"
13
        android:layout_weight="3.0"
14
        android:src="@drawable/ui_difficulty_unchecked"/>
13
        android:layout_weight="3.0"/>
15 14

  
16 15
    <LinearLayout
17 16
        android:id="@+id/bandagedCreatorObjectLayout"

Also available in: Unified diff