| Index: ui/views/widget/desktop_aura/desktop_root_window_host.h
|
| diff --git a/ui/views/widget/desktop_aura/desktop_root_window_host.h b/ui/views/widget/desktop_aura/desktop_root_window_host.h
|
| index ad904fac6577c5e21055d5b09db036b7a94ceae1..5c5a4ee41887b4f485652929b92828033657453d 100644
|
| --- a/ui/views/widget/desktop_aura/desktop_root_window_host.h
|
| +++ b/ui/views/widget/desktop_aura/desktop_root_window_host.h
|
| @@ -1,154 +1,156 @@
|
| -// Copyright (c) 2012 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 UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_ROOT_WINDOW_HOST_H_
|
| -#define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_ROOT_WINDOW_HOST_H_
|
| -
|
| -#include "base/memory/scoped_ptr.h"
|
| -#include "ui/aura/root_window.h"
|
| -#include "ui/base/ui_base_types.h"
|
| -#include "ui/views/views_export.h"
|
| -#include "ui/views/widget/widget.h"
|
| -
|
| -namespace aura {
|
| -class RootWindowHost;
|
| -class Window;
|
| -
|
| -namespace client {
|
| -class DragDropClient;
|
| -}
|
| -}
|
| -
|
| -namespace gfx {
|
| -class ImageSkia;
|
| -class Rect;
|
| -}
|
| -
|
| -namespace ui {
|
| -class NativeTheme;
|
| -}
|
| -
|
| -namespace views {
|
| -namespace corewm {
|
| -
|
| -class Tooltip;
|
| -}
|
| -
|
| -namespace internal {
|
| -class NativeWidgetDelegate;
|
| -}
|
| -
|
| -class DesktopNativeCursorManager;
|
| -class DesktopNativeWidgetAura;
|
| -
|
| -class VIEWS_EXPORT DesktopRootWindowHost {
|
| - public:
|
| - virtual ~DesktopRootWindowHost() {}
|
| -
|
| - static DesktopRootWindowHost* Create(
|
| - internal::NativeWidgetDelegate* native_widget_delegate,
|
| - DesktopNativeWidgetAura* desktop_native_widget_aura);
|
| -
|
| - // Return the NativeTheme to use for |window|. WARNING: |window| may be NULL.
|
| - static ui::NativeTheme* GetNativeTheme(aura::Window* window);
|
| -
|
| - // Sets up resources needed before the RootWindow has been created.
|
| - virtual void Init(aura::Window* content_window,
|
| - const Widget::InitParams& params,
|
| - aura::RootWindow::CreateParams* rw_create_params) = 0;
|
| -
|
| - // Invoked once the RootWindow has been created. Caller owns the RootWindow.
|
| - virtual void OnRootWindowCreated(aura::RootWindow* root,
|
| - const Widget::InitParams& params) = 0;
|
| -
|
| - // Creates and returns the Tooltip implementation to use. Return value is
|
| - // owned by DesktopNativeWidgetAura and lives as long as
|
| - // DesktopRootWindowHost.
|
| - virtual scoped_ptr<corewm::Tooltip> CreateTooltip() = 0;
|
| -
|
| - // Creates and returns the DragDropClient implementation to use. Return value
|
| - // is owned by DesktopNativeWidgetAura and lives as long as
|
| - // DesktopRootWindowHost.
|
| - virtual scoped_ptr<aura::client::DragDropClient> CreateDragDropClient(
|
| - DesktopNativeCursorManager* cursor_manager) = 0;
|
| -
|
| - virtual void Close() = 0;
|
| - virtual void CloseNow() = 0;
|
| -
|
| - virtual aura::RootWindowHost* AsRootWindowHost() = 0;
|
| -
|
| - virtual void ShowWindowWithState(ui::WindowShowState show_state) = 0;
|
| - virtual void ShowMaximizedWithBounds(const gfx::Rect& restored_bounds) = 0;
|
| -
|
| - virtual bool IsVisible() const = 0;
|
| -
|
| - virtual void SetSize(const gfx::Size& size) = 0;
|
| - virtual void CenterWindow(const gfx::Size& size) = 0;
|
| - virtual void GetWindowPlacement(gfx::Rect* bounds,
|
| - ui::WindowShowState* show_state) const = 0;
|
| - virtual gfx::Rect GetWindowBoundsInScreen() const = 0;
|
| - virtual gfx::Rect GetClientAreaBoundsInScreen() const = 0;
|
| - virtual gfx::Rect GetRestoredBounds() const = 0;
|
| -
|
| - virtual gfx::Rect GetWorkAreaBoundsInScreen() const = 0;
|
| -
|
| - virtual void SetShape(gfx::NativeRegion native_region) = 0;
|
| -
|
| - virtual void Activate() = 0;
|
| - virtual void Deactivate() = 0;
|
| - virtual bool IsActive() const = 0;
|
| - virtual void Maximize() = 0;
|
| - virtual void Minimize() = 0;
|
| - virtual void Restore() = 0;
|
| - virtual bool IsMaximized() const = 0;
|
| - virtual bool IsMinimized() const = 0;
|
| -
|
| - virtual bool HasCapture() const = 0;
|
| -
|
| - virtual void SetAlwaysOnTop(bool always_on_top) = 0;
|
| - virtual bool IsAlwaysOnTop() const = 0;
|
| -
|
| - virtual void SetWindowTitle(const string16& title) = 0;
|
| -
|
| - virtual void ClearNativeFocus() = 0;
|
| -
|
| - virtual Widget::MoveLoopResult RunMoveLoop(
|
| - const gfx::Vector2d& drag_offset,
|
| - Widget::MoveLoopSource source,
|
| - Widget::MoveLoopEscapeBehavior escape_behavior) = 0;
|
| - virtual void EndMoveLoop() = 0;
|
| -
|
| - virtual void SetVisibilityChangedAnimationsEnabled(bool value) = 0;
|
| -
|
| - virtual bool ShouldUseNativeFrame() = 0;
|
| - virtual void FrameTypeChanged() = 0;
|
| - virtual NonClientFrameView* CreateNonClientFrameView() = 0;
|
| -
|
| - virtual void SetFullscreen(bool fullscreen) = 0;
|
| - virtual bool IsFullscreen() const = 0;
|
| -
|
| - virtual void SetOpacity(unsigned char opacity) = 0;
|
| -
|
| - virtual void SetWindowIcons(const gfx::ImageSkia& window_icon,
|
| - const gfx::ImageSkia& app_icon) = 0;
|
| -
|
| - virtual void InitModalType(ui::ModalType modal_type) = 0;
|
| -
|
| - virtual void FlashFrame(bool flash_frame) = 0;
|
| -
|
| - virtual void OnRootViewLayout() const = 0;
|
| -
|
| - // Called when the DesktopNativeWidgetAura's aura::Window is focused and
|
| - // blurred.
|
| - virtual void OnNativeWidgetFocus() = 0;
|
| - virtual void OnNativeWidgetBlur() = 0;
|
| -
|
| - // Returns true if the Widget was closed but is still showing because of
|
| - // animations.
|
| - virtual bool IsAnimatingClosed() const = 0;
|
| -};
|
| -
|
| -} // namespace views
|
| -
|
| -#endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_ROOT_WINDOW_HOST_H_
|
| +// Copyright (c) 2012 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 UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_ROOT_WINDOW_HOST_H_
|
| +#define UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_ROOT_WINDOW_HOST_H_
|
| +
|
| +#include "base/memory/scoped_ptr.h"
|
| +#include "ui/aura/root_window.h"
|
| +#include "ui/base/ui_base_types.h"
|
| +#include "ui/views/views_export.h"
|
| +#include "ui/views/widget/widget.h"
|
| +
|
| +namespace aura {
|
| +class RootWindowHost;
|
| +class Window;
|
| +
|
| +namespace client {
|
| +class DragDropClient;
|
| +}
|
| +}
|
| +
|
| +namespace gfx {
|
| +class ImageSkia;
|
| +class Rect;
|
| +}
|
| +
|
| +namespace ui {
|
| +class NativeTheme;
|
| +}
|
| +
|
| +namespace views {
|
| +namespace corewm {
|
| +
|
| +class Tooltip;
|
| +}
|
| +
|
| +namespace internal {
|
| +class NativeWidgetDelegate;
|
| +}
|
| +
|
| +class DesktopNativeCursorManager;
|
| +class DesktopNativeWidgetAura;
|
| +
|
| +class VIEWS_EXPORT DesktopRootWindowHost {
|
| + public:
|
| + virtual ~DesktopRootWindowHost() {}
|
| +
|
| + static DesktopRootWindowHost* Create(
|
| + internal::NativeWidgetDelegate* native_widget_delegate,
|
| + DesktopNativeWidgetAura* desktop_native_widget_aura);
|
| +
|
| + // Return the NativeTheme to use for |window|. WARNING: |window| may be NULL.
|
| + static ui::NativeTheme* GetNativeTheme(aura::Window* window);
|
| +
|
| + // Sets up resources needed before the RootWindow has been created.
|
| + virtual void Init(aura::Window* content_window,
|
| + const Widget::InitParams& params,
|
| + aura::RootWindow::CreateParams* rw_create_params) = 0;
|
| +
|
| + // Invoked once the RootWindow has been created. Caller owns the RootWindow.
|
| + virtual void OnRootWindowCreated(aura::RootWindow* root,
|
| + const Widget::InitParams& params) = 0;
|
| +
|
| + // Creates and returns the Tooltip implementation to use. Return value is
|
| + // owned by DesktopNativeWidgetAura and lives as long as
|
| + // DesktopRootWindowHost.
|
| + virtual scoped_ptr<corewm::Tooltip> CreateTooltip() = 0;
|
| +
|
| + // Creates and returns the DragDropClient implementation to use. Return value
|
| + // is owned by DesktopNativeWidgetAura and lives as long as
|
| + // DesktopRootWindowHost.
|
| + virtual scoped_ptr<aura::client::DragDropClient> CreateDragDropClient(
|
| + DesktopNativeCursorManager* cursor_manager) = 0;
|
| +
|
| + virtual void Close() = 0;
|
| + virtual void CloseNow() = 0;
|
| +
|
| + virtual aura::RootWindowHost* AsRootWindowHost() = 0;
|
| +
|
| + virtual void ShowWindowWithState(ui::WindowShowState show_state) = 0;
|
| + virtual void ShowMaximizedWithBounds(const gfx::Rect& restored_bounds) = 0;
|
| +
|
| + virtual bool IsVisible() const = 0;
|
| +
|
| + virtual void SetSize(const gfx::Size& size) = 0;
|
| + virtual void CenterWindow(const gfx::Size& size) = 0;
|
| + virtual void GetWindowPlacement(gfx::Rect* bounds,
|
| + ui::WindowShowState* show_state) const = 0;
|
| + virtual gfx::Rect GetWindowBoundsInScreen() const = 0;
|
| + virtual gfx::Rect GetClientAreaBoundsInScreen() const = 0;
|
| + virtual gfx::Rect GetRestoredBounds() const = 0;
|
| +
|
| + virtual gfx::Rect GetWorkAreaBoundsInScreen() const = 0;
|
| +
|
| + // Sets the shape of the root window. If |native_region| is NULL then the
|
| + // window reverts to rectangular. Takes ownership of |native_region|.
|
| + virtual void SetShape(gfx::NativeRegion native_region) = 0;
|
| +
|
| + virtual void Activate() = 0;
|
| + virtual void Deactivate() = 0;
|
| + virtual bool IsActive() const = 0;
|
| + virtual void Maximize() = 0;
|
| + virtual void Minimize() = 0;
|
| + virtual void Restore() = 0;
|
| + virtual bool IsMaximized() const = 0;
|
| + virtual bool IsMinimized() const = 0;
|
| +
|
| + virtual bool HasCapture() const = 0;
|
| +
|
| + virtual void SetAlwaysOnTop(bool always_on_top) = 0;
|
| + virtual bool IsAlwaysOnTop() const = 0;
|
| +
|
| + virtual void SetWindowTitle(const string16& title) = 0;
|
| +
|
| + virtual void ClearNativeFocus() = 0;
|
| +
|
| + virtual Widget::MoveLoopResult RunMoveLoop(
|
| + const gfx::Vector2d& drag_offset,
|
| + Widget::MoveLoopSource source,
|
| + Widget::MoveLoopEscapeBehavior escape_behavior) = 0;
|
| + virtual void EndMoveLoop() = 0;
|
| +
|
| + virtual void SetVisibilityChangedAnimationsEnabled(bool value) = 0;
|
| +
|
| + virtual bool ShouldUseNativeFrame() = 0;
|
| + virtual void FrameTypeChanged() = 0;
|
| + virtual NonClientFrameView* CreateNonClientFrameView() = 0;
|
| +
|
| + virtual void SetFullscreen(bool fullscreen) = 0;
|
| + virtual bool IsFullscreen() const = 0;
|
| +
|
| + virtual void SetOpacity(unsigned char opacity) = 0;
|
| +
|
| + virtual void SetWindowIcons(const gfx::ImageSkia& window_icon,
|
| + const gfx::ImageSkia& app_icon) = 0;
|
| +
|
| + virtual void InitModalType(ui::ModalType modal_type) = 0;
|
| +
|
| + virtual void FlashFrame(bool flash_frame) = 0;
|
| +
|
| + virtual void OnRootViewLayout() const = 0;
|
| +
|
| + // Called when the DesktopNativeWidgetAura's aura::Window is focused and
|
| + // blurred.
|
| + virtual void OnNativeWidgetFocus() = 0;
|
| + virtual void OnNativeWidgetBlur() = 0;
|
| +
|
| + // Returns true if the Widget was closed but is still showing because of
|
| + // animations.
|
| + virtual bool IsAnimatingClosed() const = 0;
|
| +};
|
| +
|
| +} // namespace views
|
| +
|
| +#endif // UI_VIEWS_WIDGET_DESKTOP_AURA_DESKTOP_ROOT_WINDOW_HOST_H_
|
|
|