C++程序  |  42行  |  1.25 KB

// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#import <Cocoa/Cocoa.h>

#include "base/time/time.h"

// A class representing the dock icon of the Chromium app. It's its own class
// since several parts of the app want to manipulate the display of the dock
// icon.
//
// Like all UI, it must only be messaged from the UI thread.
@interface DockIcon : NSObject {
 @private
  // The time that the icon was last updated.
  base::TimeTicks lastUpdate_;

  // If true, the state has changed in a significant way since the last icon
  // update and throttling should not prevent icon redraw.
  BOOL forceUpdate_;
}

+ (DockIcon*)sharedDockIcon;

// Updates the icon. Use the setters below to set the details first.
- (void)updateIcon;

// Download progress ///////////////////////////////////////////////////////////

// Indicates how many downloads are in progress.
- (void)setDownloads:(int)downloads;

// Indicates whether the progress indicator should be in an indeterminate state
// or not.
- (void)setIndeterminate:(BOOL)indeterminate;

// Indicates the amount of progress made of the download. Ranges from [0..1].
- (void)setProgress:(float)progress;

@end