From 7028cbe09c688437910a25623098762bf0fa592d Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 28 Mar 2016 22:28:34 +1000 Subject: Move Irrlicht to src/others. --- .../source/Irrlicht/CVideoModeList.h | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/others/irrlicht-1.8.1/source/Irrlicht/CVideoModeList.h (limited to 'src/others/irrlicht-1.8.1/source/Irrlicht/CVideoModeList.h') diff --git a/src/others/irrlicht-1.8.1/source/Irrlicht/CVideoModeList.h b/src/others/irrlicht-1.8.1/source/Irrlicht/CVideoModeList.h new file mode 100644 index 0000000..306e11a --- /dev/null +++ b/src/others/irrlicht-1.8.1/source/Irrlicht/CVideoModeList.h @@ -0,0 +1,79 @@ +// Copyright (C) 2002-2012 Nikolaus Gebhardt +// This file is part of the "Irrlicht Engine". +// For conditions of distribution and use, see copyright notice in irrlicht.h + +#ifndef __IRR_C_VIDEO_MODE_LIST_H_INCLUDED__ +#define __IRR_C_VIDEO_MODE_LIST_H_INCLUDED__ + +#include "IVideoModeList.h" +#include "dimension2d.h" +#include "irrArray.h" + +namespace irr +{ +namespace video +{ + + class CVideoModeList : public IVideoModeList + { + public: + + //! constructor + CVideoModeList(); + + //! Gets amount of video modes in the list. + virtual s32 getVideoModeCount() const; + + //! Returns the screen size of a video mode in pixels. + virtual core::dimension2d getVideoModeResolution(s32 modeNumber) const; + + //! Returns the screen size of an optimal video mode in pixels. + virtual core::dimension2d getVideoModeResolution(const core::dimension2d& minSize, const core::dimension2d& maxSize) const; + + //! Returns the pixel depth of a video mode in bits. + virtual s32 getVideoModeDepth(s32 modeNumber) const; + + //! Returns current desktop screen resolution. + virtual const core::dimension2d& getDesktopResolution() const; + + //! Returns the pixel depth of a video mode in bits. + virtual s32 getDesktopDepth() const; + + //! adds a new mode to the list + void addMode(const core::dimension2d& size, s32 depth); + + void setDesktop(s32 desktopDepth, const core::dimension2d& desktopSize); + + private: + + struct SVideoMode + { + core::dimension2d size; + s32 depth; + + bool operator==(const SVideoMode& other) const + { + return size == other.size && depth == other.depth; + } + + bool operator <(const SVideoMode& other) const + { + return (size.Width < other.size.Width || + (size.Width == other.size.Width && + size.Height < other.size.Height) || + (size.Width == other.size.Width && + size.Height == other.size.Height && + depth < other.depth)); + } + }; + + core::array VideoModes; + SVideoMode Desktop; + }; + +} // end namespace video +} // end namespace irr + + +#endif + -- cgit v1.1