// Copyright (c) 2011 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. #ifndef CHROME_BROWSER_UI_PANELS_PANEL_OVERFLOW_INDICATOR_H_ #define CHROME_BROWSER_UI_PANELS_PANEL_OVERFLOW_INDICATOR_H_ #pragma once #include "ui/gfx/rect.h" // An interfac that encapsulates the logic to support showing the overflow // indicator count "+N" for different platform. class PanelOverflowIndicator { public: static PanelOverflowIndicator* Create(); virtual ~PanelOverflowIndicator() { } // Returns the height of indicator widget. virtual int GetHeight() const = 0; // Gets or sets the bounds, in screen coordinates. virtual gfx::Rect GetBounds() const = 0; virtual void SetBounds(const gfx::Rect& bounds) = 0; // The count value reflects the number of additional overflow panels that are // not shown. virtual int GetCount() const = 0; virtual void SetCount(int count) = 0; // The indicator's background could be changed to draw the user's attention. virtual void DrawAttention() = 0; virtual void StopDrawingAttention() = 0; virtual bool IsDrawingAttention() const = 0; }; #endif // CHROME_BROWSER_UI_PANELS_PANEL_OVERFLOW_INDICATOR_H_