Changeset 6126


Ignore:
Timestamp:
Jun 10, 2008, 8:15:00 PM (14 years ago)
Author:
livings124
Message:

some cleanup of the pieces view code

Location:
trunk/macosx
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/InfoWindowController.m

    r6105 r6126  
    11471147   
    11481148    [[NSUserDefaults standardUserDefaults] setBool: available forKey: @"PiecesViewShowAvailability"];
    1149     [fPiecesView clearView];
    11501149    [fPiecesView updateView];
    11511150}
  • trunk/macosx/PiecesView.m

    r6125 r6126  
    109109        first = YES;
    110110    }
    111    
    112     NSImage * image = [self image];
    113111
    114112    int8_t * pieces = NULL;
     
    130128    NSRect rect = NSMakeRect(0, 0, fWidth, fWidth);
    131129   
    132     BOOL change = NO;
     130    NSImage * image = [self image];
     131    [image lockFocus];
    133132   
    134133    for (i = 0; i < fAcross; i++)
     
    143142           
    144143            NSColor * pieceColor;
    145            
    146144            if (showAvailablity)
    147145            {
    148146                if (pieces[index] == -1)
     147                {
    149148                    pieceColor = !first && fPieces[index] != FINISHED ? [NSColor orangeColor] : fBluePieceColor;
     149                    fPieces[index] = FINISHED;
     150                }
    150151                else
    151152                {
    152                     float percent;
    153                     if (pieces[index] < HIGH_PEERS)
    154                         percent = (float)pieces[index]/HIGH_PEERS;
    155                     else
    156                         percent = 1.0;
    157                    
     153                    float percent = MIN(1.0, (float)pieces[index]/HIGH_PEERS);
    158154                    pieceColor = [[NSColor whiteColor] blendedColorWithFraction: percent ofColor: fGreenAvailabilityColor];
     155                    fPieces[index] = 0;
    159156                }
    160                
    161                 fPieces[index] = pieces[index] == -1 ? FINISHED : 0;
    162157            }
    163158            else
    164159            {
    165                 if (piecesPercent[index] == 1.0 && !first && fPieces[index] != FINISHED)
    166                     pieceColor = [NSColor orangeColor];
     160                if (piecesPercent[index] == 1.0)
     161                {
     162                    pieceColor = !first && fPieces[index] != FINISHED ? [NSColor orangeColor] : fBluePieceColor;
     163                    fPieces[index] = FINISHED;
     164                }
    167165                else
     166                {
    168167                    pieceColor = [[NSColor whiteColor] blendedColorWithFraction: piecesPercent[index] ofColor: fBluePieceColor];
    169                
    170                 fPieces[index] = piecesPercent[index] == 1.0 ? FINISHED : 0;
     168                    fPieces[index] = 0;
     169                }
    171170            }
    172171           
    173             if (pieceColor)
    174             {
    175                 //drawing actually will occur
    176                 if (!change)
    177                 {
    178                     [image lockFocus];
    179                     change = YES;
    180                 }
    181                
    182                 rect.origin = NSMakePoint(j * (fWidth + BETWEEN) + BETWEEN + fExtraBorder,
     172            rect.origin = NSMakePoint(j * (fWidth + BETWEEN) + BETWEEN + fExtraBorder,
    183173                                    [image size].width - (i + 1) * (fWidth + BETWEEN) - fExtraBorder);
    184                
    185                 [pieceColor set];
    186                 NSRectFill(rect);
    187             }
     174           
     175            [pieceColor set];
     176            NSRectFill(rect);
    188177        }
    189178   
    190     if (change)
    191     {
    192         [image unlockFocus];
    193         [self setNeedsDisplay];
    194     }
     179    [image unlockFocus];
     180    [self setNeedsDisplay];
    195181   
    196182    tr_free(pieces);
Note: See TracChangeset for help on using the changeset viewer.