| OLD | NEW |
| (Empty) | |
| 1 // Copyright 2016 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 CHROME_BROWSER_UI_VIEWS_HARMONY_LAYOUT_DELEGATE_H_ |
| 6 #define CHROME_BROWSER_UI_VIEWS_HARMONY_LAYOUT_DELEGATE_H_ |
| 7 |
| 8 #include "ui/views/layout/grid_layout.h" |
| 9 |
| 10 class LayoutDelegate { |
| 11 public: |
| 12 enum class LayoutDistanceType { |
| 13 PANEL_VERT_MARGIN, |
| 14 RELATED_CONTROL_HORIZONTAL_SPACING, |
| 15 RELATED_CONTROL_VERTICAL_SPACING, |
| 16 RELATED_BUTTON_HORIZONTAL_SPACING, |
| 17 UNRELATED_CONTROL_VERTICAL_SPACING, |
| 18 UNRELATED_CONTROL_LARGE_VERTICAL_SPACING, |
| 19 BUTTON_HEDGE_MARGIN_NEW, |
| 20 BUTTON_VEDGE_MARGIN_NEW, |
| 21 }; |
| 22 |
| 23 LayoutDelegate() {} |
| 24 virtual ~LayoutDelegate() {} |
| 25 |
| 26 // Returns the active LayoutDelegate singleton, depending on UI configuration. |
| 27 // By default, this is the same instance returned by Get(), but if Harmony |
| 28 // or another UI style is enabled, this may be an instance of a LayoutDelegate |
| 29 // subclass instead. |
| 30 static LayoutDelegate* Get(); |
| 31 |
| 32 // Returns a layout distance, indexed by |type|. These distances are in |
| 33 // device-independent units. |
| 34 virtual int GetLayoutDistance(LayoutDistanceType type) const; |
| 35 |
| 36 // Returns the alignment used for control labels in a GridLayout; for example, |
| 37 // in this GridLayout: |
| 38 // --------------------------- |
| 39 // | Label 1 Checkbox 1 | |
| 40 // | Label 2 Checkbox 2 | |
| 41 // --------------------------- |
| 42 // This value controls the alignment used for "Label 1" and "Label 2". |
| 43 virtual views::GridLayout::Alignment GetControlLabelGridAlignment() const; |
| 44 |
| 45 // Returns whether to use extra padding on dialogs. If this is false, content |
| 46 // Views for dialogs should not insert extra padding at their own edges. |
| 47 virtual bool UseExtraDialogPadding() const; |
| 48 |
| 49 private: |
| 50 DISALLOW_COPY_AND_ASSIGN(LayoutDelegate); |
| 51 }; |
| 52 |
| 53 #endif // CHROME_BROWSER_UI_VIEWS_HARMONY_LAYOUT_DELEGATE_H_ |
| OLD | NEW |