Home | History | Annotate | Download | only in wm
      1 // Copyright 2013 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 #include "ash/wm/wm_types.h"
      6 
      7 #include "base/basictypes.h"
      8 #include "base/logging.h"
      9 
     10 namespace ash {
     11 namespace wm {
     12 
     13 // This is to catch the change to WindowShowState.
     14 COMPILE_ASSERT(
     15     ui::SHOW_STATE_END ==
     16     static_cast<ui::WindowShowState>(WINDOW_STATE_TYPE_END),
     17     show_enum_mismatch);
     18 
     19 WindowStateType ToWindowStateType(ui::WindowShowState state) {
     20   return static_cast<WindowStateType>(state);
     21 }
     22 
     23 ui::WindowShowState ToWindowShowState(WindowStateType type) {
     24   switch (type) {
     25     case WINDOW_STATE_TYPE_DEFAULT:
     26       return ui::SHOW_STATE_DEFAULT;
     27     case WINDOW_STATE_TYPE_NORMAL:
     28     case WINDOW_STATE_TYPE_RIGHT_SNAPPED:
     29     case WINDOW_STATE_TYPE_LEFT_SNAPPED:
     30     case WINDOW_STATE_TYPE_AUTO_POSITIONED:
     31       return ui::SHOW_STATE_NORMAL;
     32     case WINDOW_STATE_TYPE_MINIMIZED:
     33       return ui::SHOW_STATE_MINIMIZED;
     34     case WINDOW_STATE_TYPE_MAXIMIZED:
     35       return ui::SHOW_STATE_MAXIMIZED;
     36     case WINDOW_STATE_TYPE_INACTIVE:
     37       return ui::SHOW_STATE_INACTIVE;
     38     case WINDOW_STATE_TYPE_FULLSCREEN:
     39       return ui::SHOW_STATE_FULLSCREEN;
     40     case WINDOW_STATE_TYPE_END:
     41       NOTREACHED();
     42   }
     43   NOTREACHED();
     44   return ui::SHOW_STATE_DEFAULT;
     45 }
     46 
     47 bool IsMaximizedOrFullscreenWindowStateType(WindowStateType type) {
     48   return type == WINDOW_STATE_TYPE_MAXIMIZED ||
     49       type == WINDOW_STATE_TYPE_FULLSCREEN;
     50 }
     51 
     52 }  // namespace wm
     53 }  // namespace ash
     54