121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// Copyright (c) 2010 The Chromium Authors. All rights reserved. 221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// Use of this source code is governed by a BSD-style license that can be 321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// found in the LICENSE file. 421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#ifndef CHROME_BROWSER_CHROMEOS_SETTING_LEVEL_BUBBLE_VIEW_H_ 621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#define CHROME_BROWSER_CHROMEOS_SETTING_LEVEL_BUBBLE_VIEW_H_ 721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#pragma once 821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#include "views/view.h" 1021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsennamespace views { 1221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenclass ProgressBar; 1321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} // namespace views 1421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenclass SkBitmap; 1621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsennamespace chromeos { 1821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 1921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// SettingLevelBubbleView displays information about the current value of a 2021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen// level-based setting like volume or brightness. 2121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsenclass SettingLevelBubbleView : public views::View { 2221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen public: 2321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen SettingLevelBubbleView(); 2421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 2521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // Initialize the view, setting the progress bar to the specified position. 2621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // Ownership of |icon| remains with the caller (it's probably a shared 2721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // instance from ResourceBundle). 2821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen void Init(SkBitmap* icon, int level_percent); 2921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 3021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // Change the icon that we're currently displaying. 3121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen void SetIcon(SkBitmap* icon); 3221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 3321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // Set the progress bar to the specified position and redraw it. 3421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen void Update(int level_percent); 3521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 3621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen // views::View implementation: 37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual void OnPaint(gfx::Canvas* canvas); 3821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual void Layout(); 3921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen virtual gfx::Size GetPreferredSize(); 4021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 4121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen private: 4221d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen views::ProgressBar* progress_bar_; 4321d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen SkBitmap* icon_; // not owned 4421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 4521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen DISALLOW_COPY_AND_ASSIGN(SettingLevelBubbleView); 4621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen}; 4721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 4821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen} // namespace chromeos 4921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen 5021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen#endif // CHROME_BROWSER_CHROMEOS_SETTING_LEVEL_BUBBLE_VIEW_H_ 51