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_DETACHED:
     41       return ui::SHOW_STATE_DETACHED;
     42     case WINDOW_STATE_TYPE_END:
     43       NOTREACHED();
     44   }
     45   NOTREACHED();
     46   return ui::SHOW_STATE_DEFAULT;
     47 }
     48 
     49 bool IsMaximizedOrFullscreenWindowStateType(WindowStateType type) {
     50   return type == WINDOW_STATE_TYPE_MAXIMIZED ||
     51       type == WINDOW_STATE_TYPE_FULLSCREEN;
     52 }
     53 
     54 }  // namespace wm
     55 }  // namespace ash
     56