1 // Copyright 2015 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 #include "chrome/browser/ui/views/layout_constants.h"
7 #include "base/logging.h"
8 #include "ui/base/resource/material_design/material_design_controller.h"
10 int GetLayoutConstant(LayoutConstant constant
) {
11 const int kIconLabelViewTrailingPadding
[] = {2, 8, 8};
12 const int kLocationBarBubbleHorizontalPadding
[] = {1, 5, 5};
13 const int kLocationBarBubbleVerticalPadding
[] = {1, 3, 3};
14 const int kLocationBarHeight
[] = {0, 28, 32};
15 const int kLocationBarHorizontalPadding
[] = {3, 6, 6};
16 const int kLocationBarVerticalPadding
[] = {2, 2, 2};
17 const int kOmniboxDropdownBorderInterior
[] = {6, 0, 0};
18 const int kOmniboxFontPixelSize
[] = {16, 14, 14};
19 const int kToolbarViewContentShadowHeight
[] = {0, 0, 0};
20 const int kToolbarViewContentShadowHeightAsh
[] = {2, 0, 0};
21 const int kToolbarViewElementPadding
[] = {0, 0, 8};
22 const int kToolbarViewLocationBarRightPadding
[] = {0, 4, 8};
23 const int kToolbarViewStandardSpacing
[] = {3, 4, 8};
25 const int mode
= ui::MaterialDesignController::GetMode();
27 case ICON_LABEL_VIEW_TRAILING_PADDING
:
28 return kIconLabelViewTrailingPadding
[mode
];
29 case LOCATION_BAR_BUBBLE_HORIZONTAL_PADDING
:
30 return kLocationBarBubbleHorizontalPadding
[mode
];
31 case LOCATION_BAR_BUBBLE_VERTICAL_PADDING
:
32 return kLocationBarBubbleVerticalPadding
[mode
];
33 case LOCATION_BAR_HEIGHT
:
34 return kLocationBarHeight
[mode
];
35 case LOCATION_BAR_HORIZONTAL_PADDING
:
36 return kLocationBarHorizontalPadding
[mode
];
37 case LOCATION_BAR_VERTICAL_PADDING
:
38 return kLocationBarVerticalPadding
[mode
];
39 case OMNIBOX_DROPDOWN_BORDER_INTERIOR
:
40 return kOmniboxDropdownBorderInterior
[mode
];
41 case OMNIBOX_FONT_PIXEL_SIZE
:
42 return kOmniboxFontPixelSize
[mode
];
43 case TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT
:
44 return kToolbarViewContentShadowHeight
[mode
];
45 case TOOLBAR_VIEW_CONTENT_SHADOW_HEIGHT_ASH
:
46 return kToolbarViewContentShadowHeightAsh
[mode
];
47 case TOOLBAR_VIEW_ELEMENT_PADDING
:
48 return kToolbarViewElementPadding
[mode
];
49 case TOOLBAR_VIEW_LOCATION_BAR_RIGHT_PADDING
:
50 return kToolbarViewLocationBarRightPadding
[mode
];
51 case TOOLBAR_VIEW_STANDARD_SPACING
:
52 return kToolbarViewStandardSpacing
[mode
];
58 gfx::Insets
GetLayoutInsets(LayoutInset inset
) {
59 const int kOmniboxDropdownMinIconVerticalPadding
[] = {2, 4, 8};
60 const int kOmniboxDropdownMinTextVerticalPadding
[] = {3, 4, 8};
61 const int kToolbarButtonBorderInset
[] = {2, 6, 6};
62 const int kToolbarViewBottomVerticalPadding
[] = {5, 5, 5};
63 const int kToolbarViewTopVerticalPadding
[] = {5, 4, 4};
64 const int kToolbarViewLeftEdgeSpacing
[] = {3, 4, 8};
65 const int kToolbarViewRightEdgeSpacing
[] = {2, 4, 8};
67 const int mode
= ui::MaterialDesignController::GetMode();
69 case OMNIBOX_DROPDOWN_ICON
: {
70 const int padding
= kOmniboxDropdownMinIconVerticalPadding
[mode
];
71 return gfx::Insets(padding
, 0, padding
, 0);
73 case OMNIBOX_DROPDOWN_TEXT
: {
74 const int padding
= kOmniboxDropdownMinTextVerticalPadding
[mode
];
75 return gfx::Insets(padding
, 0, padding
, 0);
77 case TOOLBAR_BUTTON
: {
78 const int inset
= kToolbarButtonBorderInset
[mode
];
79 return gfx::Insets(inset
, inset
, inset
, inset
);
82 return gfx::Insets(kToolbarViewTopVerticalPadding
[mode
],
83 kToolbarViewLeftEdgeSpacing
[mode
],
84 kToolbarViewBottomVerticalPadding
[mode
],
85 kToolbarViewRightEdgeSpacing
[mode
]);