summaryrefslogtreecommitdiffstats
path: root/chrome/browser/cocoa/tabpose_window.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/cocoa/tabpose_window.h')
-rw-r--r--chrome/browser/cocoa/tabpose_window.h41
1 files changed, 39 insertions, 2 deletions
diff --git a/chrome/browser/cocoa/tabpose_window.h b/chrome/browser/cocoa/tabpose_window.h
index 0efb90c..3be0b32 100644
--- a/chrome/browser/cocoa/tabpose_window.h
+++ b/chrome/browser/cocoa/tabpose_window.h
@@ -10,12 +10,38 @@
#include "base/scoped_cftyperef.h"
+#include "base/ref_counted.h"
+#include "base/scoped_nsobject.h"
+#include "base/scoped_ptr.h"
+#include "base/scoped_vector.h"
+
+namespace tabpose {
+
+class Tile;
+class TileSet;
+
+}
+
+namespace tabpose {
+
+enum WindowState {
+ kFadingIn,
+ kFadedIn,
+ kFadingOut,
+};
+
+} // namespace tabpose
+
+class TabStripModel;
+
// A TabposeWindow shows an overview of open tabs and lets the user select a new
// active tab. The window blocks clicks on the tab strip and the download
// shelf. Every open browser window has its own overlay, and they are
// independent of each other.
@interface TabposeWindow : NSWindow {
@private
+ tabpose::WindowState state_;
+
// The root layer added to the content view. Covers the whole window.
CALayer* rootLayer_; // weak
@@ -23,14 +49,25 @@
CALayer* bgLayer_; // weak
scoped_cftyperef<CGColorRef> gray_;
+
+ TabStripModel* tabStripModel_; // weak
+
+ // Stores all preview layers. The order in here matches the order in
+ // the tabstrip model.
+ scoped_nsobject<NSArray> allLayers_;
+
+ // Manages the state of all layers.
+ scoped_ptr<tabpose::TileSet> tileSet_;
}
// Shows a TabposeWindow on top of |parent|, with |rect| being the active area.
// If |slomo| is YES, then the appearance animation is shown in slow motion.
// The window blocks all keyboard and mouse events and releases itself when
// closed.
-+ (id)openTabposeFor:(NSWindow*)parent rect:(NSRect)rect slomo:(BOOL)slomo;
++ (id)openTabposeFor:(NSWindow*)parent
+ rect:(NSRect)rect
+ slomo:(BOOL)slomo
+ tabStripModel:(TabStripModel*)tabStripModel;
@end
#endif // CHROME_BROWSER_COCOA_TABPOSE_WINDOW_H_
-