2 // Copyright (C) 2014-2015 Stéphane Lenclud.
4 // This file is part of SharpDisplayManager.
6 // SharpDisplayManager is free software: you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation, either version 3 of the License, or
9 // (at your option) any later version.
11 // SharpDisplayManager is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
21 using System.Collections;
22 using System.Collections.Generic;
24 using System.Configuration;
26 using System.ComponentModel;
27 using System.Runtime.Serialization;
28 using System.Runtime.Serialization.Json;
33 namespace SharpDisplayManager
36 /// Display settings for the specified hardware type
39 public class DisplaySettings
41 public DisplaySettings()
46 ReverseScreen = false;
49 ShowVolumeLabel = false;
50 FontName = "Microsoft Sans Serif, 9.75pt";
54 ScrollingSpeedInPixelsPerSecond = 64;
59 public bool ShowVolumeLabel { get; set; }
62 public int Brightness { get; set; }
65 /// See Display.TMiniDisplayType
68 public int DisplayType { get; set; }
71 public int TimerInterval { get; set; }
74 public int ScrollingSpeedInPixelsPerSecond { get; set; }
77 public bool ReverseScreen { get; set; }
80 public bool InverseColors { get; set; }
83 public bool ShowBorders { get; set; }
86 public bool ScaleToFit { get; set; }
89 public float MinFontSize { get; set; }
92 public string Separator { get; set; }
95 public string FontName { get; set; }
101 FontConverter cvt = new FontConverter();
102 Font font = cvt.ConvertFromInvariantString(FontName) as Font;
108 FontConverter cvt = new FontConverter();
109 FontName = cvt.ConvertToInvariantString(value);
116 /// Contain settings for each of our display type.
118 [TypeConverter(typeof(TypeConverterJson<DisplaysSettings>))]
120 public class DisplaysSettings
122 private List<DisplaySettings> iDisplays;
124 public DisplaysSettings()
131 if (iDisplays == null)
133 iDisplays = new List<DisplaySettings>();
138 //public int CurrentSettingsIndex { get; set; }
141 public List<DisplaySettings> Displays { get { Init(); return iDisplays; } private set { iDisplays = value; } }