0
|
1 module imagecache;
|
|
2
|
|
3 import dsfml.window.all;
|
|
4 import dsfml.system.all;
|
|
5 import dsfml.graphics.all;
|
|
6
|
|
7 import tango.io.vfs.FileFolder;
|
|
8
|
|
9 class Cache {
|
|
10 private FileFolder filefolder;
|
|
11 private Image[char[]] images;
|
|
12
|
|
13 this(char[] folder) {
|
|
14 this.filefolder = new FileFolder(folder, false);
|
|
15 }
|
|
16
|
|
17 void load(char[] real_filename, char[] seen_filename) {
|
|
18 this.images[seen_filename] = new Image();
|
|
19 this.images[seen_filename].loadFromFile(real_filename);
|
|
20 }
|
|
21
|
|
22 Image get_image(char[] filename) {
|
|
23 if (!(filename in this.images)) {
|
|
24 this.load(this.filefolder.file(filename).toString(), filename);
|
|
25 }
|
|
26 return this.images[filename];
|
|
27 }
|
|
28 }
|