~ubuntu-branches/ubuntu/natty/balder2d/natty

« back to all changes in this revision

Viewing changes to src/imageloader.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Bjørn Hansen
  • Date: 2008-06-15 17:15:38 UTC
  • mfrom: (1.1.1 upstream) (3.1.2 hardy)
  • Revision ID: james.westby@ubuntu.com-20080615171538-e407e07wbtdy0qs8
Tags: 1.0-1
* new upstream release
* update for guichan 8.1 (Closes: #482584)
* use physicsfs to make data/config/map/aiscript loading more flexible
* new skins for menus
* fix typo in control file long description (Closes: #458401)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/***************************************************************************
 
2
 *   Copyright (C) 2007 by Bjorn Hansen                                    *
 
3
 *   holomorph@users.sourceforge.net                                       *
 
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; either version 2 of the License, or     *
 
8
 *   (at your option) any later version.                                   *
 
9
 *                                                                         *
 
10
 *   This program is distributed in the hope that it will be useful,       *
 
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
 
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
 
13
 *   GNU General Public License for more details.                          *
 
14
 *                                                                         *
 
15
 *   You should have received a copy of the GNU General Public License     *
 
16
 *   along with this program; if not, write to the                         *
 
17
 *   Free Software Foundation, Inc.,                                       *
 
18
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 
19
 ***************************************************************************/
 
20
 
 
21
#include "imageloader.h"
 
22
#include "log.h"
 
23
#include "filepathmanager.h"
 
24
#include <string>
 
25
 
 
26
using namespace Balder;
 
27
 
 
28
std::map<std::string,SDL_Surface*> ImageLoader::SDLImages;
 
29
std::map<std::string,gcn::Image*> ImageLoader::gcnImages;
 
30
 
 
31
SDL_Surface* ImageLoader::LoadImage(const char* filename)
 
32
{
 
33
    if (!SDLImages.count(filename))
 
34
    {
 
35
        SDLImages[filename] = IMG_Load(FilePathManager::GetFullPath(filename).c_str());
 
36
    }
 
37
    return SDLImages[filename];
 
38
}
 
39
 
 
40
void ImageLoader::FreeImage(const char* filename)
 
41
{
 
42
    if (SDLImages.count(filename))
 
43
    {
 
44
        SDL_FreeSurface(SDLImages[filename]);
 
45
        SDLImages.erase(filename);
 
46
    }
 
47
}
 
48
 
 
49
gcn::Image* ImageLoader::LoadGcnImage(const char* filename)
 
50
{
 
51
    if (!gcnImages.count(filename))
 
52
    {
 
53
        gcnImages[filename] = gcn::Image::load(FilePathManager::GetFullPath(filename).c_str());
 
54
    }
 
55
    return gcnImages[filename];
 
56
}
 
57
 
 
58
gcn::ImageFont* ImageLoader::LoadGcnImageFont(const char* filename)
 
59
{
 
60
    return new gcn::ImageFont(FilePathManager::GetFullPath(filename).c_str());
 
61
}