
#ifndef SPECTRE_DISPLAY_DISPLAYMODE_H
#define SPECTRE_DISPLAY_DISPLAYMODE_H

#include <vector>

class DisplayMode
{
public :
	DisplayMode();
	DisplayMode(unsigned int width, unsigned int height, unsigned int bpp = 32);

	static std::vector<DisplayMode> getFullscreenModes();

	static DisplayMode getDesktopMode();

	inline bool operator==(const DisplayMode& other)
	{
		return width == other.width 
			&& height == other.height
			&& bpp == other.bpp;
	}

	inline bool operator!=(const DisplayMode& other)
	{
		return !(*this == other);
	}

public :
	unsigned int	width;
	unsigned int	height;
	unsigned int	bpp;	/* Bits per pixel. */
};

#endif /* SPECTRE_DISPLAY_DISPLAYMODE_H */