Mercurial > projects > dwt-linux
annotate dwt/dwthelper/FileOutputStream.d @ 257:cc1d3de0e80b
Fix: make ImageLoader.save work
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Tue, 24 Jun 2008 22:12:18 +0200 |
parents | 380bad9f6852 |
children | a2166f25ce17 |
rev | line source |
---|---|
12 | 1 /** |
2 * Authors: Frank Benoit <keinfarbton@googlemail.com> | |
3 */ | |
4 module dwt.dwthelper.FileOutputStream; | |
5 | |
6 public import dwt.dwthelper.File; | |
7 public import dwt.dwthelper.OutputStream; | |
8 | |
9 import dwt.dwthelper.utils; | |
10 | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
11 import tango.io.FileConduit; |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
12 |
12 | 13 public class FileOutputStream : dwt.dwthelper.OutputStream.OutputStream { |
14 | |
15 alias dwt.dwthelper.OutputStream.OutputStream.write write; | |
16 alias dwt.dwthelper.OutputStream.OutputStream.close close; | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
17 FileConduit fc; |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
18 |
238 | 19 public this ( String name ){ |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
20 fc = new FileConduit( name, FileConduit.WriteCreate ); |
12 | 21 } |
22 | |
238 | 23 public this ( String name, bool append ){ |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
24 fc = new FileConduit( name, append ? FileConduit.WriteAppending : FileConduit.WriteCreate ); |
12 | 25 } |
26 | |
27 public this ( dwt.dwthelper.File.File file ){ | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
28 this( file.toString ); |
12 | 29 } |
30 | |
31 public this ( dwt.dwthelper.File.File file, bool append ){ | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
32 this( file.toString, append ); |
12 | 33 } |
34 | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
35 public override void write( int b ){ |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
36 ubyte[1] a; |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
37 a[0] = b & 0xFF; |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
38 fc.write(a); |
12 | 39 } |
40 | |
257
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
41 public override void close(){ |
cc1d3de0e80b
Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents:
238
diff
changeset
|
42 fc.close(); |
12 | 43 } |
44 | |
45 public void finalize(){ | |
46 implMissing( __FILE__, __LINE__ ); | |
47 } | |
48 | |
49 | |
50 } | |
51 | |
52 |