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.
5 #ifndef CHROME_BROWSER_UI_PANELS_PANEL_CONSTANTS_H_
6 #define CHROME_BROWSER_UI_PANELS_PANEL_CONSTANTS_H_
10 // The height in pixels of the titlebar.
11 static const int kTitlebarHeight
= 36;
13 // Absolute minimum width and height for panels, including non-client area.
14 // Should only be big enough to accomodate a close button on the reasonably
15 // recognisable titlebar.
16 // These numbers are semi-arbitrary.
17 // Motivation for 'width' is to make main buttons on the titlebar functional.
18 // Motivation for height is to allow autosized tightly-wrapped panel with a
19 // single line of text - so the height is set to be likely less then a titlebar,
20 // to make sure even small content is tightly wrapped.
21 const int kPanelMinWidth
= 80;
22 const int kPanelMinHeight
= kTitlebarHeight
+ 10;
24 // The panel can be minimized to 4-pixel lines.
25 static const int kMinimizedPanelHeight
= 4;
27 // The size (width or height) of the app icon (taskbar icon).
28 static const int kPanelAppIconSize
= 32;
30 // The size (width or height) of the button, which is also the size of the
32 static const int kPanelButtonSize
= 24;
34 // The padding in pixeles between the icon and the left border.
35 const int kTitlebarLeftPadding
= 10;
37 // The padding in pixeles between the close button and the right border.
38 const int kTitlebarRightPadding
= 6;
40 // The padding in piexles between the icon and the title text.
41 const int kIconAndTitlePadding
= 11;
43 // The padding in piexles between the title text and the button.
44 const int kTitleAndButtonPadding
= 11;
46 // The padding in pixeles between buttons.
47 static const int kButtonPadding
= 5;
49 // The number of times to flash the panel's taskbar icon in order to draw the
50 // user's attention (Windows only).
51 static const int kNumberOfTimesToFlashPanelForAttention
= 30;
53 // Different types of buttons that can be shown on panel's titlebar.
54 enum TitlebarButtonType
{
60 // Different platforms use different modifier keys to change the behavior
61 // of a mouse click. This enum captures the meaning of the modifier rather
62 // than the actual modifier key to generalize across platforms.
65 APPLY_TO_ALL
, // Apply the click behavior to all panels in the collection.
68 // Edge at which a panel is being resized using the mouse.
81 // Ways a panel can be resized.
85 RESIZABLE_BOTTOM
= 0x2,
87 RESIZABLE_RIGHT
= 0x8,
88 RESIZABLE_TOP_LEFT
= 0x10,
89 RESIZABLE_TOP_RIGHT
= 0x20,
90 RESIZABLE_BOTTOM_LEFT
= 0x40,
91 RESIZABLE_BOTTOM_RIGHT
= 0x80,
92 RESIZABLE_EXCEPT_BOTTOM
= RESIZABLE_TOP
| RESIZABLE_LEFT
| RESIZABLE_RIGHT
|
93 RESIZABLE_TOP_LEFT
| RESIZABLE_TOP_RIGHT
,
94 RESIZABLE_ALL
= RESIZABLE_TOP
| RESIZABLE_BOTTOM
| RESIZABLE_LEFT
|
95 RESIZABLE_RIGHT
| RESIZABLE_TOP_LEFT
| RESIZABLE_TOP_RIGHT
|
96 RESIZABLE_BOTTOM_LEFT
| RESIZABLE_BOTTOM_RIGHT
99 // Describes how 4 corners of a panel should be painted.
103 BOTTOM_ROUNDED
= 0x2,
104 ALL_ROUNDED
= TOP_ROUNDED
| BOTTOM_ROUNDED
109 #endif // CHROME_BROWSER_UI_PANELS_PANEL_CONSTANTS_H_