Display.cs
author sl
Mon, 07 Jul 2014 21:32:02 +0200
changeset 3 71b55cfd8c05
child 4 0825370a7947
permissions -rw-r--r--
Adding basic display functions: open, close, clear, fill, brightness control.
     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 //
     7 using System.Runtime.InteropServices;
     8 using System.Text;
     9 
    10 namespace SharpDisplayManager
    11 {
    12     class Display
    13     {
    14 
    15         //Constructor
    16         public Display()
    17         {
    18             iDevice = IntPtr.Zero;
    19         }
    20 
    21         //
    22         public bool Open()
    23         {
    24             if (iDevice == IntPtr.Zero)
    25             {
    26                 iDevice = MiniDisplayOpen();                
    27             }
    28             return iDevice != IntPtr.Zero;
    29         }
    30 
    31         public void Close()
    32         {
    33             MiniDisplayClose(iDevice);
    34             iDevice = IntPtr.Zero;
    35         }
    36 
    37         public bool IsOpen()
    38         {
    39             return iDevice != IntPtr.Zero;
    40         }
    41 
    42         public void Clear()
    43         {
    44             MiniDisplayClear(iDevice);
    45         }
    46 
    47         public void Fill()
    48         {
    49             MiniDisplayFill(iDevice);
    50         }
    51 
    52         public void SwapBuffers()
    53         {
    54             MiniDisplaySwapBuffers(iDevice);
    55         }
    56 
    57         public int MaxBrightness()
    58         {
    59             return MiniDisplayMaxBrightness(iDevice);
    60         }
    61 
    62         public int MinBrightness()
    63         {
    64             return MiniDisplayMinBrightness(iDevice);
    65         }
    66 
    67         public void SetBrightness(int aBrightness)
    68         {
    69             if (!IsOpen()) return;
    70 
    71             MiniDisplaySetBrightness(iDevice, aBrightness);
    72         }
    73 
    74         //Our display device handle
    75         IntPtr iDevice;
    76 
    77         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    78         public static extern IntPtr MiniDisplayOpen();
    79 
    80         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    81         public static extern void MiniDisplayClose(IntPtr aDevice);
    82 
    83         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    84         public static extern void MiniDisplayClear(IntPtr aDevice);
    85 
    86         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    87         public static extern void MiniDisplayFill(IntPtr aDevice);
    88 
    89         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    90         public static extern void MiniDisplaySwapBuffers(IntPtr aDevice);
    91 
    92         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    93         public static extern void MiniDisplaySetBrightness(IntPtr aDevice, int aBrightness);
    94 
    95         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    96         public static extern int MiniDisplayMinBrightness(IntPtr aDevice);
    97 
    98         [DllImport("MiniDisplay.dll", CharSet = CharSet.Unicode, CallingConvention = CallingConvention.Cdecl)]
    99         public static extern int MiniDisplayMaxBrightness(IntPtr aDevice);
   100 
   101 
   102     }
   103 }