Changeset 9319


Ignore:
Timestamp:
Oct 18, 2009, 2:23:10 AM (13 years ago)
Author:
livings124
Message:

make the nested for-loop in PiecesView? into a single for-loop

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/PiecesView.m

    r9318 r9319  
    133133    NSInteger usedCount = 0;
    134134   
    135     for (NSInteger i = 0; i < fAcross; i++)
    136         for (NSInteger j = 0; j < fAcross; j++)
    137         {
    138             const NSInteger index = i * fAcross + j;
    139             if (index >= fNumPieces)
     135    for (NSInteger index = 0; index < fNumPieces; index++)
     136    {
     137        NSColor * pieceColor = nil;
     138       
     139        if (showAvailablity ? pieces[index] == -1 : piecesPercent[index] == 1.0)
     140        {
     141            if (first || fPieces[index] != PIECE_FINISHED)
    140142            {
    141                 i = fAcross;
    142                 break;
    143             }
    144            
    145             NSColor * pieceColor = nil;
    146            
    147             if (showAvailablity ? pieces[index] == -1 : piecesPercent[index] == 1.0)
    148             {
    149                 if (first || fPieces[index] != PIECE_FINISHED)
     143                if (!first && fPieces[index] != PIECE_FLASHING)
    150144                {
    151                     if (!first && fPieces[index] != PIECE_FLASHING)
    152                     {
    153                         pieceColor = [NSColor orangeColor];
    154                         fPieces[index] = PIECE_FLASHING;
    155                     }
    156                     else
    157                     {
    158                         pieceColor = fBluePieceColor;
    159                         fPieces[index] = PIECE_FINISHED;
    160                     }
     145                    pieceColor = [NSColor orangeColor];
     146                    fPieces[index] = PIECE_FLASHING;
     147                }
     148                else
     149                {
     150                    pieceColor = fBluePieceColor;
     151                    fPieces[index] = PIECE_FINISHED;
    161152                }
    162153            }
    163             else if (showAvailablity ? pieces[index] == 0 : piecesPercent[index] == 0.0)
     154        }
     155        else if (showAvailablity ? pieces[index] == 0 : piecesPercent[index] == 0.0)
     156        {
     157            if (first || fPieces[index] != PIECE_NONE)
    164158            {
    165                 if (first || fPieces[index] != PIECE_NONE)
    166                 {
    167                     pieceColor = [NSColor whiteColor];
    168                     fPieces[index] = PIECE_NONE;
    169                 }
     159                pieceColor = [NSColor whiteColor];
     160                fPieces[index] = PIECE_NONE;
    170161            }
    171             else if (showAvailablity && pieces[index] >= HIGH_PEERS)
     162        }
     163        else if (showAvailablity && pieces[index] >= HIGH_PEERS)
     164        {
     165            if (first || fPieces[index] != PIECE_HIGH_PEERS)
    172166            {
    173                 if (first || fPieces[index] != PIECE_HIGH_PEERS)
    174                 {
    175                     pieceColor = fGreenAvailabilityColor;
    176                     fPieces[index] = PIECE_HIGH_PEERS;
    177                 }
     167                pieceColor = fGreenAvailabilityColor;
     168                fPieces[index] = PIECE_HIGH_PEERS;
    178169            }
    179             else
    180             {
    181                 //always redraw "mixed"
    182                 CGFloat percent = showAvailablity ? (CGFloat)pieces[index]/HIGH_PEERS : piecesPercent[index];
    183                 NSColor * fullColor = showAvailablity ? fGreenAvailabilityColor : fBluePieceColor;
    184                 pieceColor = [[NSColor whiteColor] blendedColorWithFraction: percent ofColor: fullColor];
    185                 fPieces[index] = PIECE_SOME;
    186             }
     170        }
     171        else
     172        {
     173            //always redraw "mixed"
     174            CGFloat percent = showAvailablity ? (CGFloat)pieces[index]/HIGH_PEERS : piecesPercent[index];
     175            NSColor * fullColor = showAvailablity ? fGreenAvailabilityColor : fBluePieceColor;
     176            pieceColor = [[NSColor whiteColor] blendedColorWithFraction: percent ofColor: fullColor];
     177            fPieces[index] = PIECE_SOME;
     178        }
     179       
     180        if (pieceColor)
     181        {
     182            const NSInteger across = index % fAcross,
     183                            down = index / fAcross;
     184            fillRects[usedCount] = NSMakeRect(across * (fWidth + BETWEEN) + BETWEEN + fExtraBorder,
     185                                                [image size].width - (down + 1) * (fWidth + BETWEEN) - fExtraBorder,
     186                                                fWidth, fWidth);
     187            fillColors[usedCount] = pieceColor;
    187188           
    188             if (pieceColor)
    189             {
    190                 fillRects[usedCount] = NSMakeRect(j * (fWidth + BETWEEN) + BETWEEN + fExtraBorder,
    191                                                     [image size].width - (i + 1) * (fWidth + BETWEEN) - fExtraBorder,
    192                                                     fWidth, fWidth);
    193                 fillColors[usedCount] = pieceColor;
    194                
    195                 usedCount++;
    196             }
    197         }
     189            usedCount++;
     190        }
     191    }
    198192   
    199193    if (usedCount > 0)
Note: See TracChangeset for help on using the changeset viewer.