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

Unified Diff: ui/views/widget/desktop_aura/desktop_root_window_host.h

Issue 54983005: Plumb native AppWindow input region through to window shape under Aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix typo in X11 patch Created 7 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: 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_
« no previous file with comments | « chrome/browser/ui/views/apps/native_app_window_views.cc ('k') | ui/views/widget/desktop_aura/desktop_root_window_host_win.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698