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. 4 5 #ifndef UI_MESSAGE_CENTER_MESSAGE_CENTER_STYLE_H_ 6 #define UI_MESSAGE_CENTER_MESSAGE_CENTER_STYLE_H_ 7 8 #include "base/basictypes.h" 9 #include "third_party/skia/include/core/SkColor.h" 10 #include "ui/gfx/size.h" 11 #include "ui/message_center/message_center_export.h" 12 13 namespace message_center { 14 15 // Exported values ///////////////////////////////////////////////////////////// 16 17 // Square image sizes in DIPs. 18 const int kNotificationButtonIconSize = 16; 19 const int kNotificationIconSize = 80; 20 // A border is applied to images that have a non-preferred aspect ratio. 21 const int kNotificationImageBorderSize = 10; 22 const int kNotificationPreferredImageWidth = 360; 23 const int kNotificationPreferredImageHeight = 240; 24 const int kSettingsIconSize = 16; 25 const int kSmallImageSize = 16; 26 const int kSmallImagePadding = 4; 27 28 // Limits. 29 const size_t kMaxVisibleMessageCenterNotifications = 100; 30 const size_t kMaxVisiblePopupNotifications = 3; 31 32 // DIP dimension; H size of the whole card. 33 const int kNotificationWidth = 360; 34 const int kMinScrollViewHeight = 100; 35 36 // Colors. 37 MESSAGE_CENTER_EXPORT extern const SkColor kMessageCenterBorderColor; 38 MESSAGE_CENTER_EXPORT extern const SkColor kMessageCenterShadowColor; 39 40 // Settings dialog constants. 41 namespace settings { 42 43 const SkColor kEntrySeparatorColor = SkColorSetARGB(0.1 * 255, 0, 0, 0); 44 const int kEntryHeight = 45; 45 const int kEntrySeparatorHeight = 1; 46 const int kHorizontalMargin = 10; 47 const int kTopMargin = 20; 48 const int kTitleToDescriptionSpace = 20; 49 const int kEntryIconSize = 16; 50 const int kDescriptionToSwitcherSpace = 15; 51 const int kInternalHorizontalSpacing = 10; 52 const int kCheckboxSizeWithPadding = 24; 53 54 } // namespace settings 55 56 // Within a notification /////////////////////////////////////////////////////// 57 58 // DIP dimensions (H = horizontal, V = vertical). 59 60 const int kControlButtonSize = 29; // Square size of close & expand buttons. 61 const int kIconToTextPadding = 16; // H space between icon & title/message. 62 const int kTextTopPadding = 12; // V space between text elements. 63 const int kIconBottomPadding = 16; // Minimum non-zero V space between icon 64 // and frame. 65 66 // Text sizes. 67 const int kTitleFontSize = 14; // For title only. 68 const int kEmptyCenterFontSize = 13; // For empty message only. 69 const int kTitleLineHeight = 20; // In DIPs. 70 const int kMessageFontSize = 12; // For everything but title. 71 const int kMessageLineHeight = 18; // In DIPs. 72 73 // Colors. 74 extern const SkColor kNotificationBackgroundColor; // Background of the card. 75 extern const SkColor kImageBackgroundColor; // Background of the image. 76 extern const SkColor kIconBackgroundColor; // Used behind icons smaller 77 // than the icon view. 78 extern const SkColor kRegularTextColor; // Title, message, ... 79 extern const SkColor kDimTextColor; 80 extern const SkColor kFocusBorderColor; // The focus border. 81 82 // Limits. 83 84 // Given the size of an image, returns the size of the properly scaled-up image 85 // which fits into |container_size|. 86 gfx::Size GetImageSizeForContainerSize(const gfx::Size& container_size, 87 const gfx::Size& image_size); 88 89 extern const int kNotificationMaximumImageHeight; // For image notifications. 90 extern const size_t kNotificationMaximumItems; // For list notifications. 91 92 // Timing. 93 extern const int kAutocloseDefaultDelaySeconds; 94 extern const int kAutocloseHighPriorityDelaySeconds; 95 96 // Buttons. 97 const int kButtonHeight = 38; // In DIPs. 98 const int kButtonHorizontalPadding = 16; // In DIPs. 99 const int kButtonIconTopPadding = 11; // In DIPs. 100 const int kButtonIconToTitlePadding = 16; // In DIPs. 101 102 #if !defined(OS_LINUX) || defined(USE_AURA) 103 const SkColor kButtonSeparatorColor = SkColorSetRGB(234, 234, 234); 104 const SkColor kHoveredButtonBackgroundColor = SkColorSetRGB(243, 243, 243); 105 #endif 106 107 // Progress bar. 108 const int kProgressBarThickness = 5; 109 const int kProgressBarTopPadding = 16; 110 const int kProgressBarCornerRadius = 3; 111 const SkColor kProgressBarBackgroundColor = SkColorSetRGB(216, 216, 216); 112 const SkColor kProgressBarSliceColor = SkColorSetRGB(120, 120, 120); 113 114 // Line limits. 115 const int kMaxTitleLines = 2; 116 const int kMessageCollapsedLineLimit = 2; 117 const int kMessageExpandedLineLimit = 5; 118 const int kContextMessageLineLimit = 1; 119 120 // Around notifications //////////////////////////////////////////////////////// 121 122 // DIP dimensions (H = horizontal, V = vertical). 123 const int kMarginBetweenItems = 10; // H & V space around & between 124 // notifications. 125 126 // Colors. 127 extern const SkColor kBackgroundLightColor; // Behind notifications, gradient 128 extern const SkColor kBackgroundDarkColor; // from light to dark. 129 130 extern const SkColor kShadowColor; // Shadow in the tray. 131 132 extern const SkColor kMessageCenterBackgroundColor; 133 extern const SkColor kFooterDelimiterColor; // Separator color for the tray. 134 extern const SkColor kFooterTextColor; // Text color for tray labels. 135 136 } // namespace message_center 137 138 #endif // UI_MESSAGE_CENTER_MESSAGE_CENTER_STYLE_H_ 139