Home | History | Annotate | Download | only in message_center
      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