Ejemplo n.º 1
0
        /// <summary>
        /// Инициализация физического монитора. Автоматически создается логический монитор с именем MAIN (последнее не реализовано)
        /// </summary>
        /// <param name="Spl">Splash-изображение, выводимое при инициализации монитора. Если не задано, то монитор просто очищается.</param>
        /// <param name="KeyProcessor">Ссылка на метод - процессор, обрабатывающий нажатия клавиш на мониторе клавиатуры</param>
        /// <returns>"Истина" в случае успешной инициализации.</returns>
        public static bool InitLogitechMonitor(Bitmap Spl = null, LogitechLCDKeyProcessor KeyProcessor = null)
        {
            var res = false;

            //-- если растр не задан - используем очистку
            if (Spl == null)
            {
                SplashBmp = Properties.Resources.cls;
            }
            else
            {
                SplashBmp = Spl;
            }
            //-- установка процессора, если он не задан, (по умолчанию), то и эффекта не будет
            KeyProcessorMetod = KeyProcessor;
            IsMonitorInit     = TryInitLogitechMonitor();
            //-- если монитор вообще подсоединен, то ..
            if (IsMonitorInit)
            {
                //-- пытаемся его инициализировать
                if (LogitechSDK.LogiLcdIsConnected(LogitechSDK.LOGI_LCD_TYPE_MONO))
                {
                    //-- запуск таймера опроса состояния нажатий кнопок на экране клавиатуры
                    lcdButtonsTimer.Change(1000, 250);
                    //          LogitechSDK.LogiLcdMonoSetBackground(BitmapToByteRgbNaive(SplashBmp));
                    LogitechSDK.LogiLcdMonoSetBackground(BitmapToByteRgb(SplashBmp));
                    LogitechSDK.LogiLcdUpdate(LogitechSDK.LOGI_LCD_TYPE_MONO);
                    //--создание основного логического монитора.
                    //MMS.Add("MAIN", new MonitorMONO(Spl) { Active=true });
                }
                res = true;
            }
            return(res);
        }
Ejemplo n.º 2
0
 public static void DeInitLogitechMonitor()
 {
     //-- удаление таймера
     lcdButtonsTimer.Dispose();
     if (LogitechSDK.LogiLcdIsConnected(LogitechSDK.LOGI_LCD_TYPE_MONO))
     {
         IsMonitorInit = false;
         LogitechSDK.LogiLcdShutdown();
     }
 }