Index: ash/common/shelf/overflow_button.cc |
diff --git a/ash/shelf/overflow_button.cc b/ash/common/shelf/overflow_button.cc |
similarity index 87% |
rename from ash/shelf/overflow_button.cc |
rename to ash/common/shelf/overflow_button.cc |
index e51bfd2b3a45d72852ae1cf4d0b76100bbf4967c..6a8585750c7b971d02bd366fab49fbebf2915ea9 100644 |
--- a/ash/shelf/overflow_button.cc |
+++ b/ash/common/shelf/overflow_button.cc |
@@ -2,23 +2,20 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#include "ash/shelf/overflow_button.h" |
+#include "ash/common/shelf/overflow_button.h" |
#include "ash/common/ash_constants.h" |
-#include "ash/common/ash_switches.h" |
#include "ash/common/material_design/material_design_controller.h" |
+#include "ash/common/shelf/ink_drop_button_listener.h" |
#include "ash/common/shelf/shelf_constants.h" |
-#include "ash/shelf/ink_drop_button_listener.h" |
-#include "ash/shelf/shelf.h" |
-#include "ash/shelf/shelf_layout_manager.h" |
-#include "ash/shelf/shelf_widget.h" |
+#include "ash/common/shelf/wm_shelf.h" |
+#include "ash/common/shelf/wm_shelf_util.h" |
#include "grit/ash_resources.h" |
#include "grit/ash_strings.h" |
#include "third_party/skia/include/core/SkPaint.h" |
#include "third_party/skia/include/core/SkPath.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/base/resource/resource_bundle.h" |
-#include "ui/gfx/animation/throb_animation.h" |
#include "ui/gfx/canvas.h" |
#include "ui/gfx/image/image_skia_operations.h" |
#include "ui/gfx/paint_vector_icon.h" |
@@ -26,15 +23,15 @@ |
#include "ui/gfx/skia_util.h" |
#include "ui/gfx/transform.h" |
#include "ui/gfx/vector_icons_public.h" |
-#include "ui/views/widget/widget.h" |
namespace ash { |
-OverflowButton::OverflowButton(InkDropButtonListener* listener, Shelf* shelf) |
+OverflowButton::OverflowButton(InkDropButtonListener* listener, |
+ WmShelf* wm_shelf) |
: CustomButton(nullptr), |
bottom_image_(nullptr), |
listener_(listener), |
- shelf_(shelf) { |
+ wm_shelf_(wm_shelf) { |
if (MaterialDesignController::IsShelfMaterial()) { |
bottom_image_md_ = |
CreateVectorIcon(gfx::VectorIconId::SHELF_OVERFLOW, kShelfIconColor); |
@@ -70,10 +67,8 @@ void OverflowButton::PaintBackground(gfx::Canvas* canvas, |
const gfx::Rect& bounds) { |
if (MaterialDesignController::IsShelfMaterial()) { |
SkColor background_color = SK_ColorTRANSPARENT; |
- ShelfWidget* shelf_widget = shelf_->shelf_widget(); |
- if (shelf_widget && |
- shelf_widget->GetBackgroundType() == |
- ShelfBackgroundType::SHELF_BACKGROUND_DEFAULT) { |
+ if (wm_shelf_->GetBackgroundType() == |
+ ShelfBackgroundType::SHELF_BACKGROUND_DEFAULT) { |
background_color = SkColorSetA(kShelfBaseColor, |
GetShelfConstant(SHELF_BACKGROUND_ALPHA)); |
} |
@@ -86,7 +81,7 @@ void OverflowButton::PaintBackground(gfx::Canvas* canvas, |
canvas->DrawRoundRect(bounds, kOverflowButtonCornerRadius, |
background_paint); |
- if (shelf_->IsShowingOverflowBubble()) { |
+ if (wm_shelf_->IsShowingOverflowBubble()) { |
SkPaint highlight_paint; |
highlight_paint.setFlags(SkPaint::kAntiAlias_Flag); |
highlight_paint.setColor(kShelfButtonActivatedHighlightColor); |
@@ -105,7 +100,7 @@ void OverflowButton::PaintForeground(gfx::Canvas* canvas, |
const gfx::Rect& bounds) { |
const gfx::ImageSkia* image = nullptr; |
- switch (shelf_->alignment()) { |
+ switch (wm_shelf_->GetAlignment()) { |
case SHELF_ALIGNMENT_LEFT: |
if (left_image_.isNull()) { |
left_image_ = gfx::ImageSkiaOperations::CreateRotatedImage( |
@@ -131,21 +126,21 @@ void OverflowButton::PaintForeground(gfx::Canvas* canvas, |
} |
int OverflowButton::NonMaterialBackgroundImageId() { |
- if (shelf_->IsShowingOverflowBubble()) |
+ if (wm_shelf_->IsShowingOverflowBubble()) |
return IDR_AURA_NOTIFICATION_BACKGROUND_PRESSED; |
- else if (shelf_->shelf_widget()->GetDimsShelf()) |
+ else if (wm_shelf_->IsDimmed()) |
return IDR_AURA_NOTIFICATION_BACKGROUND_ON_BLACK; |
return IDR_AURA_NOTIFICATION_BACKGROUND_NORMAL; |
} |
gfx::Rect OverflowButton::CalculateButtonBounds() { |
- ShelfAlignment alignment = shelf_->alignment(); |
+ ShelfAlignment alignment = wm_shelf_->GetAlignment(); |
gfx::Rect bounds(GetContentsBounds()); |
ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
if (MaterialDesignController::IsShelfMaterial()) { |
const int width_offset = (bounds.width() - kOverflowButtonSize) / 2; |
const int height_offset = (bounds.height() - kOverflowButtonSize) / 2; |
- if (shelf_->IsHorizontalAlignment()) { |
+ if (IsHorizontalAlignment(alignment)) { |
bounds = gfx::Rect(bounds.x() + width_offset, bounds.y() + height_offset, |
kOverflowButtonSize, kOverflowButtonSize); |
} else { |