1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved.
2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file.
4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#ifndef UI_APP_LIST_VIEWS_PROGRESS_BAR_VIEW_H_
6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#define UI_APP_LIST_VIEWS_PROGRESS_BAR_VIEW_H_
7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/basictypes.h"
9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "base/memory/scoped_ptr.h"
10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "ui/views/controls/progress_bar.h"
11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace views {
13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass Painter;
14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}
15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace app_list {
17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// ProgressBarView implements an image-based progress bar for app launcher.
19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochclass ProgressBarView : public views::ProgressBar {
20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch public:
21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  ProgressBarView();
22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  virtual ~ProgressBarView();
23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  // views::View overrides:
25cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles)  virtual gfx::Size GetPreferredSize() const OVERRIDE;
26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch private:
29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  scoped_ptr<views::Painter> background_painter_;
30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  scoped_ptr<views::Painter> bar_painter_;
31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch  DISALLOW_COPY_AND_ASSIGN(ProgressBarView);
33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch};
34eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch}  // namespace app_list
36eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
37eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#endif  // UI_APP_LIST_VIEWS_PROGRESS_BAR_VIEW_H_
38