aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/tightvnc/decoder/ZlibDecoder.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/tightvnc/decoder/ZlibDecoder.java')
-rw-r--r--java/src/com/tightvnc/decoder/ZlibDecoder.java103
1 files changed, 0 insertions, 103 deletions
diff --git a/java/src/com/tightvnc/decoder/ZlibDecoder.java b/java/src/com/tightvnc/decoder/ZlibDecoder.java
deleted file mode 100644
index 1370da15..00000000
--- a/java/src/com/tightvnc/decoder/ZlibDecoder.java
+++ /dev/null
@@ -1,103 +0,0 @@
-package com.tightvnc.decoder;
-
-import com.tightvnc.vncviewer.RfbInputStream;
-import java.awt.Graphics;
-import java.io.IOException;
-import java.util.zip.DataFormatException;
-import java.util.zip.Inflater;
-
-//
-// Class that used for decoding ZLib encoded data.
-//
-
-public class ZlibDecoder extends RawDecoder {
-
- final static int EncodingZlib = 6;
-
- public ZlibDecoder(Graphics g, RfbInputStream is) {
- super(g, is);
- }
-
- public ZlibDecoder(Graphics g, RfbInputStream is, int frameBufferW,
- int frameBufferH) {
- super(g, is, frameBufferW, frameBufferH);
- }
-
- //
- // Override handleRect method to decode ZLib encoded data insted of
- // raw pixel data.
- //
-
- public void handleRect(int x, int y, int w, int h) throws IOException {
-
- //
- // Write encoding ID to record output stream.
- // Remark: we forced changed encoding from zlib to raw
- // cause at this moment we cannot save data in zlib encoding.
- //
-
- if (dos != null) {
- dos.writeInt(RawDecoder.EncodingRaw);
- }
-
- int nBytes = rfbis.readU32();
-
- if (zlibBuf == null || zlibBufLen < nBytes) {
- zlibBufLen = nBytes * 2;
- zlibBuf = new byte[zlibBufLen];
- }
-
- rfbis.readFully(zlibBuf, 0, nBytes);
-
- if (zlibInflater == null) {
- zlibInflater = new Inflater();
- }
- zlibInflater.setInput(zlibBuf, 0, nBytes);
-
- try {
- if (bytesPerPixel == 1) {
- for (int dy = y; dy < y + h; dy++) {
- zlibInflater.inflate(pixels8, dy * framebufferWidth + x, w);
-
- //
- // Save decoded raw data to data output stream
- //
-
- if (dos != null)
- dos.write(pixels8, dy * framebufferWidth + x, w);
- }
- } else {
- byte[] buf = new byte[w * 4];
- int i, offset;
- for (int dy = y; dy < y + h; dy++) {
- zlibInflater.inflate(buf);
- offset = dy * framebufferWidth + x;
- for (i = 0; i < w; i++) {
- RawDecoder.pixels24[offset + i] =
- (buf[i * 4 + 2] & 0xFF) << 16 |
- (buf[i * 4 + 1] & 0xFF) << 8 |
- (buf[i * 4] & 0xFF);
- }
-
- //
- // Save decoded raw data to data output stream
- //
-
- if (dos != null)
- dos.write(buf);
- }
- }
- } catch (DataFormatException ex) {
- ex.printStackTrace();
- }
- handleUpdatedPixels(x, y, w, h);
- }
-
- //
- // Zlib encoder's data.
- //
-
- protected byte[] zlibBuf;
- protected int zlibBufLen = 0;
- protected Inflater zlibInflater;
-}