Mercurial > projects > dwt-linux
view dwt/internal/image/JPEGSegment.d @ 13:3d9bbe0a83a0
FileFormats
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Sun, 06 Jan 2008 22:54:14 +0100 |
parents | |
children | 8cec8f536af3 |
line wrap: on
line source
/******************************************************************************* * Copyright (c) 2000, 2003 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ module dwt.internal.image.JPEGSegment; import dwt.internal.image.LEDataOutputStream; import tango.core.Exception; class JPEGSegment { public byte[] reference; this() { } public this(byte[] reference) { this.reference = reference; } public int signature() { return 0; } public bool verify() { return getSegmentMarker() == signature(); } public int getSegmentMarker() { return ((reference[0] & 0xFF) << 8 | (reference[1] & 0xFF)); } public void setSegmentMarker(int marker) { reference[0] = cast(byte)((marker & 0xFF00) >> 8); reference[1] = cast(byte)(marker & 0xFF); } public int getSegmentLength() { return ((reference[2] & 0xFF) << 8 | (reference[3] & 0xFF)); } public void setSegmentLength(int length) { reference[2] = cast(byte)((length & 0xFF00) >> 8); reference[3] = cast(byte)(length & 0xFF); } public bool writeToStream(LEDataOutputStream byteStream) { try { byteStream.write(reference); return true; } catch (TracedException e) { return false; } } }