555
+ − 1
/*
+ − 2
* Hedgewars, a worms-like game
+ − 3
* Copyright (c) 2007 Andrey Korotaev <unC0Rr@gmail.com>
+ − 4
*
+ − 5
* This program is free software; you can redistribute it and/or modify
+ − 6
* it under the terms of the GNU General Public License as published by
+ − 7
* the Free Software Foundation; version 2 of the License
+ − 8
*
+ − 9
* This program is distributed in the hope that it will be useful,
+ − 10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
+ − 11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ − 12
* GNU General Public License for more details.
+ − 13
*
+ − 14
* You should have received a copy of the GNU General Public License
+ − 15
* along with this program; if not, write to the Free Software
+ − 16
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
+ − 17
*/
+ − 18
+ − 19
#include "SDLs.h"
+ − 20
+ − 21
#include "SDL.h"
+ − 22
+ − 23
SDLInteraction::SDLInteraction()
+ − 24
{
+ − 25
SDL_Init(SDL_INIT_VIDEO);
+ − 26
}
+ − 27
+ − 28
SDLInteraction::~SDLInteraction()
+ − 29
{
+ − 30
SDL_Quit();
+ − 31
}
+ − 32
+ − 33
QStringList SDLInteraction::getResolutions() const
+ − 34
{
+ − 35
QStringList result;
+ − 36
+ − 37
SDL_Rect **modes;
+ − 38
+ − 39
modes = SDL_ListModes(NULL, SDL_FULLSCREEN | SDL_HWSURFACE);
+ − 40
+ − 41
if((modes == (SDL_Rect **)0) || (modes == (SDL_Rect **)-1))
+ − 42
{
+ − 43
result << "640x480";
+ − 44
} else
+ − 45
{
+ − 46
for(int i = 0; modes[i]; ++i)
+ − 47
if ((modes[i]->w >= 640) && (modes[i]->h >= 480))
+ − 48
result << QString("%1x%2").arg(modes[i]->w).arg(modes[i]->h);
+ − 49
}
+ − 50
+ − 51
return result;
+ − 52
}