Mercurial > projects > myrrdin
comparison 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 |
comparison
equal
deleted
inserted
replaced
4:292df259cc85 | 5:f4b89014ad39 |
---|---|
1 /* | |
2 This file is part of myrrdin. | |
3 | |
4 myrrdin is free software: you can redistribute it and/or modify | |
5 it under the terms of the GNU Lesser General Public License as | |
6 published by the Free Software Foundation, either version 3 of | |
7 the License, or (at your option) any later version. | |
8 | |
9 myrrdin 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 Lesser General Public License for more details. | |
13 | |
14 You should have received a copy of the GNU Lesser General Public | |
15 License along with myrrdin. If not, see <http://www.gnu.org/licenses/>. | |
16 */ | |
17 | |
18 module imagecache; | |
19 | |
20 import dsfml.window.all; | |
21 import dsfml.system.all; | |
22 import dsfml.graphics.all; | |
23 | |
24 import tango.io.vfs.FileFolder; | |
25 | |
26 class Cache { | |
27 private FileFolder filefolder; | |
28 private Image[char[]] images; | |
29 | |
30 this(char[] folder) { | |
31 this.filefolder = new FileFolder(folder, false); | |
32 } | |
33 | |
34 void load(char[] real_filename, char[] seen_filename) { | |
35 this.images[seen_filename] = new Image(); | |
36 this.images[seen_filename].loadFromFile(real_filename); | |
37 } | |
38 | |
39 Image get_image(char[] filename) { | |
40 if (!(filename in this.images)) { | |
41 this.load(this.filefolder.file(filename).toString(), filename); | |
42 } | |
43 return this.images[filename]; | |
44 } | |
45 } |