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

Unified Diff: ash/common/shelf/shelf_widget.cc

Issue 2680113002: [ash-md] Remove non-md code from the Shelf background animations. (Closed)
Patch Set: Merge branch 'master' into colorize_shelf_1_remove_non_md_code Created 3 years, 10 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 | « ash/common/shelf/shelf_constants.cc ('k') | ash/common/wm/dock/docked_window_layout_manager.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ash/common/shelf/shelf_widget.cc
diff --git a/ash/common/shelf/shelf_widget.cc b/ash/common/shelf/shelf_widget.cc
index 192cb8ac7c2737d418044d1688ae9f76224048c6..d82d5438bdfbb3f326a5fbf21f09e222c5035ab5 100644
--- a/ash/common/shelf/shelf_widget.cc
+++ b/ash/common/shelf/shelf_widget.cc
@@ -5,7 +5,6 @@
#include "ash/common/shelf/shelf_widget.h"
#include "ash/common/focus_cycler.h"
-#include "ash/common/material_design/material_design_controller.h"
#include "ash/common/session/session_state_delegate.h"
#include "ash/common/shelf/app_list_button.h"
#include "ash/common/shelf/shelf_background_animator_observer.h"
@@ -23,13 +22,8 @@
#include "ash/common/wm_window_property.h"
#include "ash/root_window_controller.h"
#include "base/memory/ptr_util.h"
-#include "grit/ash_resources.h"
-#include "ui/base/resource/resource_bundle.h"
#include "ui/compositor/layer.h"
#include "ui/compositor/scoped_layer_animation_settings.h"
-#include "ui/gfx/canvas.h"
-#include "ui/gfx/image/image.h"
-#include "ui/gfx/image/image_skia_operations.h"
#include "ui/gfx/skbitmap_operations.h"
#include "ui/views/accessible_pane_view.h"
#include "ui/views/layout/fill_layout.h"
@@ -38,20 +32,13 @@
namespace ash {
-namespace {
-
-// Size of black border at bottom (or side) of shelf.
-const int kNumBlackPixels = 3;
-
-} // namespace
-
// The contents view of the Shelf. This view contains ShelfView and
// sizes it to the width of the shelf minus the size of the status area.
class ShelfWidget::DelegateView : public views::WidgetDelegate,
public views::AccessiblePaneView,
public ShelfBackgroundAnimatorObserver {
public:
- DelegateView(WmShelf* wm_shelf, ShelfWidget* shelf);
+ explicit DelegateView(ShelfWidget* shelf);
~DelegateView() override;
void set_focus_cycler(FocusCycler* focus_cycler) {
@@ -64,9 +51,6 @@ class ShelfWidget::DelegateView : public views::WidgetDelegate,
void SetParentLayer(ui::Layer* layer);
- // views::View overrides:
- void OnPaintBackground(gfx::Canvas* canvas) override;
-
// views::WidgetDelegateView overrides:
views::Widget* GetWidget() override { return View::GetWidget(); }
const views::Widget* GetWidget() const override { return View::GetWidget(); }
@@ -78,13 +62,10 @@ class ShelfWidget::DelegateView : public views::WidgetDelegate,
// ShelfBackgroundAnimatorObserver:
void UpdateShelfOpaqueBackground(int alpha) override;
- void UpdateShelfAssetBackground(int alpha) override;
private:
- WmShelf* wm_shelf_;
ShelfWidget* shelf_widget_;
FocusCycler* focus_cycler_;
- int asset_background_alpha_;
// TODO(bruthig): Remove opaque_background_ (see https://crbug.com/621551).
// A black background layer which is shown when a maximized window is visible.
ui::Layer opaque_background_;
@@ -96,15 +77,11 @@ class ShelfWidget::DelegateView : public views::WidgetDelegate,
DISALLOW_COPY_AND_ASSIGN(DelegateView);
};
-ShelfWidget::DelegateView::DelegateView(WmShelf* wm_shelf,
- ShelfWidget* shelf_widget)
- : wm_shelf_(wm_shelf),
- shelf_widget_(shelf_widget),
+ShelfWidget::DelegateView::DelegateView(ShelfWidget* shelf_widget)
+ : shelf_widget_(shelf_widget),
focus_cycler_(nullptr),
- asset_background_alpha_(0),
opaque_background_(ui::LAYER_SOLID_COLOR),
opaque_foreground_(ui::LAYER_SOLID_COLOR) {
- DCHECK(wm_shelf_);
DCHECK(shelf_widget_);
SetLayoutManager(new views::FillLayout());
set_allow_deactivate_on_esc(true);
@@ -124,63 +101,6 @@ void ShelfWidget::DelegateView::SetParentLayer(ui::Layer* layer) {
ReorderLayers();
}
-void ShelfWidget::DelegateView::OnPaintBackground(gfx::Canvas* canvas) {
- if (MaterialDesignController::IsShelfMaterial())
- return;
-
- ui::ResourceBundle* rb = &ui::ResourceBundle::GetSharedInstance();
- gfx::ImageSkia shelf_background =
- *rb->GetImageSkiaNamed(IDR_ASH_SHELF_BACKGROUND);
- const bool horizontal = wm_shelf_->IsHorizontalAlignment();
- if (!horizontal) {
- shelf_background = gfx::ImageSkiaOperations::CreateRotatedImage(
- shelf_background, wm_shelf_->GetAlignment() == SHELF_ALIGNMENT_LEFT
- ? SkBitmapOperations::ROTATION_90_CW
- : SkBitmapOperations::ROTATION_270_CW);
- }
- const gfx::Rect dock_bounds(
- shelf_widget_->shelf_layout_manager()->dock_bounds());
- cc::PaintFlags flags;
- flags.setAlpha(asset_background_alpha_);
- canvas->DrawImageInt(
- shelf_background, 0, 0, shelf_background.width(),
- shelf_background.height(),
- (horizontal && dock_bounds.x() == 0 && dock_bounds.width() > 0)
- ? dock_bounds.width()
- : 0,
- 0, horizontal ? width() - dock_bounds.width() : width(), height(), false,
- flags);
- if (horizontal && dock_bounds.width() > 0) {
- // The part of the shelf background that is in the corner below the docked
- // windows close to the work area is an arched gradient that blends
- // vertically oriented docked background and horizontal shelf.
- gfx::ImageSkia shelf_corner = *rb->GetImageSkiaNamed(IDR_ASH_SHELF_CORNER);
- if (dock_bounds.x() == 0) {
- shelf_corner = gfx::ImageSkiaOperations::CreateRotatedImage(
- shelf_corner, SkBitmapOperations::ROTATION_90_CW);
- }
- canvas->DrawImageInt(
- shelf_corner, 0, 0, shelf_corner.width(), shelf_corner.height(),
- dock_bounds.x() > 0 ? dock_bounds.x() : dock_bounds.width() - height(),
- 0, height(), height(), false, flags);
- // The part of the shelf background that is just below the docked windows
- // is drawn using the last (lowest) 1-pixel tall strip of the image asset.
- // This avoids showing the border 3D shadow between the shelf and the
- // dock.
- canvas->DrawImageInt(shelf_background, 0, shelf_background.height() - 1,
- shelf_background.width(), 1,
- dock_bounds.x() > 0 ? dock_bounds.x() + height() : 0,
- 0, dock_bounds.width() - height(), height(), false,
- flags);
- }
- gfx::Rect black_rect =
- shelf_widget_->shelf_layout_manager()->SelectValueForShelfAlignment(
- gfx::Rect(0, height() - kNumBlackPixels, width(), kNumBlackPixels),
- gfx::Rect(0, 0, kNumBlackPixels, height()),
- gfx::Rect(width() - kNumBlackPixels, 0, kNumBlackPixels, height()));
- canvas->FillRect(black_rect, SK_ColorBLACK);
-}
-
bool ShelfWidget::DelegateView::CanActivate() const {
// Allow to activate as fallback.
if (shelf_widget_->activating_as_fallback_)
@@ -208,15 +128,10 @@ void ShelfWidget::DelegateView::UpdateShelfOpaqueBackground(int alpha) {
opaque_background_.SetOpacity(alpha / kMaxAlpha);
}
-void ShelfWidget::DelegateView::UpdateShelfAssetBackground(int alpha) {
- asset_background_alpha_ = alpha;
- SchedulePaint();
-}
-
ShelfWidget::ShelfWidget(WmWindow* shelf_container, WmShelf* wm_shelf)
: wm_shelf_(wm_shelf),
status_area_widget_(nullptr),
- delegate_view_(new DelegateView(wm_shelf, this)),
+ delegate_view_(new DelegateView(this)),
shelf_view_(nullptr),
background_animator_(SHELF_BACKGROUND_DEFAULT, wm_shelf_),
activating_as_fallback_(false) {
« no previous file with comments | « ash/common/shelf/shelf_constants.cc ('k') | ash/common/wm/dock/docked_window_layout_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698