author | Stephane Lenclud |
Sun, 24 Jul 2016 13:30:08 +0200 | |
changeset 212 | 1a0791daa243 |
parent 123 | 0df386e37e29 |
permissions | -rw-r--r-- |
StephaneLenclud@123 | 1 |
// |
StephaneLenclud@123 | 2 |
// Copyright (C) 2014-2015 Stéphane Lenclud. |
StephaneLenclud@123 | 3 |
// |
StephaneLenclud@123 | 4 |
// This file is part of SharpDisplayManager. |
StephaneLenclud@123 | 5 |
// |
StephaneLenclud@123 | 6 |
// SharpDisplayManager is free software: you can redistribute it and/or modify |
StephaneLenclud@123 | 7 |
// it under the terms of the GNU General Public License as published by |
StephaneLenclud@123 | 8 |
// the Free Software Foundation, either version 3 of the License, or |
StephaneLenclud@123 | 9 |
// (at your option) any later version. |
StephaneLenclud@123 | 10 |
// |
StephaneLenclud@123 | 11 |
// SharpDisplayManager is distributed in the hope that it will be useful, |
StephaneLenclud@123 | 12 |
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
StephaneLenclud@123 | 13 |
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
StephaneLenclud@123 | 14 |
// GNU General Public License for more details. |
StephaneLenclud@123 | 15 |
// |
StephaneLenclud@123 | 16 |
// You should have received a copy of the GNU General Public License |
StephaneLenclud@123 | 17 |
// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>. |
StephaneLenclud@123 | 18 |
// |
StephaneLenclud@123 | 19 |
|
StephaneLenclud@123 | 20 |
using System; |
sl@49 | 21 |
using System.Collections; |
sl@49 | 22 |
using System.Collections.Generic; |
sl@49 | 23 |
using System.Text; |
sl@49 | 24 |
using System.Configuration; |
sl@49 | 25 |
using System.Xml; |
sl@49 | 26 |
using System.ComponentModel; |
sl@49 | 27 |
using System.Runtime.Serialization; |
sl@49 | 28 |
using System.Runtime.Serialization.Json; |
sl@49 | 29 |
using System.IO; |
sl@49 | 30 |
using System.Drawing; |
Stephane@212 | 31 |
using SharpLib.Utils; |
sl@49 | 32 |
|
sl@49 | 33 |
namespace SharpDisplayManager |
sl@49 | 34 |
{ |
sl@49 | 35 |
/// <summary> |
sl@50 | 36 |
/// Display settings for the specified hardware type |
sl@49 | 37 |
/// </summary> |
sl@49 | 38 |
[DataContract] |
sl@50 | 39 |
public class DisplaySettings |
sl@49 | 40 |
{ |
sl@50 | 41 |
public DisplaySettings() |
sl@49 | 42 |
{ |
sl@49 | 43 |
Brightness = 1; |
sl@49 | 44 |
DisplayType = 0; |
sl@49 | 45 |
TimerInterval = 150; |
sl@49 | 46 |
ReverseScreen = false; |
sl@57 | 47 |
InverseColors = true; |
sl@49 | 48 |
ShowBorders = false; |
StephaneLenclud@115 | 49 |
ShowVolumeLabel = false; |
sl@49 | 50 |
FontName = "Microsoft Sans Serif, 9.75pt"; |
sl@100 | 51 |
ScaleToFit = true; |
sl@100 | 52 |
MinFontSize = 15.0f; |
StephaneLenclud@106 | 53 |
Separator = " "; |
StephaneLenclud@106 | 54 |
ScrollingSpeedInPixelsPerSecond = 64; |
sl@49 | 55 |
} |
sl@49 | 56 |
|
StephaneLenclud@115 | 57 |
|
StephaneLenclud@115 | 58 |
[DataMember] |
StephaneLenclud@115 | 59 |
public bool ShowVolumeLabel { get; set; } |
StephaneLenclud@115 | 60 |
|
sl@49 | 61 |
[DataMember] |
sl@49 | 62 |
public int Brightness { get; set; } |
sl@49 | 63 |
|
sl@50 | 64 |
/// <summary> |
sl@50 | 65 |
/// See Display.TMiniDisplayType |
sl@50 | 66 |
/// </summary> |
sl@49 | 67 |
[DataMember] |
sl@49 | 68 |
public int DisplayType { get; set; } |
sl@49 | 69 |
|
sl@49 | 70 |
[DataMember] |
sl@49 | 71 |
public int TimerInterval { get; set; } |
sl@49 | 72 |
|
StephaneLenclud@106 | 73 |
[DataMember] |
StephaneLenclud@106 | 74 |
public int ScrollingSpeedInPixelsPerSecond { get; set; } |
StephaneLenclud@106 | 75 |
|
sl@49 | 76 |
[DataMember] |
sl@49 | 77 |
public bool ReverseScreen { get; set; } |
sl@49 | 78 |
|
sl@49 | 79 |
[DataMember] |
sl@57 | 80 |
public bool InverseColors { get; set; } |
sl@57 | 81 |
|
sl@57 | 82 |
[DataMember] |
sl@49 | 83 |
public bool ShowBorders { get; set; } |
sl@49 | 84 |
|
sl@49 | 85 |
[DataMember] |
sl@100 | 86 |
public bool ScaleToFit { get; set; } |
sl@100 | 87 |
|
sl@100 | 88 |
[DataMember] |
sl@100 | 89 |
public float MinFontSize { get; set; } |
sl@100 | 90 |
|
sl@100 | 91 |
[DataMember] |
sl@100 | 92 |
public string Separator { get; set; } |
sl@100 | 93 |
|
sl@100 | 94 |
[DataMember] |
sl@49 | 95 |
public string FontName { get; set; } |
sl@49 | 96 |
|
sl@49 | 97 |
public Font Font |
sl@49 | 98 |
{ |
sl@49 | 99 |
get |
sl@49 | 100 |
{ |
sl@49 | 101 |
FontConverter cvt = new FontConverter(); |
sl@49 | 102 |
Font font = cvt.ConvertFromInvariantString(FontName) as Font; |
sl@49 | 103 |
return font; |
sl@49 | 104 |
} |
sl@49 | 105 |
|
sl@49 | 106 |
set |
sl@49 | 107 |
{ |
sl@49 | 108 |
FontConverter cvt = new FontConverter(); |
sl@49 | 109 |
FontName = cvt.ConvertToInvariantString(value); |
sl@49 | 110 |
} |
sl@49 | 111 |
} |
sl@49 | 112 |
}; |
sl@49 | 113 |
|
sl@49 | 114 |
|
sl@50 | 115 |
/// <summary> |
sl@100 | 116 |
/// Contain settings for each of our display type. |
sl@50 | 117 |
/// </summary> |
Stephane@212 | 118 |
[TypeConverter(typeof(TypeConverterJson<DisplaysSettings>))] |
sl@49 | 119 |
[DataContract] |
sl@50 | 120 |
public class DisplaysSettings |
sl@49 | 121 |
{ |
Stephane@212 | 122 |
private List<DisplaySettings> iDisplays; |
Stephane@212 | 123 |
|
sl@50 | 124 |
public DisplaysSettings() |
sl@49 | 125 |
{ |
sl@49 | 126 |
Init(); |
sl@49 | 127 |
} |
sl@49 | 128 |
|
sl@49 | 129 |
public void Init() |
sl@49 | 130 |
{ |
Stephane@212 | 131 |
if (iDisplays == null) |
sl@49 | 132 |
{ |
Stephane@212 | 133 |
iDisplays = new List<DisplaySettings>(); |
sl@49 | 134 |
} |
sl@49 | 135 |
} |
sl@49 | 136 |
|
sl@49 | 137 |
//[DataMember] |
sl@49 | 138 |
//public int CurrentSettingsIndex { get; set; } |
sl@49 | 139 |
|
sl@49 | 140 |
[DataMember] |
Stephane@212 | 141 |
public List<DisplaySettings> Displays { get { Init(); return iDisplays; } private set { iDisplays = value; } } |
sl@49 | 142 |
|
Stephane@212 | 143 |
|
sl@49 | 144 |
} |
sl@49 | 145 |
} |
sl@49 | 146 |