annotate src/imagecache.d @ 0:a2d653eb9e99

first working version.
author fred@reichbier.de
date Thu, 17 Jul 2008 18:52:55 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
1 module imagecache;
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
2
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
3 import dsfml.window.all;
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
4 import dsfml.system.all;
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
5 import dsfml.graphics.all;
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
6
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
7 import tango.io.vfs.FileFolder;
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
8
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
9 class Cache {
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
10 private FileFolder filefolder;
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
11 private Image[char[]] images;
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
12
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
13 this(char[] folder) {
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
14 this.filefolder = new FileFolder(folder, false);
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
15 }
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
16
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
17 void load(char[] real_filename, char[] seen_filename) {
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
18 this.images[seen_filename] = new Image();
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
19 this.images[seen_filename].loadFromFile(real_filename);
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
20 }
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
21
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
22 Image get_image(char[] filename) {
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
23 if (!(filename in this.images)) {
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
24 this.load(this.filefolder.file(filename).toString(), filename);
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
25 }
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
26 return this.images[filename];
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
27 }
a2d653eb9e99 first working version.
fred@reichbier.de
parents:
diff changeset
28 }