/************************************************************************/
/* Ex Nihlo Engine by Hermanns Christophe								*/
/************************************************************************/
/* This program is free software; you can redistribute it and/or		*/
/* modify it under the terms of the GNU General Public License			*/
/* as published by the Free Software Foundation; either version 2		*/
/* of the License, or (at your option) any later version.				*/
/*																		*/
/* This program is distributed in the hope that it will be useful,		*/
/* but WITHOUT ANY WARRANTY; without even the implied warranty of		*/
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.					*/
/*																		*/
/* See the GNU General Public License for more details.					*/
/*																		*/
/* You should have received a copy of the GNU General Public License	*/
/* along with this program; if not, write to the Free Software			*/
/* Foundation, Inc., 59 Temple Place - Suite 330,						*/
/* Boston, MA  02111-1307, USA.											*/
/*																		*/
/* If you use a important part of this code please send me a mail		*/
/* I just want to see where my code go thks :)							*/
/************************************************************************/

/************************************************************************/
/* Contact                                                              */  
/************************************************************************/
/* ExNihilo Website :www.ploksoftware.org                               */
/*                                                                      */
/* Hermanns Christophe ExNihilo creator and main programmer             */
/*                                                                      */
/* Mail             : Data@ploksoftware.org								*/
/* ICQ              : 8030901											*/
/* MSN Messenger    : Data_7@hotmail.com								*/
/*                                                                      */
/* Benjamin Michotte Linux port, webmaster                              */
/*                                                                      */
/* Mail             :binny@ploksoftware.org                             */
/*                                                                      */
/************************************************************************/

/************************************************************************/
/* File Description             										*/
/************************************************************************/
/* File Name   :ExCCommand.h											*/
/*																		*/
/* Star Date   :03/15/2002												*/
/*																		*/
/* Last Update :                                                        */

