| Index: ash/frame/caption_buttons/frame_maximize_button.h
|
| diff --git a/ash/frame/caption_buttons/frame_maximize_button.h b/ash/frame/caption_buttons/frame_maximize_button.h
|
| deleted file mode 100644
|
| index 29d89e81f475c343ce7d1c800c738d553756308b..0000000000000000000000000000000000000000
|
| --- a/ash/frame/caption_buttons/frame_maximize_button.h
|
| +++ /dev/null
|
| @@ -1,174 +0,0 @@
|
| -// Copyright 2013 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.
|
| -
|
| -#ifndef ASH_FRAME_CAPTION_BUTTONS_FRAME_MAXIMIZE_BUTTON_H_
|
| -#define ASH_FRAME_CAPTION_BUTTONS_FRAME_MAXIMIZE_BUTTON_H_
|
| -
|
| -#include "ash/ash_export.h"
|
| -#include "ash/frame/caption_buttons/caption_button_types.h"
|
| -#include "ash/frame/caption_buttons/frame_caption_button.h"
|
| -#include "ash/wm/workspace/snap_types.h"
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "base/observer_list.h"
|
| -#include "base/timer/timer.h"
|
| -#include "ui/aura/window_observer.h"
|
| -#include "ui/views/widget/widget_observer.h"
|
| -
|
| -namespace views {
|
| -class Widget;
|
| -}
|
| -
|
| -namespace ash {
|
| -class FrameMaximizeButtonObserver;
|
| -class MaximizeBubbleController;
|
| -class PhantomWindowController;
|
| -
|
| -// Button used for the maximize control on the frame. Handles snapping logic.
|
| -class ASH_EXPORT FrameMaximizeButton : public FrameCaptionButton,
|
| - public views::WidgetObserver,
|
| - public aura::WindowObserver {
|
| - public:
|
| - FrameMaximizeButton(views::ButtonListener* listener,
|
| - views::Widget* frame);
|
| - virtual ~FrameMaximizeButton();
|
| -
|
| - void AddObserver(FrameMaximizeButtonObserver* observer);
|
| - void RemoveObserver(FrameMaximizeButtonObserver* observer);
|
| -
|
| - // Updates |snap_type_| based on a a given snap type. This is used by
|
| - // external hover events from the button menu.
|
| - void SnapButtonHovered(SnapType type);
|
| -
|
| - // The user clicked the |type| button and the action needs to be performed,
|
| - // which will at the same time close the window.
|
| - void ExecuteSnapAndCloseMenu(SnapType type);
|
| -
|
| - // Called by the MaximizeBubbleController when the maximize bubble is shown.
|
| - void OnMaximizeBubbleShown(views::Widget* bubble);
|
| -
|
| - // Remove the maximize menu from the screen (and destroy it).
|
| - void DestroyMaximizeMenu();
|
| -
|
| - // Returns true when the user clicks and drags the button.
|
| - bool is_snap_enabled() const { return is_snap_enabled_; }
|
| -
|
| - // WindowObserver overrides:
|
| - virtual void OnWindowBoundsChanged(aura::Window* window,
|
| - const gfx::Rect& old_bounds,
|
| - const gfx::Rect& new_bounds) OVERRIDE;
|
| - virtual void OnWindowPropertyChanged(aura::Window* window,
|
| - const void* key,
|
| - intptr_t old) OVERRIDE;
|
| - virtual void OnWindowDestroying(aura::Window* window) OVERRIDE;
|
| -
|
| - // WidgetObserver overrides:
|
| - virtual void OnWidgetActivationChanged(views::Widget* widget,
|
| - bool active) OVERRIDE;
|
| -
|
| - // ImageButton overrides:
|
| - virtual bool OnMousePressed(const ui::MouseEvent& event) OVERRIDE;
|
| - virtual void OnMouseEntered(const ui::MouseEvent& event) OVERRIDE;
|
| - virtual void OnMouseExited(const ui::MouseEvent& event) OVERRIDE;
|
| - virtual bool OnMouseDragged(const ui::MouseEvent& event) OVERRIDE;
|
| - virtual void OnMouseReleased(const ui::MouseEvent& event) OVERRIDE;
|
| - virtual void OnMouseCaptureLost() OVERRIDE;
|
| -
|
| - // ui::EventHandler overrides:
|
| - virtual void OnGestureEvent(ui::GestureEvent* event) OVERRIDE;
|
| -
|
| - // views::View overwrite:
|
| - virtual void SetVisible(bool visible) OVERRIDE;
|
| -
|
| - // Unit test overwrite: Change the UI delay used for the bubble show up.
|
| - void set_bubble_appearance_delay_ms(int bubble_appearance_delay_ms) {
|
| - bubble_appearance_delay_ms_ = bubble_appearance_delay_ms;
|
| - }
|
| -
|
| - // Unit test accessor for the maximize bubble.
|
| - MaximizeBubbleController* maximizer() { return maximizer_.get(); }
|
| -
|
| - // Unit test to see if phantom window is open.
|
| - bool phantom_window_open() { return phantom_window_.get() != NULL; }
|
| -
|
| - private:
|
| - class EscapeEventFilter;
|
| -
|
| - // Initializes the snap-gesture based on the event. This should only be called
|
| - // when the event is confirmed to have started a snap gesture.
|
| - void ProcessStartEvent(const ui::LocatedEvent& event);
|
| -
|
| - // Updates the snap-state based on the current event. This should only be
|
| - // called after the snap gesture has already started.
|
| - void ProcessUpdateEvent(const ui::LocatedEvent& event);
|
| -
|
| - // Returns true if the window was snapped. Returns false otherwise.
|
| - bool ProcessEndEvent(const ui::LocatedEvent& event);
|
| -
|
| - // Cancels snap behavior. If |keep_menu_open| is set, a possibly opened
|
| - // bubble help will remain open.
|
| - void Cancel(bool keep_menu_open);
|
| -
|
| - // Installs/uninstalls an EventFilter to track when escape is pressed.
|
| - void InstallEventFilter();
|
| - void UninstallEventFilter();
|
| -
|
| - // Updates the snap position from the event location. This is invoked by
|
| - // |update_timer_|.
|
| - void UpdateSnapFromEventLocation();
|
| -
|
| - // Updates |snap_type_| based on a mouse drag.
|
| - void UpdateSnap(const gfx::Point& location);
|
| -
|
| - // Returns the type of snap based on the specified location.
|
| - SnapType SnapTypeForLocation(const gfx::Point& location) const;
|
| -
|
| - // Returns the bounds of the resulting window for the specified type.
|
| - gfx::Rect ScreenBoundsForType(SnapType type) const;
|
| -
|
| - // Snaps the window to the current snap position determined by |snap_type_|.
|
| - void Snap();
|
| -
|
| - // Determine the maximize type of this window.
|
| - MaximizeBubbleFrameState GetMaximizeBubbleFrameState() const;
|
| -
|
| - // Widget that the maximize button acts on. This is different than the widget
|
| - // which contains the button in the case of AppNonClientFrameViewAsh.
|
| - views::Widget* frame_;
|
| -
|
| - // True if we have put observers on |frame_|.
|
| - bool observing_frame_;
|
| -
|
| - // Renders the snap position.
|
| - scoped_ptr<PhantomWindowController> phantom_window_;
|
| -
|
| - // Is snapping enabled? Set on press so that in drag we know whether we
|
| - // should show the snap locations.
|
| - bool is_snap_enabled_;
|
| -
|
| - // Did the user drag far enough to trigger snapping?
|
| - bool exceeded_drag_threshold_;
|
| -
|
| - // Location of the press.
|
| - gfx::Point press_location_;
|
| -
|
| - // Current snap type.
|
| - SnapType snap_type_;
|
| -
|
| - scoped_ptr<EscapeEventFilter> escape_event_filter_;
|
| -
|
| - base::OneShotTimer<FrameMaximizeButton> update_timer_;
|
| -
|
| - scoped_ptr<MaximizeBubbleController> maximizer_;
|
| -
|
| - // The delay of the bubble appearance.
|
| - int bubble_appearance_delay_ms_;
|
| -
|
| - ObserverList<FrameMaximizeButtonObserver> observer_list_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(FrameMaximizeButton);
|
| -};
|
| -
|
| -} // namespace ash
|
| -
|
| -#endif // ASH_FRAME_CAPTION_BUTTONS_FRAME_MAXIMIZE_BUTTON_H_
|
|
|