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

Unified Diff: ui/window/platform_window.h

Issue 255823009: [WIP] ui/window: Master CL. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 | « ui/window/DEPS ('k') | ui/window/window.gyp » ('j') | ui/window/window.gyp » ('J')
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/window/platform_window.h
diff --git a/ui/window/platform_window.h b/ui/window/platform_window.h
new file mode 100644
index 0000000000000000000000000000000000000000..6275f5265d0f34f4d830de8220ab70c336fb9b30
--- /dev/null
+++ b/ui/window/platform_window.h
@@ -0,0 +1,68 @@
+// 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.
+
+#ifndef UI_WINDOW_PLATFORM_WINDOW_H_
+#define UI_WINDOW_PLATFORM_WINDOW_H_
+
+#include "base/memory/scoped_ptr.h"
+
+namespace gfx {
+class Rect;
+}
+
+namespace ui {
+
+class Event;
+
+enum PlatformWindowState {
+ PLATFORM_WINDOW_STATE_UNKNOWN,
+ PLATFORM_WINDOW_STATE_MAXIMIZED,
+ PLATFORM_WINDOW_STATE_MINIMIZED,
+ PLATFORM_WINDOW_STATE_NORMAL,
+ PLATFORM_WINDOW_STATE_FULLSCREEN,
+};
+
+class PlatformWindowDelegate {
tfarina 2014/04/28 18:22:38 do you mind moving this to platform_window_delegat
+ public:
+ virtual ~PlatformWindowDelegate() {}
+
+ virtual void OnBoundsChanged(const gfx::Rect& new_bounds) = 0;
+
+ virtual void OnDamageRect(const gfx::Rect& damaged_region) = 0;
+
+ virtual void DispatchEvent(ui::Event* event) = 0;
+
+ virtual void OnCloseRequest() = 0;
+ virtual void OnClosed() = 0;
+
+ virtual void OnWindowStateChanged(PlatformWindowState new_state) = 0;
+
+ virtual void OnLostCapture() = 0;
+};
+
+class PlatformWindow {
+ public:
+ virtual ~PlatformWindow() {}
+
+ virtual void Show() = 0;
+ virtual void Hide() = 0;
+ virtual void Close() = 0;
+
+ virtual void SetBounds(const gfx::Rect& bounds) = 0;
+
+ virtual void SetCapture() = 0;
+ virtual void ReleaseCapture() = 0;
+
+ virtual void ToggleFullscreen() = 0;
+ virtual void Maximize() = 0;
+ virtual void Minimize() = 0;
+ virtual void Restore() = 0;
+};
+
+scoped_ptr<PlatformWindow> CreateDefaultPlatformWindow(
+ PlatformWindowDelegate* delegate);
+
+} // namespace ui
+
+#endif // UI_WINDOW_PLATFORM_WINDOW_H_
« no previous file with comments | « ui/window/DEPS ('k') | ui/window/window.gyp » ('j') | ui/window/window.gyp » ('J')

Powered by Google App Engine
This is Rietveld 408576698