aboutsummaryrefslogtreecommitdiff
path: root/source/ShiftUI/Theming/ShiftOS.cs
blob: 00e9b1a3d4d287d887cb2c8338b24c189c4e8e45 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ShiftUI.ShiftOS
{
    public abstract class Skin
    {
        #region Button
        public int ButtonBorderWidth = 2;
        public Color ButtonBorderColor = Color.Black;
        public Color ButtonBackColor = Color.White;
        public Color ButtonBackColor_Pressed = Color.Gray;
        #endregion

        #region Global
        public Color SelectionHighlight = Color.Black;
        public string DefaultFont = "Microsoft Sans Serif";
        public Color VisualStyleBorderColor = Color.Black;
        public int VisualStyleBorderWidth = 2;
        public int DefaultFontSize = 9;
        public FontStyle DefaultFontStyle = FontStyle.Regular;
        public Color WindowBackColor = Color.Gray;
        public Color DefaultForeColor = Color.Black;
        #endregion

        #region ScrollBar
        public int ScrollbarWidth = 24;
        #endregion

        #region 3D borders
        public Color Border3DTopLeftInner = Color.LightGray;
        public Color Border3DBottomRight = Color.DarkGray;
        public Color Border3DBottomRightInner = Color.Gray;
        #endregion

        #region CheckBox
        public Color CheckBoxCheckColor = Color.Black;
        public Color CheckBoxBorderColor = Color.Black;
        public Color CheckBoxBackgroundColor = Color.White;
        public int CheckBoxBorderWidth = 2;
        #endregion

        #region MessageBox
        public Color MessageBox_BottomPanel = Color.Gray;
        #endregion

        #region ProgressBar

        public Color ProgressBar_BackgroundColor = Color.Gray;
        public Color ProgressBar_BlockColor = Color.Black;

        #endregion

        // No reason to have ShiftOS deal with window borders itself
        // when I can do it inside ShiftUI.
        #region Form
        public int titlebarlayout = 3;
        public int borderleftlayout = 3;
        public int borderrightlayout = 3;
        public int borderbottomlayout = 3;
        public int closebtnlayout = 3;
        public int rollbtnlayout = 3;
        public int minbtnlayout = 3;
        public int rightcornerlayout = 3;
        public int leftcornerlayout = 3;
        // Late entry: need to fix window code to include this
        public int bottomleftcornerlayout = 3;
        public int bottomrightcornerlayout = 3;
        public Color bottomleftcornercolour = Color.Gray;

        public Color bottomrightcornercolour = Color.Gray;

        public bool enablebordercorners = false;
        // settings
        public Size closebtnsize = new Size(22, 22);
        public Size rollbtnsize = new Size(22, 22);
        public Size minbtnsize = new Size(22, 22);
        public int titlebarheight = 30;
        public int titlebariconsize = 16;
        public int closebtnfromtop = 5;
        public int closebtnfromside = 2;
        public int rollbtnfromtop = 5;
        public int rollbtnfromside = 26;
        public int minbtnfromtop = 5;
        public int minbtnfromside = 52;
        public int borderwidth = 2;
        public bool enablecorners = false;
        public int titlebarcornerwidth = 5;
        public int titleiconfromside = 4;
        public int titleiconfromtop = 4;
        //colours
        public Color titlebarcolour = Color.Gray;
        public Color borderleftcolour = Color.Gray;
        public Color borderrightcolour = Color.Gray;
        public Color borderbottomcolour = Color.Gray;
        public Color closebtncolour = Color.Black;
        public Color closebtnhovercolour = Color.Black;
        public Color closebtnclickcolour = Color.Black;
        public Color rollbtncolour = Color.Black;
        public Color rollbtnhovercolour = Color.Black;
        public Color rollbtnclickcolour = Color.Black;
        public Color minbtncolour = Color.Black;
        public Color minbtnhovercolour = Color.Black;
        public Color minbtnclickcolour = Color.Black;
        public Color rightcornercolour = Color.Gray;
        public Color leftcornercolour = Color.Gray;
        // Text
        public string titletextfontfamily = "Microsoft Sans Serif";
        public int titletextfontsize = 10;
        public FontStyle titletextfontstyle = FontStyle.Bold;
        public string titletextpos = "Left";
        public int titletextfromtop = 3;
        public int titletextfromside = 24;

        public Color titletextcolour = Color.White;

        #endregion
    }

    public class DefaultSkin : Skin
    {
        
    }
}