#ifndef __EXCCOMMAND_H__
#define __EXCCOMMAND_H__
//--------------------------------
// File to include
//--------------------------------
#include "ExDefine.h"
//--------------------------------
class ExCCommand 
{
protected:
//--------------------------------
// Variable
//--------------------------------
public:
	int		m_Command;
	int		m_MousePosx;
	int		m_MousePosy;
//--------------------------------
// Constructor // Destructor
//--------------------------------
	ExCCommand();
	ExCCommand(int Command);
	ExCCommand(const ExCCommand& Command);
	ExCCommand(int Command, int MousePosX, int MousePosY);
	~ExCCommand();
//--------------------------------
// Methode
//--------------------------------

};
//--------------------------------------------------------------
//First all command key mouse ,...
//--------------------------------------------------------------
#define NO_INPUT							40000
#define MOUSE_LEFT_BUTTON_UP				40001
#define MOUSE_LEFT_BUTTON_DOWN				40002
#define MOUSE_RIGHT_BUTTON_UP				40003
#define MOUSE_RIGHT_BUTTON_DOWN				40004
#define MOUSE_MIDDLE_BUTTON_UP				40005
#define MOUSE_MIDDLE_BUTTON_DOWN			40006
#define MOUSE_MOTION						40007
#define MOUSE_MOTION_PASSIVE				40008
#define KEYBOARD_DOWN_ESC					10001
#define KEYBOARD_DOWN_F1					10002
#define KEYBOARD_DOWN_F2					10003
#define KEYBOARD_DOWN_F3					10004
#define KEYBOARD_DOWN_F4					10005
#define KEYBOARD_DOWN_F5					10006
#define KEYBOARD_DOWN_F6					10007
#define KEYBOARD_DOWN_F7					10008
#define KEYBOARD_DOWN_F8					10009
#define KEYBOARD_DOWN_F9					10010
#define KEYBOARD_DOWN_F10					10011
#define KEYBOARD_DOWN_F11					10012
#define KEYBOARD_DOWN_F12					10013
#define KEYBOARD_DOWN_EXP					10014
#define KEYBOARD_DOWN_1						10015
#define KEYBOARD_DOWN_2						10016
#define KEYBOARD_DOWN_3						10017
#define KEYBOARD_DOWN_4						10018
#define KEYBOARD_DOWN_5						10019
#define KEYBOARD_DOWN_6						10020
#define KEYBOARD_DOWN_7						10021
#define KEYBOARD_DOWN_8						10022
#define KEYBOARD_DOWN_9						10023
#define KEYBOARD_DOWN_0						10024
#define KEYBOARD_DOWN_ENTER					10025
#define KEYBOARD_DOWN_SPACE					10026
#define KEYBOARD_DOWN_RSHIFT				10027
#define KEYBOARD_DOWN_LSHIFT				10028
#define KEYBOARD_DOWN_ARROW_UP				10029
#define KEYBOARD_DOWN_ARROW_DOWN			10030
#define KEYBOARD_DOWN_ARROW_LEFT			10031
#define KEYBOARD_DOWN_ARROW_RIGHT			10032
#define KEYBOARD_DOWN_PAGE_UP				10033
#define KEYBOARD_DOWN_PAGE_DOWN				10034
#define KEYBOARD_DOWN_HOME					10035
#define KEYBOARD_DOWN_END					10036
#define KEYBOARD_DOWN_INSERT				10037
#define KEYBOARD_DOWN_A						10038
#define KEYBOARD_DOWN_Z						10039
#define KEYBOARD_DOWN_E						10040
#define KEYBOARD_DOWN_R						10041
#define KEYBOARD_DOWN_T						10042
#define KEYBOARD_DOWN_Y						10043
#define KEYBOARD_DOWN_U						10044
#define KEYBOARD_DOWN_I						10045
#define KEYBOARD_DOWN_O						10046
#define KEYBOARD_DOWN_P						10047
#define KEYBOARD_DOWN_Q						10048
#define KEYBOARD_DOWN_S						10049
#define KEYBOARD_DOWN_D						10050
#define KEYBOARD_DOWN_F						10051
#define KEYBOARD_DOWN_G						10052
#define KEYBOARD_DOWN_H						10053
#define KEYBOARD_DOWN_J						10054
#define KEYBOARD_DOWN_K						10055
#define KEYBOARD_DOWN_L						10056
#define KEYBOARD_DOWN_M						10057
#define KEYBOARD_DOWN_W						10058
#define KEYBOARD_DOWN_X						10059
#define KEYBOARD_DOWN_C						10060
#define KEYBOARD_DOWN_V						10061
#define KEYBOARD_DOWN_B						10062
#define KEYBOARD_DOWN_N						10063
#define KEYBOARD_DOWN_M_A					10064
#define KEYBOARD_DOWN_M_Z					10065
#define KEYBOARD_DOWN_M_E					10066
#define KEYBOARD_DOWN_M_R					10067
#define KEYBOARD_DOWN_M_T					10068
#define KEYBOARD_DOWN_M_Y					10069
#define KEYBOARD_DOWN_M_U					10070
#define KEYBOARD_DOWN_M_I					10071
#define KEYBOARD_DOWN_M_O					10072
#define KEYBOARD_DOWN_M_P					10073
#define KEYBOARD_DOWN_M_Q					10074
#define KEYBOARD_DOWN_M_S					10075
#define KEYBOARD_DOWN_M_D					10076
#define KEYBOARD_DOWN_M_F					10077
#define KEYBOARD_DOWN_M_G					10078
#define KEYBOARD_DOWN_M_H					10079
#define KEYBOARD_DOWN_M_J					10080
#define KEYBOARD_DOWN_M_K					10081
#define KEYBOARD_DOWN_M_L					10082
#define KEYBOARD_DOWN_M_M					10083
#define KEYBOARD_DOWN_M_W					10084
#define KEYBOARD_DOWN_M_X					10085
#define KEYBOARD_DOWN_M_C					10086
#define KEYBOARD_DOWN_M_V					10087
#define KEYBOARD_DOWN_M_B					10088
#define KEYBOARD_DOWN_M_N					10089
#define KEYBOARD_DOWN__						10090
#define KEYBOARD_DOWN_2POINTS				10091
#define KEYBOARD_DOWN_POINT 				10092
#define KEYBOARD_DOWN_BACKSPACE				10093
#define KEYBOARD_DOWN_TAB					10094
#define KEYBOARD_DOWN_CTRL_U				10095
#define KEYBOARD_UP_ESC						20001
#define KEYBOARD_UP_F1						20002
#define KEYBOARD_UP_F2						20003
#define KEYBOARD_UP_F3						20004
#define KEYBOARD_UP_F4						20005
#define KEYBOARD_UP_F5						20006
#define KEYBOARD_UP_F6						20007
#define KEYBOARD_UP_F7						20008
#define KEYBOARD_UP_F8						20009
#define KEYBOARD_UP_F9						20010
#define KEYBOARD_UP_F10						20011
#define KEYBOARD_UP_F11						20012
#define KEYBOARD_UP_F12						20013
#define KEYBOARD_UP_EXP						20014
#define KEYBOARD_UP_1						20015
#define KEYBOARD_UP_2						20016
#define KEYBOARD_UP_3						20017
#define KEYBOARD_UP_4						20018
#define KEYBOARD_UP_5						20019
#define KEYBOARD_UP_6						20020
#define KEYBOARD_UP_7						20021
#define KEYBOARD_UP_8						20022
#define KEYBOARD_UP_9						20023
#define KEYBOARD_UP_0						20024
#define KEYBOARD_UP_ENTER					20025
#define KEYBOARD_UP_SPACE					20026
#define KEYBOARD_UP_RSHIFT					20027
#define KEYBOARD_UP_LSHIFT					20028
#define KEYBOARD_UP_ARROW_UP				20029
#define KEYBOARD_UP_ARROW_DOWN				20030
#define KEYBOARD_UP_ARROW_LEFT				20031
#define KEYBOARD_UP_ARROW_RIGHT				20032
#define KEYBOARD_UP_PAGE_UP					20033
#define KEYBOARD_UP_PAGE_DOWN				20034
#define KEYBOARD_UP_HOME					20035
#define KEYBOARD_UP_END						20036
#define KEYBOARD_UP_INSERT					20037
#define KEYBOARD_UP_A						20038
#define KEYBOARD_UP_Z						20039
#define KEYBOARD_UP_E						20040
#define KEYBOARD_UP_R						20041
#define KEYBOARD_UP_T						20042
#define KEYBOARD_UP_Y						20043
#define KEYBOARD_UP_U						20044
#define KEYBOARD_UP_I						20045
#define KEYBOARD_UP_O						20046
#define KEYBOARD_UP_P						20047
#define KEYBOARD_UP_Q						20048
#define KEYBOARD_UP_S						20049
#define KEYBOARD_UP_D						20050
#define KEYBOARD_UP_F						20051
#define KEYBOARD_UP_G						20052
#define KEYBOARD_UP_H						20053
#define KEYBOARD_UP_J						20054
#define KEYBOARD_UP_K						20055
#define KEYBOARD_UP_L						20056
#define KEYBOARD_UP_M						20057
#define KEYBOARD_UP_W						20058
#define KEYBOARD_UP_X						20059
#define KEYBOARD_UP_C						20060
#define KEYBOARD_UP_V						20061
#define KEYBOARD_UP_B						20062
#define KEYBOARD_UP_N						20063
#define KEYBOARD_UP_M_A						20064
#define KEYBOARD_UP_M_Z						20065
#define KEYBOARD_UP_M_E						20066
#define KEYBOARD_UP_M_R						20067
#define KEYBOARD_UP_M_T						20068
#define KEYBOARD_UP_M_Y						20069
#define KEYBOARD_UP_M_U						20070
#define KEYBOARD_UP_M_I						20071
#define KEYBOARD_UP_M_O						20072
#define KEYBOARD_UP_M_P						20073
#define KEYBOARD_UP_M_Q						20074
#define KEYBOARD_UP_M_S						20075
#define KEYBOARD_UP_M_D						20076
#define KEYBOARD_UP_M_F						20077
#define KEYBOARD_UP_M_G						20078
#define KEYBOARD_UP_M_H						20079
#define KEYBOARD_UP_M_J						20080
#define KEYBOARD_UP_M_K						20081
#define KEYBOARD_UP_M_L						20082
#define KEYBOARD_UP_M_M						20083
#define KEYBOARD_UP_M_W						20084
#define KEYBOARD_UP_M_X						20085
#define KEYBOARD_UP_M_C						20086
#define KEYBOARD_UP_M_V						20087
#define KEYBOARD_UP_M_B						20088
#define KEYBOARD_UP_M_N						20089
#define KEYBOARD_UP__						20090
#define KEYBOARD_UP_2POINTS					20091
#define KEYBOARD_UP_POINT 					20092
#define KEYBOARD_UP_BACKSPACE				20093
#define KEYBOARD_UP_TAB						20094
#define KEYBOARD_UP_CTRL_U					20095
//--------------------------------------------------
#define WINDOW_GET_FOCUS					20200
#define WINDOW_LOSE_FOCUS					20201
#endif //__EXCCOMMAND_H__
