1.1 --- a/Server/Display.cs Wed May 06 21:05:51 2015 +0200
1.2 +++ b/Server/Display.cs Wed May 06 21:56:21 2015 +0200
1.3 @@ -26,6 +26,8 @@
1.4 using System.Runtime.InteropServices;
1.5 //using System.Runtime.Serialization;
1.6
1.7 +using MiniDisplayInterop;
1.8 +
1.9 namespace SharpDisplayManager
1.10 {
1.11
1.12 @@ -47,12 +49,12 @@
1.13 //static functions
1.14 public static int TypeCount()
1.15 {
1.16 - return MiniDisplayTypeCount();
1.17 + return MiniDisplay.TypeCount();
1.18 }
1.19
1.20 - public static string TypeName(TMiniDisplayType aType)
1.21 + public static string TypeName(MiniDisplay.Type aType)
1.22 {
1.23 - IntPtr ptr = MiniDisplayTypeName(aType);
1.24 + IntPtr ptr = MiniDisplay.TypeName(aType);
1.25 string str = Marshal.PtrToStringUni(ptr);
1.26 return str;
1.27 }
1.28 @@ -64,7 +66,7 @@
1.29 }
1.30
1.31 //
1.32 - public bool Open(TMiniDisplayType aType)
1.33 + public bool Open(MiniDisplay.Type aType)
1.34 {
1.35 if (IsOpen())
1.36 {
1.37 @@ -72,7 +74,7 @@
1.38 return false;
1.39 }
1.40
1.41 - iDevice = MiniDisplayOpen(aType);
1.42 + iDevice = MiniDisplay.Open(aType);
1.43
1.44 bool success = iDevice != IntPtr.Zero;
1.45 if (success)
1.46 @@ -93,7 +95,7 @@
1.47 }
1.48
1.49 //
1.50 - MiniDisplayClose(iDevice);
1.51 + MiniDisplay.Close(iDevice);
1.52 iDevice = IntPtr.Zero;
1.53 //Broadcast closed event
1.54 OnClosed(this);
1.55 @@ -106,147 +108,147 @@
1.56
1.57 public void Clear()
1.58 {
1.59 - MiniDisplayClear(iDevice);
1.60 + MiniDisplay.Clear(iDevice);
1.61 }
1.62
1.63 public void Fill()
1.64 {
1.65 - MiniDisplayFill(iDevice);
1.66 + MiniDisplay.Fill(iDevice);
1.67 }
1.68
1.69 public void SwapBuffers()
1.70 {
1.71 - MiniDisplaySwapBuffers(iDevice);
1.72 + MiniDisplay.SwapBuffers(iDevice);
1.73 }
1.74
1.75 public int MaxBrightness()
1.76 {
1.77 - return MiniDisplayMaxBrightness(iDevice);
1.78 + return MiniDisplay.MaxBrightness(iDevice);
1.79 }
1.80
1.81 public int MinBrightness()
1.82 {
1.83 - return MiniDisplayMinBrightness(iDevice);
1.84 + return MiniDisplay.MinBrightness(iDevice);
1.85 }
1.86
1.87 public void SetBrightness(int aBrightness)
1.88 {
1.89 if (!IsOpen()) return;
1.90
1.91 - MiniDisplaySetBrightness(iDevice, aBrightness);
1.92 + MiniDisplay.SetBrightness(iDevice, aBrightness);
1.93 }
1.94
1.95 public int WidthInPixels()
1.96 {
1.97 - return MiniDisplayWidthInPixels(iDevice);
1.98 + return MiniDisplay.WidthInPixels(iDevice);
1.99 }
1.100
1.101 public int HeightInPixels()
1.102 {
1.103 - return MiniDisplayHeightInPixels(iDevice);
1.104 + return MiniDisplay.HeightInPixels(iDevice);
1.105 }
1.106
1.107 public void SetPixel(int aX, int aY, uint aValue)
1.108 {
1.109 - MiniDisplaySetPixel(iDevice,aX,aY,aValue);
1.110 + MiniDisplay.SetPixel(iDevice,aX,aY,aValue);
1.111 }
1.112
1.113 public void RequestPowerSupplyStatus()
1.114 {
1.115 - MiniDisplayRequest(iDevice, TMiniDisplayRequest.EMiniDisplayRequestPowerSupplyStatus);
1.116 + MiniDisplay.SendRequest(iDevice, MiniDisplay.Request.PowerSupplyStatus);
1.117 }
1.118
1.119 public void RequestDeviceId()
1.120 {
1.121 - MiniDisplayRequest(iDevice, TMiniDisplayRequest.EMiniDisplayRequestDeviceId);
1.122 + MiniDisplay.SendRequest(iDevice, MiniDisplay.Request.DeviceId);
1.123 }
1.124
1.125 public void RequestFirmwareRevision()
1.126 {
1.127 - MiniDisplayRequest(iDevice, TMiniDisplayRequest.EMiniDisplayRequestFirmwareRevision);
1.128 + MiniDisplay.SendRequest(iDevice, MiniDisplay.Request.FirmwareRevision);
1.129 }
1.130
1.131 public void PowerOn()
1.132 {
1.133 - MiniDisplayPowerOn(iDevice);
1.134 + MiniDisplay.PowerOn(iDevice);
1.135 }
1.136
1.137 public void PowerOff()
1.138 {
1.139 - MiniDisplayPowerOff(iDevice);
1.140 + MiniDisplay.PowerOff(iDevice);
1.141 }
1.142
1.143 public bool SupportPowerOnOff()
1.144 {
1.145 - return MiniDisplaySupportPowerOnOff(iDevice);
1.146 + return MiniDisplay.SupportPowerOnOff(iDevice);
1.147 }
1.148
1.149 public void ShowClock()
1.150 {
1.151 - MiniDisplayShowClock(iDevice);
1.152 + MiniDisplay.ShowClock(iDevice);
1.153 }
1.154
1.155 public void HideClock()
1.156 {
1.157 - MiniDisplayHideClock(iDevice);
1.158 + MiniDisplay.HideClock(iDevice);
1.159 }
1.160
1.161 public bool SupportClock()
1.162 {
1.163 - return MiniDisplaySupportClock(iDevice);
1.164 + return MiniDisplay.SupportClock(iDevice);
1.165 }
1.166
1.167 public bool PowerSupplyStatus()
1.168 {
1.169 - bool res = MiniDisplayPowerSupplyStatus(iDevice);
1.170 + bool res = MiniDisplay.PowerSupplyStatus(iDevice);
1.171 return res;
1.172 }
1.173
1.174 - public TMiniDisplayRequest AttemptRequestCompletion()
1.175 + public MiniDisplay.Request AttemptRequestCompletion()
1.176 {
1.177 - return MiniDisplayAttemptRequestCompletion(iDevice);
1.178 + return MiniDisplay.AttemptRequestCompletion(iDevice);
1.179 }
1.180
1.181 - public TMiniDisplayRequest CurrentRequest()
1.182 + public MiniDisplay.Request CurrentRequest()
1.183 {
1.184 - return MiniDisplayCurrentRequest(iDevice);
1.185 + return MiniDisplay.CurrentRequest(iDevice);
1.186 }
1.187
1.188 public bool IsRequestPending()
1.189 {
1.190 - return CurrentRequest() != TMiniDisplayRequest.EMiniDisplayRequestNone;
1.191 + return CurrentRequest() != MiniDisplay.Request.None;
1.192 }
1.193
1.194 //
1.195 - public int IconCount(TMiniDisplayIconType aIcon)
1.196 + public int IconCount(MiniDisplay.IconType aIcon)
1.197 {
1.198 - return MiniDisplayIconCount(iDevice,aIcon);
1.199 + return MiniDisplay.IconCount(iDevice,aIcon);
1.200 }
1.201
1.202 - public int IconStatusCount(TMiniDisplayIconType aIcon)
1.203 + public int IconStatusCount(MiniDisplay.IconType aIcon)
1.204 {
1.205 - return MiniDisplayIconStatusCount(iDevice, aIcon);
1.206 + return MiniDisplay.IconStatusCount(iDevice, aIcon);
1.207 }
1.208
1.209 - public void SetIconStatus(TMiniDisplayIconType aIcon, int aIndex, int aStatus)
1.210 + public void SetIconStatus(MiniDisplay.IconType aIcon, int aIndex, int aStatus)
1.211 {
1.212 - MiniDisplaySetIconStatus(iDevice, aIcon, aIndex, aStatus);
1.213 + MiniDisplay.SetIconStatus(iDevice, aIcon, aIndex, aStatus);
1.214 }
1.215
1.216 - public void SetIconOn(TMiniDisplayIconType aIcon, int aIndex)
1.217 + public void SetIconOn(MiniDisplay.IconType aIcon, int aIndex)
1.218 {
1.219 - MiniDisplaySetIconStatus(iDevice, aIcon, aIndex, IconStatusCount(aIcon) - 1);
1.220 + MiniDisplay.SetIconStatus(iDevice, aIcon, aIndex, IconStatusCount(aIcon) - 1);
1.221 }
1.222
1.223 - public void SetIconOff(TMiniDisplayIconType aIcon, int aIndex)
1.224 + public void SetIconOff(MiniDisplay.IconType aIcon, int aIndex)
1.225 {
1.226 - MiniDisplaySetIconStatus(iDevice, aIcon, aIndex, 0);
1.227 + MiniDisplay.SetIconStatus(iDevice, aIcon, aIndex, 0);
1.228 }
1.229
1.230
1.231 public void SetAllIconsStatus(int aStatus)
1.232 {
1.233 - foreach (TMiniDisplayIconType icon in Enum.GetValues(typeof(TMiniDisplayIconType)))
1.234 + foreach (MiniDisplay.IconType icon in Enum.GetValues(typeof(MiniDisplay.IconType)))
1.235 {
1.236 int count=IconCount(icon);
1.237 for (int i = 0; i < count; i++)
1.238 @@ -261,7 +263,7 @@
1.239 /// </summary>
1.240 /// <param name="aIcon"></param>
1.241 /// <param name="aStatus"></param>
1.242 - public void SetIconStatus(TMiniDisplayIconType aIcon, int aStatus)
1.243 + public void SetIconStatus(MiniDisplay.IconType aIcon, int aStatus)
1.244 {
1.245 int iconCount = IconCount(aIcon);
1.246 for (int i = 0; i < iconCount; i++)
1.247 @@ -275,7 +277,7 @@
1.248 /// </summary>
1.249 /// <param name="aIcon"></param>
1.250 /// <param name="aOn"></param>
1.251 - public void SetIconOnOff(TMiniDisplayIconType aIcon, bool aOn)
1.252 + public void SetIconOnOff(MiniDisplay.IconType aIcon, bool aOn)
1.253 {
1.254 if (aOn)
1.255 {
1.256 @@ -291,7 +293,7 @@
1.257 /// Set all elements of an icon to there maximum status.
1.258 /// </summary>
1.259 /// <param name="aIcon"></param>
1.260 - public void SetIconOn(TMiniDisplayIconType aIcon)
1.261 + public void SetIconOn(MiniDisplay.IconType aIcon)
1.262 {
1.263 int iconCount = IconCount(aIcon);
1.264 for (int i = 0; i < iconCount; i++)
1.265 @@ -304,7 +306,7 @@
1.266 /// Turn off all elements of an icon.
1.267 /// </summary>
1.268 /// <param name="aIcon"></param>
1.269 - public void SetIconOff(TMiniDisplayIconType aIcon)
1.270 + public void SetIconOff(MiniDisplay.IconType aIcon)
1.271 {
1.272 int iconCount = IconCount(aIcon);
1.273 for (int i = 0; i < iconCount; i++)
1.274 @@ -317,176 +319,39 @@
1.275
1.276 public string Vendor()
1.277 {
1.278 - IntPtr ptr = MiniDisplayVendor(iDevice);
1.279 + IntPtr ptr = MiniDisplay.Vendor(iDevice);
1.280 string str = Marshal.PtrToStringUni(ptr);
1.281 return str;
1.282 }
1.283
1.284 public string Product()
1.285 {
1.286 - IntPtr ptr = MiniDisplayProduct(iDevice);
1.287 + IntPtr ptr = MiniDisplay.Product(iDevice);
1.288 string str = Marshal.PtrToStringUni(ptr);
1.289 return str;
1.290 }
1.291
1.292 public string SerialNumber()
1.293 {
1.294 - IntPtr ptr = MiniDisplaySerialNumber(iDevice);
1.295 + IntPtr ptr = MiniDisplay.SerialNumber(iDevice);
1.296 string str = Marshal.PtrToStringUni(ptr);
1.297 return str;
1.298 }
1.299
1.300 public string DeviceId()
1.301 {
1.302 - IntPtr ptr = MiniDisplayDeviceId(iDevice);
1.303 + IntPtr ptr = MiniDisplay.DeviceId(iDevice);
1.304 string str = Marshal.PtrToStringAnsi(ptr);
1.305 return str;
1.306 }
1.307
1.308 public string FirmwareRevision()
1.309 {
1.310 - IntPtr ptr = MiniDisplayFirmwareRevision(iDevice);
1.311 + IntPtr ptr = MiniDisplay.FirmwareRevision(iDevice);
1.312 string str = Marshal.PtrToStringAnsi(ptr);
1.313 return str;
1.314 }
1.315
1.316 - //[Serializable]
1.317 - public enum TMiniDisplayType
1.318 - {
1.319 - EMiniDisplayAutoDetect, /*Not yet implemented*/
1.320 - //[EnumMember(Value = "EMiniDisplayFutabaGP1212A01")]
1.321 - EMiniDisplayFutabaGP1212A01,
1.322 - //[EnumMember(Value = "EMiniDisplayFutabaGP1212A01")]
1.323 - EMiniDisplayFutabaGP1212A02
1.324 - };
1.325 -
1.326 - /// <summary>
1.327 - ///
1.328 - /// </summary>
1.329 - public enum TMiniDisplayRequest
1.330 - {
1.331 - EMiniDisplayRequestNone,
1.332 - EMiniDisplayRequestDeviceId,
1.333 - EMiniDisplayRequestFirmwareRevision,
1.334 - EMiniDisplayRequestPowerSupplyStatus
1.335 - };
1.336 -
1.337 -
1.338 - /// <summary>
1.339 - /// Define the various type of icons we support.
1.340 - /// For binary compatibility new entries must be added at the end.
1.341 - /// </summary>
1.342 - public enum TMiniDisplayIconType
1.343 - {
1.344 - EMiniDisplayIconNetworkSignal=0,
1.345 - EMiniDisplayIconInternet,
1.346 - EMiniDisplayIconEmail,
1.347 - EMiniDisplayIconMute,
1.348 - EMiniDisplayIconVolume,
1.349 - EMiniDisplayIconVolumeLabel,
1.350 - EMiniDisplayIconPlay,
1.351 - EMiniDisplayIconPause,
1.352 - EMiniDisplayIconRecording
1.353 - };
1.354 -
1.355 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.356 - public static extern IntPtr MiniDisplayOpen(TMiniDisplayType aType);
1.357 -
1.358 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.359 - public static extern void MiniDisplayClose(IntPtr aDevice);
1.360 -
1.361 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.362 - public static extern int MiniDisplayTypeCount();
1.363 -
1.364 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.365 - public static extern IntPtr MiniDisplayTypeName(TMiniDisplayType aType);
1.366 -
1.367 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.368 - public static extern void MiniDisplayClear(IntPtr aDevice);
1.369 -
1.370 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.371 - public static extern void MiniDisplayFill(IntPtr aDevice);
1.372 -
1.373 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.374 - public static extern void MiniDisplaySwapBuffers(IntPtr aDevice);
1.375 -
1.376 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.377 - public static extern void MiniDisplaySetBrightness(IntPtr aDevice, int aBrightness);
1.378 -
1.379 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.380 - public static extern int MiniDisplayMinBrightness(IntPtr aDevice);
1.381 -
1.382 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.383 - public static extern int MiniDisplayMaxBrightness(IntPtr aDevice);
1.384 -
1.385 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.386 - public static extern int MiniDisplayWidthInPixels(IntPtr aDevice);
1.387 -
1.388 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.389 - public static extern int MiniDisplayHeightInPixels(IntPtr aDevice);
1.390 -
1.391 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.392 - public static extern int MiniDisplaySetPixel(IntPtr aDevice, int aX, int aY, uint aValue);
1.393 -
1.394 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.395 - public static extern IntPtr MiniDisplayVendor(IntPtr aDevice);
1.396 -
1.397 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.398 - public static extern IntPtr MiniDisplayProduct(IntPtr aDevice);
1.399 -
1.400 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.401 - public static extern IntPtr MiniDisplaySerialNumber(IntPtr aDevice);
1.402 -
1.403 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.404 - public static extern IntPtr MiniDisplayDeviceId(IntPtr aDevice);
1.405 -
1.406 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.407 - public static extern IntPtr MiniDisplayFirmwareRevision(IntPtr aDevice);
1.408 -
1.409 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.410 - [return: MarshalAs(UnmanagedType.I1)]
1.411 - public static extern bool MiniDisplayPowerSupplyStatus(IntPtr aDevice);
1.412 -
1.413 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.414 - public static extern void MiniDisplayRequest(IntPtr aDevice, TMiniDisplayRequest aRequest);
1.415 -
1.416 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.417 - public static extern TMiniDisplayRequest MiniDisplayAttemptRequestCompletion(IntPtr aDevice);
1.418 -
1.419 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.420 - public static extern TMiniDisplayRequest MiniDisplayCurrentRequest(IntPtr aDevice);
1.421 -
1.422 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.423 - public static extern void MiniDisplayCancelRequest(IntPtr aDevice);
1.424 -
1.425 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.426 - public static extern void MiniDisplayPowerOn(IntPtr aDevice);
1.427 -
1.428 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.429 - public static extern void MiniDisplayPowerOff(IntPtr aDevice);
1.430 -
1.431 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.432 - [return: MarshalAs(UnmanagedType.I1)]
1.433 - public static extern bool MiniDisplaySupportPowerOnOff(IntPtr aDevice);
1.434 -
1.435 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.436 - public static extern void MiniDisplayShowClock(IntPtr aDevice);
1.437 -
1.438 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.439 - public static extern void MiniDisplayHideClock(IntPtr aDevice);
1.440 -
1.441 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.442 - [return: MarshalAs(UnmanagedType.I1)]
1.443 - public static extern bool MiniDisplaySupportClock(IntPtr aDevice);
1.444 -
1.445 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.446 - public static extern int MiniDisplayIconCount(IntPtr aDevice, TMiniDisplayIconType aIcon);
1.447 -
1.448 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.449 - public static extern int MiniDisplayIconStatusCount(IntPtr aDevice, TMiniDisplayIconType aIcon);
1.450 -
1.451 - [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
1.452 - public static extern void MiniDisplaySetIconStatus(IntPtr aDevice, TMiniDisplayIconType aIcon, int aIndex, int aStatus);
1.453
1.454 }
1.455 }