summaryrefslogtreecommitdiffstats
path: root/views/controls/throbber.cc
diff options
context:
space:
mode:
authortfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-29 20:25:29 +0000
committertfarina@chromium.org <tfarina@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-29 20:25:29 +0000
commit8fc1b372c1f74f06296a0eebee0d40dbd623332f (patch)
treedde0e7d9c71dd2e461c0860e9ebe61e4a9ea385f /views/controls/throbber.cc
parentde797cf7fd9f68c59b636a26f1ade2e01357d8e9 (diff)
downloadchromium_src-8fc1b372c1f74f06296a0eebee0d40dbd623332f.zip
chromium_src-8fc1b372c1f74f06296a0eebee0d40dbd623332f.tar.gz
chromium_src-8fc1b372c1f74f06296a0eebee0d40dbd623332f.tar.bz2
views: Move the remaining files to ui/views/controls/.
BUG=104039 R=ben@chromium.org TBR=stevenjb@chromium.org Review URL: http://codereview.chromium.org/8687031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112014 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'views/controls/throbber.cc')
-rw-r--r--views/controls/throbber.cc178
1 files changed, 0 insertions, 178 deletions
diff --git a/views/controls/throbber.cc b/views/controls/throbber.cc
deleted file mode 100644
index 7719d0d..0000000
--- a/views/controls/throbber.cc
+++ /dev/null
@@ -1,178 +0,0 @@
-// 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.
-
-#include "views/controls/throbber.h"
-
-#include "base/time.h"
-#include "grit/ui_resources.h"
-#include "third_party/skia/include/core/SkBitmap.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/gfx/canvas.h"
-
-using base::Time;
-using base::TimeDelta;
-
-namespace views {
-
-Throbber::Throbber(int frame_time_ms,
- bool paint_while_stopped)
- : running_(false),
- paint_while_stopped_(paint_while_stopped),
- frames_(NULL),
- frame_time_(TimeDelta::FromMilliseconds(frame_time_ms)) {
- SetFrames(ResourceBundle::GetSharedInstance().GetBitmapNamed(IDR_THROBBER));
-}
-
-Throbber::~Throbber() {
- Stop();
-}
-
-void Throbber::Start() {
- if (running_)
- return;
-
- start_time_ = Time::Now();
-
- timer_.Start(FROM_HERE, frame_time_ - TimeDelta::FromMilliseconds(10),
- this, &Throbber::Run);
-
- running_ = true;
-
- SchedulePaint(); // paint right away
-}
-
-void Throbber::Stop() {
- if (!running_)
- return;
-
- timer_.Stop();
-
- running_ = false;
- SchedulePaint(); // Important if we're not painting while stopped
-}
-
-void Throbber::SetFrames(SkBitmap* frames) {
- frames_ = frames;
- DCHECK(frames_->width() > 0 && frames_->height() > 0);
- DCHECK(frames_->width() % frames_->height() == 0);
- frame_count_ = frames_->width() / frames_->height();
- PreferredSizeChanged();
-}
-
-void Throbber::Run() {
- DCHECK(running_);
-
- SchedulePaint();
-}
-
-gfx::Size Throbber::GetPreferredSize() {
- return gfx::Size(frames_->height(), frames_->height());
-}
-
-void Throbber::OnPaint(gfx::Canvas* canvas) {
- if (!running_ && !paint_while_stopped_)
- return;
-
- const TimeDelta elapsed_time = Time::Now() - start_time_;
- const int current_frame =
- static_cast<int>(elapsed_time / frame_time_) % frame_count_;
-
- int image_size = frames_->height();
- int image_offset = current_frame * image_size;
- canvas->DrawBitmapInt(*frames_,
- image_offset, 0, image_size, image_size,
- 0, 0, image_size, image_size,
- false);
-}
-
-
-
-// Smoothed throbber ---------------------------------------------------------
-
-
-// Delay after work starts before starting throbber, in milliseconds.
-static const int kStartDelay = 200;
-
-// Delay after work stops before stopping, in milliseconds.
-static const int kStopDelay = 50;
-
-
-SmoothedThrobber::SmoothedThrobber(int frame_time_ms)
- : Throbber(frame_time_ms, /* paint_while_stopped= */ false),
- start_delay_ms_(kStartDelay),
- stop_delay_ms_(kStopDelay) {
-}
-
-SmoothedThrobber::~SmoothedThrobber() {}
-
-void SmoothedThrobber::Start() {
- stop_timer_.Stop();
-
- if (!running_ && !start_timer_.IsRunning()) {
- start_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(start_delay_ms_),
- this, &SmoothedThrobber::StartDelayOver);
- }
-}
-
-void SmoothedThrobber::StartDelayOver() {
- Throbber::Start();
-}
-
-void SmoothedThrobber::Stop() {
- if (!running_)
- start_timer_.Stop();
-
- stop_timer_.Stop();
- stop_timer_.Start(FROM_HERE, TimeDelta::FromMilliseconds(stop_delay_ms_),
- this, &SmoothedThrobber::StopDelayOver);
-}
-
-void SmoothedThrobber::StopDelayOver() {
- Throbber::Stop();
-}
-
-// Checkmark throbber ---------------------------------------------------------
-
-CheckmarkThrobber::CheckmarkThrobber()
- : Throbber(kFrameTimeMs, false),
- checked_(false) {
- InitClass();
-}
-
-void CheckmarkThrobber::SetChecked(bool checked) {
- bool changed = checked != checked_;
- if (changed) {
- checked_ = checked;
- SchedulePaint();
- }
-}
-
-void CheckmarkThrobber::OnPaint(gfx::Canvas* canvas) {
- if (running_) {
- // Let the throbber throb...
- Throbber::OnPaint(canvas);
- return;
- }
- // Otherwise we paint our tick mark or nothing depending on our state.
- if (checked_) {
- int checkmark_x = (width() - checkmark_->width()) / 2;
- int checkmark_y = (height() - checkmark_->height()) / 2;
- canvas->DrawBitmapInt(*checkmark_, checkmark_x, checkmark_y);
- }
-}
-
-// static
-void CheckmarkThrobber::InitClass() {
- static bool initialized = false;
- if (!initialized) {
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- checkmark_ = rb.GetBitmapNamed(IDR_CHECKMARK);
- initialized = true;
- }
-}
-
-// static
-SkBitmap* CheckmarkThrobber::checkmark_ = NULL;
-
-} // namespace views