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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /**
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Authors: Frank Benoit <keinfarbton@googlemail.com>
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 */
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 module dwt.dwthelper.FileOutputStream;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 public import dwt.dwthelper.File;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 public import dwt.dwthelper.OutputStream;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
8
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9 import dwt.dwthelper.utils;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
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
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13 public class FileOutputStream : dwt.dwthelper.OutputStream.OutputStream {
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15 alias dwt.dwthelper.OutputStream.OutputStream.write write;
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
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
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
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
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22
238
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 12
diff changeset
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
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
25 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
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
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
29 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
30
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
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
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
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
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
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
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45 public void finalize(){
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 implMissing( __FILE__, __LINE__ );
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 }
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51
0c78fa47d476 helper classes
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52