48 lines
961 B
C++
48 lines
961 B
C++
|
|
#ifndef SPECTRE_DISPLAY_DISPLAYMODE_H
|
|
#define SPECTRE_DISPLAY_DISPLAYMODE_H
|
|
|
|
#include <vector>
|
|
|
|
namespace sp {
|
|
|
|
class DisplayMode
|
|
{
|
|
public :
|
|
DisplayMode();
|
|
DisplayMode(unsigned int width, unsigned int height, unsigned int bpp = 32);
|
|
|
|
static std::vector<DisplayMode> getFullscreenModes();
|
|
|
|
static DisplayMode getDesktopMode();
|
|
|
|
// Returns true if width hight and bpp are not set (eg. zero)
|
|
// useful to determine if a DisplayMode object is set or not.
|
|
// this is equal to:
|
|
// DisplayMode a;
|
|
// if (a == DisplayMode()) {
|
|
// // empty
|
|
// }
|
|
bool empty() const;
|
|
|
|
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. */
|
|
};
|
|
|
|
} // namespace sp
|
|
|
|
#endif /* SPECTRE_DISPLAY_DISPLAYMODE_H */
|