summaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorenikey <enikey@3789f03b-4d11-0410-bbf8-ca57d06f2519>2008-12-19 05:14:15 +0000
committerenikey <enikey@3789f03b-4d11-0410-bbf8-ca57d06f2519>2008-12-19 05:14:15 +0000
commit663025d68eef73269749de134e147f7e2a6e3ae7 (patch)
tree18305c4cc884d672434f61f404e18c0fb57185d8 /java
parentb3e19f79964c3ea2dfdd465fcf46c042bbb035f2 (diff)
downloadtigervnc-663025d68eef73269749de134e147f7e2a6e3ae7.tar.gz
tigervnc-663025d68eef73269749de134e147f7e2a6e3ae7.zip
[Developement] Added update() method to RawDecoder class. This method must be called when framebuffer is resized or BPP is changed.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3413 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'java')
-rw-r--r--java/src/com/tightvnc/decoder/RawDecoder.java28
1 files changed, 28 insertions, 0 deletions
diff --git a/java/src/com/tightvnc/decoder/RawDecoder.java b/java/src/com/tightvnc/decoder/RawDecoder.java
index 8272d3b4..c1b2ca1e 100644
--- a/java/src/com/tightvnc/decoder/RawDecoder.java
+++ b/java/src/com/tightvnc/decoder/RawDecoder.java
@@ -8,6 +8,7 @@ import java.awt.image.ColorModel;
import java.awt.image.DirectColorModel;
import java.awt.image.MemoryImageSource;
import java.awt.Color;
+import java.awt.Toolkit;
//
// This is base decoder class.
@@ -59,6 +60,33 @@ public class RawDecoder {
}
//
+ // Updates pixels data.
+ // This methods must be called when framebuffer is resized
+ // or BPP is changed.
+ //
+
+ public void update() {
+ // Images with raw pixels should be re-allocated on every change
+ // of geometry or pixel format.
+ int fbWidth = framebufferWidth;
+ int fbHeight = framebufferHeight;
+
+ if (bytesPerPixel == 1) {
+ pixels24 = null;
+ pixels8 = new byte[fbWidth * fbHeight];
+ pixelsSource = new MemoryImageSource(fbWidth, fbHeight, getColorModel8(),
+ pixels8, 0, fbWidth);
+ } else {
+ pixels8 = null;
+ pixels24 = new int[fbWidth * fbHeight];
+ pixelsSource =
+ new MemoryImageSource(fbWidth, fbHeight, cm24, pixels24, 0, fbWidth);
+ }
+ pixelsSource.setAnimated(true);
+ rawPixelsImage = Toolkit.getDefaultToolkit().createImage(pixelsSource);
+ }
+
+ //
// Private static members access methdos
//