1
0
mirror of https://github.com/borgesdan/xn65 synced 2024-12-29 21:54:47 +01:00
xn65/framework/platform/displaymode-dx.cpp

41 lines
831 B
C++
Raw Normal View History

2024-04-22 11:22:18 -03:00
#include "displaymode-dx.hpp"
namespace xna {
std::vector<PDisplayMode> DisplayModeCollection::At(SurfaceFormat format) const
{
std::vector<PDisplayMode> modes;
At(format, modes);
return modes;
}
void DisplayModeCollection::At(SurfaceFormat format, std::vector<PDisplayMode>& modes) const
{
size_t counter = 0;
for (size_t i = 0; i < _displayModes.size(); ++i) {
const auto& displayMode = _displayModes[i];
if (displayMode->Format() == format)
{
modes.push_back(displayMode);
++counter;
}
}
if (!modes.empty())
modes.resize(counter);
}
size_t DisplayModeCollection::SurfaceCount(SurfaceFormat format) const
{
size_t counter = 0;
for (size_t i = 0; i < _displayModes.size(); ++i) {
if (_displayModes[i]->Format() == format) {
++counter;
}
}
return counter;
}
}