File indexing completed on 2024-05-12 16:58:29
0001 /* 0002 * SPDX-FileCopyrightText: 2014 Hugo Pereira Da Costa <hugo.pereira@free.fr> 0003 * SPDX-FileCopyrightText: 2020 Noah Davis <noahadvs@gmail.com> 0004 * 0005 * SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #ifndef breezemetrics_h 0009 #define breezemetrics_h 0010 0011 #include <QtGlobal> 0012 0013 namespace Breeze 0014 { 0015 //* standard pen widths 0016 struct PenWidth { 0017 /* Using 1 instead of slightly more than 1 causes symbols drawn with 0018 * pen strokes to look skewed. The exact amount added does not matter 0019 * as long as it isn't too visible. Even with QPen::setCosmetic(true), 0020 * 1px pen widths still look slightly worse. 0021 */ 0022 // The standard pen stroke width for symbols. 0023 static constexpr qreal Symbol = 1.001; 0024 0025 // The standard pen stroke width for frames. 0026 static constexpr qreal Frame = 1.001; 0027 0028 // The standard pen stroke width for shadows. 0029 static constexpr qreal Shadow = 1.001; 0030 0031 // A value for pen width arguments to make it clear that there is no pen stroke 0032 static constexpr int NoPen = 0; 0033 }; 0034 0035 //* metrics 0036 struct Metrics { 0037 // general 0038 static constexpr int ArrowSize = 10; 0039 static constexpr int SmallArrowSize = 5; 0040 0041 // frames 0042 static constexpr int Frame_FrameWidth = 2; 0043 static constexpr int Frame_FrameRadius = 3; 0044 0045 // layout 0046 static constexpr int Layout_TopLevelMarginWidth = 10; 0047 static constexpr int Layout_ChildMarginWidth = 6; 0048 static constexpr int Layout_DefaultSpacing = 6; 0049 0050 // line editors 0051 static constexpr int LineEdit_FrameWidth = 6; 0052 0053 // menu items 0054 static constexpr int Menu_FrameWidth = 0; 0055 static constexpr int MenuItem_MarginWidth = 5; 0056 static constexpr int MenuItem_HighlightGap = 4; 0057 static constexpr int MenuItem_ExtraLeftMargin = 4; 0058 static constexpr int MenuItem_MarginHeight = 3; 0059 static constexpr int MenuItem_ItemSpacing = 4; 0060 static constexpr int MenuItem_AcceleratorSpace = 16; 0061 0062 // combobox 0063 static constexpr int ComboBox_FrameWidth = 6; 0064 0065 // spinbox 0066 static constexpr int SpinBox_FrameWidth = LineEdit_FrameWidth; 0067 static constexpr int SpinBox_ArrowButtonWidth = 20; 0068 0069 // groupbox title margin 0070 static constexpr int GroupBox_TitleMarginWidth = 4; 0071 0072 // buttons 0073 static constexpr int Button_MinWidth = 80; 0074 static constexpr int Button_MarginWidth = 6; 0075 static constexpr int Button_ItemSpacing = 4; 0076 0077 // tool buttons 0078 static constexpr int ToolButton_MarginWidth = 6; 0079 static constexpr int ToolButton_ItemSpacing = 4; 0080 static constexpr int ToolButton_InlineIndicatorWidth = 12; 0081 0082 // menu button indicator 0083 static constexpr int MenuButton_IndicatorWidth = 20; 0084 0085 // checkboxes and radio buttons 0086 static constexpr int CheckBox_Size = 20; 0087 static constexpr int CheckBox_FocusMarginWidth = 2; 0088 static constexpr int CheckBox_ItemSpacing = 4; 0089 static constexpr int CheckBox_Radius = Frame_FrameRadius - 1; 0090 0091 // menubar items 0092 static constexpr int MenuBarItem_MarginWidth = 10; 0093 static constexpr int MenuBarItem_MarginHeight = 6; 0094 0095 // scrollbars 0096 static constexpr int ScrollBar_Extend = 21; 0097 static constexpr int ScrollBar_SliderWidth = 8; 0098 static constexpr int ScrollBar_MinSliderHeight = 20; 0099 static constexpr int ScrollBar_NoButtonHeight = (ScrollBar_Extend - ScrollBar_SliderWidth) / 2; 0100 static constexpr int ScrollBar_SingleButtonHeight = ScrollBar_Extend; 0101 static constexpr int ScrollBar_DoubleButtonHeight = 2 * ScrollBar_Extend; 0102 0103 // toolbars 0104 static constexpr int ToolBar_FrameWidth = 0; 0105 static constexpr int ToolBar_HandleExtent = 10; 0106 static constexpr int ToolBar_HandleWidth = 6; 0107 static constexpr int ToolBar_SeparatorWidth = 8; 0108 static constexpr int ToolBar_ExtensionWidth = 20; 0109 static constexpr int ToolBar_ItemMargin = 6; 0110 static constexpr int ToolBar_ItemSpacing = 0; 0111 0112 // progressbars 0113 static constexpr int ProgressBar_BusyIndicatorSize = 14; 0114 static constexpr int ProgressBar_Thickness = 6; 0115 static constexpr int ProgressBar_ItemSpacing = 4; 0116 0117 // mdi title bar 0118 static constexpr int TitleBar_MarginWidth = 4; 0119 0120 // sliders 0121 static constexpr int Slider_TickLength = 8; 0122 static constexpr int Slider_TickMarginWidth = 2; 0123 static constexpr int Slider_GrooveThickness = 6; 0124 static constexpr int Slider_ControlThickness = 20; 0125 0126 // tabbar 0127 static constexpr int TabBar_TabMarginHeight = 4; 0128 static constexpr int TabBar_TabMarginWidth = 8; 0129 static constexpr int TabBar_TabMinWidth = 80; 0130 static constexpr int TabBar_TabMinHeight = 30; 0131 static constexpr int TabBar_TabItemSpacing = 8; 0132 static constexpr int TabBar_TabOverlap = 1; 0133 static constexpr int TabBar_BaseOverlap = 2; 0134 0135 // tab widget 0136 static constexpr int TabWidget_MarginWidth = 4; 0137 0138 // toolbox 0139 static constexpr int ToolBox_TabMinWidth = 80; 0140 static constexpr int ToolBox_TabItemSpacing = 4; 0141 static constexpr int ToolBox_TabMarginWidth = 8; 0142 0143 // tooltips 0144 static constexpr int ToolTip_FrameWidth = 3; 0145 0146 // list headers 0147 static constexpr int Header_MarginWidth = 6; 0148 static constexpr int Header_ItemSpacing = 4; 0149 static constexpr int Header_ArrowSize = ArrowSize; 0150 0151 // tree view 0152 static constexpr int ItemView_ArrowSize = ArrowSize; 0153 static constexpr int ItemView_ItemMarginWidth = 3; 0154 static constexpr int SidePanel_ItemMarginWidth = 4; 0155 0156 // splitter 0157 static constexpr int Splitter_SplitterWidth = 1; 0158 0159 // shadow dimensions 0160 static constexpr int Shadow_Overlap = 2; 0161 }; 0162 } 0163 #endif