annotate dwt/dwthelper/ByteArrayOutputStream.d @ 276:9d67c3170a58 Release-1

Removed version=TANGOSVN for release 0.99.7
author Frank Benoit <benoit@tionex.de>
date Sat, 26 Jul 2008 02:52:25 +0200
parents d472fae79005
children ee1dd551f5b1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
1 /**
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
2 * Authors: Frank Benoit <keinfarbton@googlemail.com>
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
3 */
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
4 module dwt.dwthelper.ByteArrayOutputStream;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
5
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
6 public import dwt.dwthelper.OutputStream;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
7 import dwt.dwthelper.utils;
262
e10de397beb1 ADD version TANGOSVN
Frank Benoit <benoit@tionex.de>
parents: 257
diff changeset
8 import tango.io.Buffer;
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
9
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
10 public class ByteArrayOutputStream : dwt.dwthelper.OutputStream.OutputStream {
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
11
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
12 protected GrowBuffer buffer;
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
14 public this (){
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
15 buffer = new GrowBuffer();
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
18 public this ( int par_size ){
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
19 buffer = new GrowBuffer(par_size);
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
21
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
22 public synchronized override void write( int b ){
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
23 byte[1] a;
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
24 a[0] = b & 0xFF;
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
25 buffer.append(a);
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
26 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
27
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
28 public synchronized override void write( byte[] b, int off, int len ){
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
29 buffer.append( b[ off .. off + len ]);
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
30 }
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
31
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
32 public synchronized override void write( byte[] b ){
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
33 buffer.append( b );
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
34 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
35
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
36 public synchronized void writeTo( dwt.dwthelper.OutputStream.OutputStream out_KEYWORDESCAPE ){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
37 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
38 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
39
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 public synchronized void reset(){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 public synchronized byte[] toByteArray(){
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
45 return cast(byte[])buffer.slice();
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 public int size(){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 return 0;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
51 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52
238
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 13
diff changeset
53 public override String toString(){
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 return null;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57
238
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 13
diff changeset
58 public String toString( String enc ){
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
59 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 return null;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62
238
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 13
diff changeset
63 public String toString( int hibyte ){
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
64 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 return null;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68 public override void close(){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
69 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73