view import/myrrdin/imagecache.d @ 5:f4b89014ad39

added moving figure stuff + animated sprites. not usable atm.
author fred@reichbier.de
date Sat, 19 Jul 2008 14:33:08 +0200
parents src/imagecache.d@a2d653eb9e99
children 510541745cd1
line wrap: on
line source

/*
    This file is part of myrrdin.

    myrrdin is free software: you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as 
    published by the Free Software Foundation, either version 3 of 
    the License, or (at your option) any later version.

    myrrdin is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public 
    License along with myrrdin. If not, see <http://www.gnu.org/licenses/>.
*/

module imagecache;

import dsfml.window.all;
import dsfml.system.all;
import dsfml.graphics.all;

import tango.io.vfs.FileFolder;

class Cache {
    private FileFolder filefolder;
    private Image[char[]] images;

    this(char[] folder) {
	this.filefolder = new FileFolder(folder, false);
    }

    void load(char[] real_filename, char[] seen_filename) {
	this.images[seen_filename] = new Image();
	this.images[seen_filename].loadFromFile(real_filename);
    }

    Image get_image(char[] filename) {
	if (!(filename in this.images)) {
	    this.load(this.filefolder.file(filename).toString(), filename);
	}
	return this.images[filename];
    }
}