mirror of
https://github.com/minetest/irrlicht.git
synced 2024-11-18 00:08:20 +01:00
0c6385cb92
Usually something like __IRR_SOME_GUARD_INCLUDED__ replaced by IRR_SOME_GUARD_INCLUDED. Removing underscores at the end wasn't necessary, but more symmetric (probably the reason they got added there as well). While this touches every header it shouldn't affect users (I hope). Also a few whitespace changes to unify whitespace usage a bit. And a bunch of spelling fixes in comments. git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6252 dfc29bdd-3216-0410-991c-e03cc46cb475
78 lines
2.1 KiB
C++
78 lines
2.1 KiB
C++
// 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 IRR_OVERRIDE;
|
|
|
|
//! Returns the screen size of a video mode in pixels.
|
|
virtual core::dimension2d<u32> getVideoModeResolution(s32 modeNumber) const IRR_OVERRIDE;
|
|
|
|
//! Returns the screen size of an optimal video mode in pixels.
|
|
virtual core::dimension2d<u32> getVideoModeResolution(const core::dimension2d<u32>& minSize, const core::dimension2d<u32>& maxSize) const IRR_OVERRIDE;
|
|
|
|
//! Returns the pixel depth of a video mode in bits.
|
|
virtual s32 getVideoModeDepth(s32 modeNumber) const IRR_OVERRIDE;
|
|
|
|
//! Returns current desktop screen resolution.
|
|
virtual const core::dimension2d<u32>& getDesktopResolution() const IRR_OVERRIDE;
|
|
|
|
//! Returns the pixel depth of a video mode in bits.
|
|
virtual s32 getDesktopDepth() const IRR_OVERRIDE;
|
|
|
|
//! adds a new mode to the list
|
|
void addMode(const core::dimension2d<u32>& size, s32 depth);
|
|
|
|
void setDesktop(s32 desktopDepth, const core::dimension2d<u32>& desktopSize);
|
|
|
|
private:
|
|
|
|
struct SVideoMode
|
|
{
|
|
core::dimension2d<u32> 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<SVideoMode> VideoModes;
|
|
SVideoMode Desktop;
|
|
};
|
|
|
|
} // end namespace video
|
|
} // end namespace irr
|
|
|
|
#endif
|