annotate dwt/dwthelper/ByteArrayOutputStream.d @ 262:e10de397beb1

ADD version TANGOSVN
author Frank Benoit <benoit@tionex.de>
date Sun, 06 Jul 2008 15:33:12 +0200
parents cc1d3de0e80b
children d472fae79005
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;
e10de397beb1 ADD version TANGOSVN
Frank Benoit <benoit@tionex.de>
parents: 257
diff changeset
9 version(TANGOSVN)
e10de397beb1 ADD version TANGOSVN
Frank Benoit <benoit@tionex.de>
parents: 257
diff changeset
10 import tango.io.Buffer;
e10de397beb1 ADD version TANGOSVN
Frank Benoit <benoit@tionex.de>
parents: 257
diff changeset
11 }
e10de397beb1 ADD version TANGOSVN
Frank Benoit <benoit@tionex.de>
parents: 257
diff changeset
12 else{
e10de397beb1 ADD version TANGOSVN
Frank Benoit <benoit@tionex.de>
parents: 257
diff changeset
13 import tango.io.GrowBuffer;
e10de397beb1 ADD version TANGOSVN
Frank Benoit <benoit@tionex.de>
parents: 257
diff changeset
14 }
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
15
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
16 public class ByteArrayOutputStream : dwt.dwthelper.OutputStream.OutputStream {
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
17
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
18 protected GrowBuffer buffer;
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
19
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
20 public this (){
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
21 buffer = new GrowBuffer();
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
22 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
23
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
24 public this ( int par_size ){
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
25 buffer = new GrowBuffer(par_size);
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( int b ){
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
29 byte[1] a;
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
30 a[0] = b & 0xFF;
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
31 buffer.append(a);
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
32 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
33
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
34 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
35 buffer.append( b[ off .. off + len ]);
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
36 }
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
37
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
38 public synchronized override void write( byte[] b ){
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
39 buffer.append( b );
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
40 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
41
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
42 public synchronized void writeTo( dwt.dwthelper.OutputStream.OutputStream out_KEYWORDESCAPE ){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
43 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
44 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
45
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
46 public synchronized void reset(){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
47 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
48 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
49
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
50 public synchronized byte[] toByteArray(){
257
cc1d3de0e80b Fix: make ImageLoader.save work
Frank Benoit <benoit@tionex.de>
parents: 238
diff changeset
51 return cast(byte[])buffer.slice();
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
52 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
53
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
54 public int size(){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
55 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
56 return 0;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
57 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
58
238
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 13
diff changeset
59 public override String toString(){
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
60 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
61 return null;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
62 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
63
238
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 13
diff changeset
64 public String toString( String enc ){
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
65 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
66 return null;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
67 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
68
238
380bad9f6852 reverted char[] to String
Frank Benoit <benoit@tionex.de>
parents: 13
diff changeset
69 public String toString( int hibyte ){
13
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
70 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
71 return null;
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
72 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
73
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
74 public override void close(){
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
75 implMissing( __FILE__, __LINE__ );
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
76 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
77 }
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
78
3d9bbe0a83a0 FileFormats
Frank Benoit <benoit@tionex.de>
parents:
diff changeset
79