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

Unified Diff: ash/ime/mode_indicator_view.cc

Issue 680383008: Move ash/ime to ui/chromeos/ime (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@athena_do_not_use_ash48_global_command
Patch Set: Created 6 years, 1 month 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
Index: ash/ime/mode_indicator_view.cc
diff --git a/ash/ime/mode_indicator_view.cc b/ash/ime/mode_indicator_view.cc
deleted file mode 100644
index c8df071a759eb4cc5e0aa11d1032f78292c9eb89..0000000000000000000000000000000000000000
--- a/ash/ime/mode_indicator_view.cc
+++ /dev/null
@@ -1,95 +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 "ash/ime/mode_indicator_view.h"
-
-#include "base/logging.h"
-#include "ui/gfx/display.h"
-#include "ui/gfx/screen.h"
-#include "ui/views/bubble/bubble_delegate.h"
-#include "ui/views/bubble/bubble_frame_view.h"
-#include "ui/views/controls/label.h"
-#include "ui/views/layout/fill_layout.h"
-#include "ui/wm/core/window_animations.h"
-
-namespace ash {
-namespace ime {
-
-namespace {
-// Minimum size of inner contents in pixel.
-// 43 is the designed size including the default margin (6 * 2).
-const int kMinSize = 31;
-
-// After this duration in msec, the mode inicator will be fading out.
-const int kShowingDuration = 500;
-
-class ModeIndicatorFrameView : public views::BubbleFrameView {
- public:
- explicit ModeIndicatorFrameView(const gfx::Insets& content_margins)
- : views::BubbleFrameView(content_margins) {}
- ~ModeIndicatorFrameView() override {}
-
- private:
- // views::BubbleFrameView overrides:
- gfx::Rect GetAvailableScreenBounds(const gfx::Rect& rect) override {
- return gfx::Screen::GetNativeScreen()->GetDisplayNearestPoint(
- rect.CenterPoint()).bounds();
- }
-
- DISALLOW_COPY_AND_ASSIGN(ModeIndicatorFrameView);
-};
-
-} // namespace
-
-
-ModeIndicatorView::ModeIndicatorView(gfx::NativeView parent,
- const gfx::Rect& cursor_bounds,
- const base::string16& label)
- : cursor_bounds_(cursor_bounds),
- label_view_(new views::Label(label)) {
- set_can_activate(false);
- set_accept_events(false);
- set_parent_window(parent);
- set_shadow(views::BubbleBorder::NO_SHADOW);
- set_arrow(views::BubbleBorder::TOP_CENTER);
-}
-
-ModeIndicatorView::~ModeIndicatorView() {}
-
-void ModeIndicatorView::ShowAndFadeOut() {
- wm::SetWindowVisibilityAnimationTransition(
- GetWidget()->GetNativeView(),
- wm::ANIMATE_HIDE);
- GetWidget()->Show();
- timer_.Start(FROM_HERE,
- base::TimeDelta::FromMilliseconds(kShowingDuration),
- GetWidget(),
- &views::Widget::Close);
-}
-
-gfx::Size ModeIndicatorView::GetPreferredSize() const {
- gfx::Size size = label_view_->GetPreferredSize();
- size.SetToMax(gfx::Size(kMinSize, kMinSize));
- return size;
-}
-
-void ModeIndicatorView::Init() {
- SetLayoutManager(new views::FillLayout());
- AddChildView(label_view_);
-
- SetAnchorRect(cursor_bounds_);
-}
-
-views::NonClientFrameView* ModeIndicatorView::CreateNonClientFrameView(
- views::Widget* widget) {
- views::BubbleFrameView* frame = new ModeIndicatorFrameView(margins());
- // arrow adjustment in BubbleDelegateView is unnecessary because arrow
- // of this bubble is always center.
- frame->SetBubbleBorder(scoped_ptr<views::BubbleBorder>(
- new views::BubbleBorder(arrow(), shadow(), color())));
- return frame;
-}
-
-} // namespace ime
-} // namespace ash

Powered by Google App Engine
This is Rietveld 408576698