| OLD | NEW |
| (Empty) |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef UI_VIEWS_WIN_FULLSCREEN_HANDLER_H_ | |
| 6 #define UI_VIEWS_WIN_FULLSCREEN_HANDLER_H_ | |
| 7 | |
| 8 #include <windows.h> | |
| 9 | |
| 10 #include <map> | |
| 11 | |
| 12 #include "base/basictypes.h" | |
| 13 | |
| 14 namespace gfx { | |
| 15 class Rect; | |
| 16 } | |
| 17 | |
| 18 namespace views { | |
| 19 | |
| 20 class FullscreenHandler { | |
| 21 public: | |
| 22 FullscreenHandler(); | |
| 23 ~FullscreenHandler(); | |
| 24 | |
| 25 void set_hwnd(HWND hwnd) { hwnd_ = hwnd; } | |
| 26 | |
| 27 void SetFullscreen(bool fullscreen); | |
| 28 void SetMetroSnap(bool metro_snap); | |
| 29 | |
| 30 gfx::Rect GetRestoreBounds() const; | |
| 31 | |
| 32 bool fullscreen() const { return fullscreen_; } | |
| 33 bool metro_snap() const { return metro_snap_; } | |
| 34 | |
| 35 private: | |
| 36 // Information saved before going into fullscreen mode, used to restore the | |
| 37 // window afterwards. | |
| 38 struct SavedWindowInfo { | |
| 39 bool maximized; | |
| 40 LONG style; | |
| 41 LONG ex_style; | |
| 42 RECT window_rect; | |
| 43 }; | |
| 44 | |
| 45 void SetFullscreenImpl(bool fullscreen, bool for_metro); | |
| 46 | |
| 47 HWND hwnd_; | |
| 48 bool fullscreen_; | |
| 49 bool metro_snap_; | |
| 50 | |
| 51 // Saved window information from before entering fullscreen mode. | |
| 52 // TODO(beng): move to private once GetRestoredBounds() moves onto Widget. | |
| 53 SavedWindowInfo saved_window_info_; | |
| 54 | |
| 55 DISALLOW_COPY_AND_ASSIGN(FullscreenHandler); | |
| 56 }; | |
| 57 | |
| 58 } // namespace views | |
| 59 | |
| 60 #endif // UI_VIEWS_WIN_FULLSCREEN_HANDLER_H_ | |
| OLD | NEW |