SFML - Simple and Fast Multimedia Library
Main Page
Namespaces
Classes
Files
File List
VideoModeSupport.cpp00001
00002 //
00003 // SFML - Simple and Fast Multimedia Library
00004 // Copyright (C) 2007-2009 Laurent Gomila (laurent.gom@gmail.com)
00005 //
00006 // This software is provided 'as-is', without any express or implied warranty.
00007 // In no event will the authors be held liable for any damages arising from the use of this software.
00008 //
00009 // Permission is granted to anyone to use this software for any purpose,
00010 // including commercial applications, and to alter it and redistribute it freely,
00011 // subject to the following restrictions:
00012 //
00013 // 1. The origin of this software must not be misrepresented;
00014 // you must not claim that you wrote the original software.
00015 // If you use this software in a product, an acknowledgment
00016 // in the product documentation would be appreciated but is not required.
00017 //
00018 // 2. Altered source versions must be plainly marked as such,
00019 // and must not be misrepresented as being the original software.
00020 //
00021 // 3. This notice may not be removed or altered from any source distribution.
00022 //
00024
00026 // Headers
00028 #include <SFML/Window/Win32/VideoModeSupport.hpp>
00029 #include <windows.h>
00030 #include <algorithm>
00031
00032
00033 namespace sf
00034 {
00035 namespace priv
00036 {
00040 void VideoModeSupport::GetSupportedVideoModes(std::vector<VideoMode>& Modes)
00041 {
00042 // First, clear array to fill
00043 Modes.clear();
00044
00045 // Enumerate all available video modes for primary display adapter
00046 DEVMODE Win32Mode;
00047 Win32Mode.dmSize = sizeof(DEVMODE);
00048 for (int Count = 0; EnumDisplaySettings(NULL, Count, &Win32Mode); ++Count)
00049 {
00050 // Convert to sfVideoMode
00051 VideoMode Mode(Win32Mode.dmPelsWidth, Win32Mode.dmPelsHeight, Win32Mode.dmBitsPerPel);
00052
00053 // Add it only if it is not already in the array
00054 if (std::find(Modes.begin(), Modes.end(), Mode) == Modes.end())
00055 Modes.push_back(Mode);
00056 }
00057 }
00058
00059
00063 VideoMode VideoModeSupport::GetDesktopVideoMode()
00064 {
00065 DEVMODE Win32Mode;
00066 Win32Mode.dmSize = sizeof(DEVMODE);
00067 EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &Win32Mode);
00068
00069 return VideoMode(Win32Mode.dmPelsWidth, Win32Mode.dmPelsHeight, Win32Mode.dmBitsPerPel);
00070 }
00071
00072 } // namespace priv
00073
00074 } // namespace sf
:: Copyright © 2007-2008 Laurent Gomila, all rights reserved ::
Documentation generated by doxygen 1.5.2 ::
Wyszukiwarka
Podobne podstrony:
Win32 2VideoModeSupport 8hpp sourceWin32 2Joystick?pp sourceTemplatefornewports 2VideoModeSupport?pp sourceCocoa 2VideoModeSupport?pp sourceWin32 2Thread 8hpp sourceWin32 2Joystick 8hpp sourceWin32 2SocketHelper 8hpp sourceTemplatefornewports 2VideoModeSupport 8hpp sourceWin32 2Mutex 8hpp sourceWin32 2Platform 8hpp sourcesource30Matrix3?pp sourceThread?pp sourcearm biquad ?scade ?1 ?st q31? sourcearm conv ?2? sourcearm mat mult q15? sourceResource 8inl sourcewięcej podobnych podstron