Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(155)

Unified Diff: athena/wm/overview_toolbar.cc

Issue 863033002: Delete athena/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « athena/wm/overview_toolbar.h ('k') | athena/wm/public/DEPS » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: athena/wm/overview_toolbar.cc
diff --git a/athena/wm/overview_toolbar.cc b/athena/wm/overview_toolbar.cc
deleted file mode 100644
index 5942a5d53496b6987d5e70a546d98c1d17defe84..0000000000000000000000000000000000000000
--- a/athena/wm/overview_toolbar.cc
+++ /dev/null
@@ -1,219 +0,0 @@
-// Copyright 2014 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 "athena/wm/overview_toolbar.h"
-
-#include "athena/resources/grit/athena_resources.h"
-#include "athena/strings/grit/athena_strings.h"
-#include "base/bind.h"
-#include "base/time/time.h"
-#include "ui/aura/window.h"
-#include "ui/base/l10n/l10n_util.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/compositor/closure_animation_observer.h"
-#include "ui/compositor/layer.h"
-#include "ui/compositor/layer_delegate.h"
-#include "ui/compositor/scoped_layer_animation_settings.h"
-#include "ui/events/event.h"
-#include "ui/gfx/canvas.h"
-#include "ui/gfx/transform.h"
-
-namespace {
-
-const int kActionButtonImageSize = 54;
-const int kActionButtonTextSize = 20;
-const int kActionButtonPaddingFromRight = 32;
-}
-
-namespace athena {
-
-class ActionButton : public ui::LayerDelegate {
- public:
- ActionButton(int resource_id, const base::string16& label)
- : resource_id_(resource_id), label_(label) {
- layer_.reset(new ui::Layer(ui::LAYER_TEXTURED));
- layer_->set_delegate(this);
- layer_->SetFillsBoundsOpaquely(false);
- layer_->SetVisible(true);
- layer_->SetOpacity(0);
- }
-
- ~ActionButton() override {}
-
- static void DestroyAfterFadeout(scoped_ptr<ActionButton> button) {
- ui::Layer* layer = button->layer();
- ui::ScopedLayerAnimationSettings settings(layer->GetAnimator());
- settings.AddObserver(new ui::ClosureAnimationObserver(
- base::Bind(&ActionButton::DestroyImmediately, base::Passed(&button))));
- layer->SetOpacity(0);
- }
-
- void SetPosition(const gfx::Point& position) {
- layer_->SetBounds(
- gfx::Rect(position,
- gfx::Size(kActionButtonImageSize,
- kActionButtonImageSize + kActionButtonTextSize)));
- }
-
- ui::Layer* layer() { return layer_.get(); }
-
- private:
- static void DestroyImmediately(scoped_ptr<ActionButton> button) {
- button.reset();
- }
-
- // ui::LayerDelegate:
- void OnPaintLayer(gfx::Canvas* canvas) override {
- ui::ResourceBundle& bundle = ui::ResourceBundle::GetSharedInstance();
- canvas->DrawImageInt(*bundle.GetImageSkiaNamed(resource_id_), 0, 0);
- gfx::ShadowValues shadow;
- shadow.push_back(gfx::ShadowValue(gfx::Point(0, 1), 2, SK_ColorBLACK));
- shadow.push_back(gfx::ShadowValue(gfx::Point(0, -1), 2, SK_ColorBLACK));
- canvas->DrawStringRectWithShadows(label_,
- gfx::FontList(),
- SK_ColorWHITE,
- gfx::Rect(0,
- kActionButtonImageSize,
- kActionButtonImageSize,
- kActionButtonTextSize),
- 0,
- gfx::Canvas::TEXT_ALIGN_CENTER,
- shadow);
- }
-
- void OnDelegatedFrameDamage(const gfx::Rect& damage_rect_in_dip) override {}
-
- void OnDeviceScaleFactorChanged(float device_scale_factor) override {}
- base::Closure PrepareForLayerBoundsChange() override {
- return base::Closure();
- }
-
- int resource_id_;
- base::string16 label_;
- scoped_ptr<ui::Layer> layer_;
-
- DISALLOW_COPY_AND_ASSIGN(ActionButton);
-};
-
-OverviewToolbar::OverviewToolbar(aura::Window* container)
- : shown_(false),
- disabled_action_bitfields_(0),
- close_(new ActionButton(
- IDR_ATHENA_OVERVIEW_TRASH,
- l10n_util::GetStringUTF16(IDS_ATHENA_OVERVIEW_CLOSE))),
- split_(new ActionButton(
- IDR_ATHENA_OVERVIEW_SPLIT,
- l10n_util::GetStringUTF16(IDS_ATHENA_OVERVIEW_SPLIT))),
- current_action_(ACTION_TYPE_NONE),
- container_bounds_(container->bounds()) {
- const int kPaddingFromBottom = 200;
- const int kPaddingBetweenButtons = 200;
-
- int x = container_bounds_.right() -
- (kActionButtonPaddingFromRight + kActionButtonImageSize);
- int y = container_bounds_.bottom() -
- (kPaddingFromBottom + kActionButtonImageSize);
- split_->SetPosition(gfx::Point(x, y));
- y -= kPaddingBetweenButtons;
- close_->SetPosition(gfx::Point(x, y));
-
- container->layer()->Add(split_->layer());
- container->layer()->Add(close_->layer());
-}
-
-OverviewToolbar::~OverviewToolbar() {
- // If the buttons are visible, then fade them out, instead of destroying them
- // immediately.
- if (shown_) {
- ActionButton::DestroyAfterFadeout(split_.Pass());
- ActionButton::DestroyAfterFadeout(close_.Pass());
- }
-}
-
-OverviewToolbar::ActionType OverviewToolbar::GetHighlightAction(
- const ui::GestureEvent& event) const {
- if (IsActionEnabled(ACTION_TYPE_SPLIT) &&
- IsEventOverButton(split_.get(), event))
- return ACTION_TYPE_SPLIT;
- if (IsActionEnabled(ACTION_TYPE_CLOSE) &&
- IsEventOverButton(close_.get(), event))
- return ACTION_TYPE_CLOSE;
- return ACTION_TYPE_NONE;
-}
-
-void OverviewToolbar::SetHighlightAction(ActionType action) {
- CHECK(IsActionEnabled(action));
- if (current_action_ == action)
- return;
- current_action_ = action;
- if (!shown_) {
- ShowActionButtons();
- } else {
- TransformButton(close_.get());
- TransformButton(split_.get());
- }
-}
-
-void OverviewToolbar::ShowActionButtons() {
- if (!shown_)
- ToggleActionButtonsVisibility();
-}
-
-void OverviewToolbar::HideActionButtons() {
- if (shown_)
- ToggleActionButtonsVisibility();
-}
-
-void OverviewToolbar::DisableAction(ActionType action) {
- CHECK_NE(current_action_, action);
- disabled_action_bitfields_ |= (1u << action);
-}
-
-void OverviewToolbar::ToggleActionButtonsVisibility() {
- shown_ = !shown_;
- TransformButton(close_.get());
- TransformButton(split_.get());
-}
-
-bool OverviewToolbar::IsActionEnabled(ActionType action) const {
- return !(disabled_action_bitfields_ & (1u << action));
-}
-
-bool OverviewToolbar::IsEventOverButton(ActionButton* button,
- const ui::GestureEvent& event) const {
- const int kBoundsInsetForTarget = 30;
- gfx::RectF bounds = button->layer()->bounds();
- bounds.Inset(-kBoundsInsetForTarget, -kBoundsInsetForTarget);
- return bounds.Contains(event.location());
-}
-
-gfx::Transform OverviewToolbar::ComputeTransformFor(
- ActionButton* button) const {
- if (!shown_)
- return gfx::Transform();
-
- const float kHighlightScale = 1.5;
- bool button_is_highlighted =
- (current_action_ == ACTION_TYPE_CLOSE && button == close_.get()) ||
- (current_action_ == ACTION_TYPE_SPLIT && button == split_.get());
- gfx::Transform transform;
- if (button_is_highlighted) {
- transform.Translate(-kActionButtonImageSize * (kHighlightScale - 1) / 2, 0);
- transform.Scale(kHighlightScale, kHighlightScale);
- }
- return transform;
-}
-
-void OverviewToolbar::TransformButton(ActionButton* button) {
- ui::ScopedLayerAnimationSettings split_settings(
- button->layer()->GetAnimator());
- split_settings.SetTweenType(gfx::Tween::SMOOTH_IN_OUT);
- button->layer()->SetTransform(ComputeTransformFor(button));
- bool button_is_enabled =
- (button == close_.get() && IsActionEnabled(ACTION_TYPE_CLOSE)) ||
- (button == split_.get() && IsActionEnabled(ACTION_TYPE_SPLIT));
- button->layer()->SetOpacity((button_is_enabled && shown_) ? 1 : 0);
-}
-
-} // namespace athena
« no previous file with comments | « athena/wm/overview_toolbar.h ('k') | athena/wm/public/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698