root/dwt/internal/image/JPEGVariableSizeSegment.d

Revision 57:41dbc4d9faab, 1.5 kB (checked in by Frank Benoit <benoit@tionex.de>, 1 year ago)

Update to tango trunk -r3152. Thanks DavidLeon? for the adjustment of TracedException? to Exception and creating the patch.

Line 
1 /*******************************************************************************
2  * Copyright (c) 2000, 2003 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  * Port to the D programming language:
11  *     Frank Benoit <benoit@tionex.de>
12  *******************************************************************************/
13 module dwt.internal.image.JPEGVariableSizeSegment;
14
15 import dwt.DWT;
16 import dwt.internal.image.JPEGSegment;
17 import dwt.internal.image.LEDataInputStream;
18
19 import tango.core.Exception;
20
21 abstract class JPEGVariableSizeSegment : JPEGSegment {
22
23     public this(byte[] reference) {
24         super(reference);
25     }
26
27     public this(LEDataInputStream byteStream) {
28         try {
29             byte[] header = new byte[4];
30             byteStream.read(header);
31             reference = header; // to use getSegmentLength()
32             byte[] contents = new byte[getSegmentLength() + 2];
33             contents[0] = header[0];
34             contents[1] = header[1];
35             contents[2] = header[2];
36             contents[3] = header[3];
37             byteStream.read(contents, 4, contents.length - 4);
38             reference = contents;
39         } catch (Exception e) {
40             DWT.error(DWT.ERROR_IO, e);
41         }
42     }
43 }
Note: See TracBrowser for help on using the browser.