/*
/ PARAMS.H
/ ********
/ Defines the kernel creation parameters.
/
/ Will Beddow 2010 - http://343gs.com/brainstem
/
/ This software is currently under development
/ and is subject to change and improvement. Some
/ aspects of the system are incomplete and/or 
/ unstable due to ongoing implementation.
/
*/

#ifndef __KERNELPARAMS_H__
#define __KERNELPARAMS_H__

#include "Compile.h"
#include "Types.h"
#include <Windows.h>

namespace Brainstem
{
	struct Kernel_Params
	{
		Kernel_Params() :
			hWnd(0),
			hInstance(0),
			Size(Dimension2<int>(640,480)),
			Fullscreen(false),
			ShowConsole(true)
		{ }

		Kernel_Params(const Kernel_Params& other) {*this = other;}

		Kernel_Params& operator=(const Kernel_Params& other)
		{
			hWnd = other.hWnd;
			hInstance = other.hInstance;
			Size = other.Size;
			Fullscreen = other.Fullscreen;
			ShowConsole = other.ShowConsole;
			return *this;
		}

		HWND hWnd;
		HINSTANCE hInstance;
		Dimension2<int> Size;
		bool Fullscreen;
		bool ShowConsole;
	};
}

#endif