#pragma once

#ifndef MGML_GUARDIAN
	#include "../CSL/MGML.h"
#endif


struct Input : public MGML_MATH::SSE_Aligned_Object
{
	Input();

	void reset() {cam_mov.set(0,0,0,1); printPerfInfo = false;}

	MGML::vec4f cam_rot, cam_mov;
  MGML::vec3f rayPos, rayRot;
	int mx,my;
	bool ldown;		// Нажата левая клавиша мыши?
	bool rdown;		// Нажата правая клавиша мыши?
	bool exit_status;
  bool drawAllGrid;

	int trace_depth;
  int tree_level_visible;
	bool shadows;

  bool printPerfInfo;

	void Mouse(int button, int state, int x, int y); //Обработка щелчков мыши
	void MouseMotion(int x, int y);                  //Перемешение мыши
	void Keyboard(unsigned char key,int x,int y);   //клава
	void KeyboardSpecial(int key, int x, int y);   // тоже клава
};

