1 // Copyright (c) 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 #ifndef ASH_WM_DOCK_DOCK_TYPES_H_ 6 #define ASH_WM_DOCK_DOCK_TYPES_H_ 7 8 namespace ash { 9 10 namespace internal { 11 12 // Possible values of which side of the screen the windows are docked at. 13 // This is used by DockedwindowLayoutManager and DockedWindowResizer to 14 // implement docking behavior including magnetism while dragging windows into 15 // or out of the docked windows area. 16 enum DockedAlignment { 17 // No docked windows. 18 DOCKED_ALIGNMENT_NONE, 19 20 // Some windows are already docked on the left side of the screen. 21 DOCKED_ALIGNMENT_LEFT, 22 23 // Some windows are already docked on the right side of the screen. 24 DOCKED_ALIGNMENT_RIGHT, 25 }; 26 27 // User action recorded for use in UMA histograms. 28 enum DockedAction { 29 DOCKED_ACTION_NONE, // Regular drag of undocked window. Not recorded. 30 DOCKED_ACTION_DOCK, // Dragged and docked a window. 31 DOCKED_ACTION_UNDOCK, // Dragged and undocked a window. 32 DOCKED_ACTION_RESIZE, // Resized a docked window. 33 DOCKED_ACTION_REORDER, // Possibly reordered docked windows. 34 DOCKED_ACTION_EVICT, // A docked window could not stay docked. 35 DOCKED_ACTION_MAXIMIZE, // Maximized a docked window. 36 DOCKED_ACTION_MINIMIZE, // Minimized a docked window. 37 DOCKED_ACTION_RESTORE, // Restored a docked window that was minimized. 38 DOCKED_ACTION_CLOSE, // Closed a window while it was docked. 39 DOCKED_ACTION_COUNT, // Maximum value of this enum for histograms use. 40 }; 41 42 // Event source for the docking user action (when known). 43 enum DockedActionSource { 44 DOCKED_ACTION_SOURCE_UNKNOWN, 45 DOCKED_ACTION_SOURCE_MOUSE, 46 DOCKED_ACTION_SOURCE_TOUCH, 47 48 // Maximum value of this enum for histograms use. 49 DOCKED_ACTION_SOURCE_COUNT, 50 }; 51 52 } // namespace internal 53 } // namespace ash 54 55 #endif // ASH_WM_DOCK_DOCK_TYPES_H_ 56