#ifndef SPECTRE_DISPLAY_DISPLAYMODE_H #define SPECTRE_DISPLAY_DISPLAYMODE_H #include namespace sp { class DisplayMode { public : DisplayMode(); DisplayMode(unsigned int width, unsigned int height, unsigned int bpp = 32); static std::vector 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 */