1 // Copyright 2017 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 "chromeos/ui/base/window_state_type.h" 6 7 #include "base/notreached.h" 8 9 namespace chromeos { 10 operator <<(std::ostream & stream,WindowStateType state)11std::ostream& operator<<(std::ostream& stream, WindowStateType state) { 12 switch (state) { 13 case WindowStateType::kDefault: 14 return stream << "kDefault"; 15 case WindowStateType::kNormal: 16 return stream << "kNormal"; 17 case WindowStateType::kMinimized: 18 return stream << "kMinimized"; 19 case WindowStateType::kMaximized: 20 return stream << "kMaximized"; 21 case WindowStateType::kInactive: 22 return stream << "kInactive"; 23 case WindowStateType::kFullscreen: 24 return stream << "kFullscreen"; 25 case WindowStateType::kLeftSnapped: 26 return stream << "kLeftSnapped"; 27 case WindowStateType::kRightSnapped: 28 return stream << "kRightSnapped"; 29 case WindowStateType::kAutoPositioned: 30 return stream << "kAutoPositioned"; 31 case WindowStateType::kPinned: 32 return stream << "kPinned"; 33 case WindowStateType::kTrustedPinned: 34 return stream << "kTrustedPinned"; 35 case WindowStateType::kPip: 36 return stream << "kPip"; 37 } 38 39 NOTREACHED(); 40 return stream; 41 } 42 ToWindowStateType(ui::WindowShowState state)43WindowStateType ToWindowStateType(ui::WindowShowState state) { 44 switch (state) { 45 case ui::SHOW_STATE_DEFAULT: 46 return WindowStateType::kDefault; 47 case ui::SHOW_STATE_NORMAL: 48 return WindowStateType::kNormal; 49 case ui::SHOW_STATE_MINIMIZED: 50 return WindowStateType::kMinimized; 51 case ui::SHOW_STATE_MAXIMIZED: 52 return WindowStateType::kMaximized; 53 case ui::SHOW_STATE_INACTIVE: 54 return WindowStateType::kInactive; 55 case ui::SHOW_STATE_FULLSCREEN: 56 return WindowStateType::kFullscreen; 57 case ui::SHOW_STATE_END: 58 NOTREACHED(); 59 return WindowStateType::kDefault; 60 } 61 } 62 ToWindowShowState(WindowStateType type)63ui::WindowShowState ToWindowShowState(WindowStateType type) { 64 switch (type) { 65 case WindowStateType::kDefault: 66 return ui::SHOW_STATE_DEFAULT; 67 case WindowStateType::kNormal: 68 case WindowStateType::kRightSnapped: 69 case WindowStateType::kLeftSnapped: 70 case WindowStateType::kAutoPositioned: 71 case WindowStateType::kPip: 72 return ui::SHOW_STATE_NORMAL; 73 74 case WindowStateType::kMinimized: 75 return ui::SHOW_STATE_MINIMIZED; 76 case WindowStateType::kMaximized: 77 return ui::SHOW_STATE_MAXIMIZED; 78 case WindowStateType::kInactive: 79 return ui::SHOW_STATE_INACTIVE; 80 case WindowStateType::kFullscreen: 81 case WindowStateType::kPinned: 82 case WindowStateType::kTrustedPinned: 83 return ui::SHOW_STATE_FULLSCREEN; 84 } 85 NOTREACHED(); 86 return ui::SHOW_STATE_DEFAULT; 87 } 88 IsFullscreenOrPinnedWindowStateType(WindowStateType type)89bool IsFullscreenOrPinnedWindowStateType(WindowStateType type) { 90 return type == WindowStateType::kFullscreen || 91 type == WindowStateType::kPinned || 92 type == WindowStateType::kTrustedPinned; 93 } 94 IsMaximizedOrFullscreenOrPinnedWindowStateType(WindowStateType type)95bool IsMaximizedOrFullscreenOrPinnedWindowStateType(WindowStateType type) { 96 return type == WindowStateType::kMaximized || 97 IsFullscreenOrPinnedWindowStateType(type); 98 } 99 IsMinimizedWindowStateType(WindowStateType type)100bool IsMinimizedWindowStateType(WindowStateType type) { 101 return type == WindowStateType::kMinimized; 102 } 103 IsNormalWindowStateType(WindowStateType type)104bool IsNormalWindowStateType(WindowStateType type) { 105 return type == WindowStateType::kNormal || type == WindowStateType::kDefault; 106 } 107 IsValidWindowStateType(int64_t value)108bool IsValidWindowStateType(int64_t value) { 109 return value == int64_t(WindowStateType::kDefault) || 110 value == int64_t(WindowStateType::kNormal) || 111 value == int64_t(WindowStateType::kMinimized) || 112 value == int64_t(WindowStateType::kMaximized) || 113 value == int64_t(WindowStateType::kInactive) || 114 value == int64_t(WindowStateType::kFullscreen) || 115 value == int64_t(WindowStateType::kLeftSnapped) || 116 value == int64_t(WindowStateType::kRightSnapped) || 117 value == int64_t(WindowStateType::kAutoPositioned) || 118 value == int64_t(WindowStateType::kPinned) || 119 value == int64_t(WindowStateType::kTrustedPinned) || 120 value == int64_t(WindowStateType::kPip); 121 } 122 123 } // namespace chromeos 124