CnC_Remastered_Collection

Command and Conquer: Red Alert
Log | Files | Refs | README | LICENSE

LED.H (1634B)


      1 //
      2 // Copyright 2020 Electronic Arts Inc.
      3 //
      4 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free 
      5 // software: you can redistribute it and/or modify it under the terms of 
      6 // the GNU General Public License as published by the Free Software Foundation, 
      7 // either version 3 of the License, or (at your option) any later version.
      8 
      9 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 
     10 // in the hope that it will be useful, but with permitted additional restrictions 
     11 // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 
     12 // distributed with this program. You should have received a copy of the 
     13 // GNU General Public License along with permitted additional restrictions 
     14 // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
     15 
     16 /* $Header:   F:\projects\c&c0\vcs\code\led.h_v   4.42   04 Jul 1996 16:10:40   JOE_BOSTIC  $ */
     17 
     18 #ifndef LED_H
     19 #define LED_H
     20 
     21 class LEDClass
     22 {
     23 	public:
     24 		typedef enum ControlType {
     25 			LED_NOCHANGE,			// Do nothing (just query).
     26 			LED_OFF,					// Turn LED off.
     27 			LED_ON,					// Turn LED on.
     28 			LED_TOGGLE				// Toggle LED state.
     29 		} ControlType;
     30 
     31 	protected:
     32 		static int Shift_Control(ControlType control, char bit);
     33 
     34 	public:
     35 		static int Scroll_Lock(ControlType control=LED_TOGGLE) {return Shift_Control(control, 0x01);};
     36 		static int Caps_Lock(ControlType control=LED_TOGGLE) {return Shift_Control(control, 0x02);};
     37 		static int Num_Lock(ControlType control=LED_TOGGLE) {return Shift_Control(control, 0x04);};
     38 
     39 	private:
     40 		static void Send_To_Keyboard(unsigned char val);
     41 };
     42 
     43 #endif