Exemplo n.º 1
0
  public ElemUndo( Rectangle sArea,
                   int[][] clr,
                   int[][] lyr,
                   Block[][] blk,
                   String cmd )
  {
   int i, j;
   name = cmd;
   area = new Rectangle( sArea.Location, sArea.Size );

   origBlk = new Block[ LoadSave.W ][];
   origClr = new int[ LoadSave.W ][];
   origLyr = new int[ LoadSave.W ][];

   for( i = 0; i < LoadSave.W; i++ )
   {
    origBlk[ i ] = new Block[ LoadSave.H ];
    origClr[ i ] = new int[ LoadSave.H ];
    origLyr[ i ] = new int[ LoadSave.H ];

    for( j = 0; j < LoadSave.H; j++ )
    {
     origBlk[ i ][ j ] = blk[ i ][ j ];
     origClr[ i ][ j ] = clr[ i ][ j ];
     origLyr[ i ][ j ] = lyr[ i ][ j ];

    }
   }
  }
Exemplo n.º 2
0
  public Rectangle undo( Rectangle sArea,
                         int[][] clr, 
                         int[][] lyr, 
                         Block[][] blks )
  {
   Block tmpB;
   int        tmpC, tmpL, i, j;
   Rectangle  tmpR = area;

   area = sArea; // switch for redo
  
   for( i = 0; i < LoadSave.W; i++ )
   {
    for( j = 0; j < LoadSave.H; j++ )
    {
     tmpB = blks[ i ][ j ];
     tmpC = clr[ i ][ j ];
     tmpL = lyr[ i ][ j ];

     blks[ i ][ j ] = origBlk[ i ][ j ];
     clr[ i ][ j ] = origClr[ i ][ j ];
     lyr[ i ][ j ] = origLyr[ i ][ j ];

     origBlk[ i ][ j ] = tmpB; // switch for redo
     origClr[ i ][ j ] = tmpC;
     origLyr[ i ][ j ] = tmpL;

    }
   }

   return tmpR;

  }
Exemplo n.º 3
0
  private void createCopy()
  {
   int i, j;

   if( resC == null ||
     ( resC.Length != selC.Length ||
       resC[ 0 ].Length != selC[ 0 ].Length ))
   {
    resB = new Block[ selectArea.Width ][];
    resC = new int[ selectArea.Width ][];

    GC.Collect();

    for( i = 0; i < selectArea.Width; i++ )
    {
     resB[ i ] = new Block[ selectArea.Height ];
     resC[ i ] = new int[ selectArea.Height ];

     for( j = 0; j < selectArea.Height; j++ )
     {
      resC[ i ][ j ] = -65281;
      resB[ i ][ j ] = new Block();

     }
    }
   }
  }
Exemplo n.º 4
0
  private void createSelectMover()
  {
   int i, j;

   selB = new Block[ selectArea.Width ][];
   selC = new int[ selectArea.Width ][];

   GC.Collect();

   for( i = 0; i < selectArea.Width; i++ )
   {
    selB[ i ] = new Block[ selectArea.Height ];
    selC[ i ] = new int[ selectArea.Height ];

    for( j = 0; j < selectArea.Height; j++ )
    {
     selC[ i ][ j ] = -65281;
     selB[ i ][ j ] = new Block();

    }
   }
  }