[Developement] Added protected getColorModel8, getColorModel24, getColor256 methods to access private static members (cm8, cm24, color256).
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@3412 3789f03b-4d11-0410-bbf8-ca57d06f2519
diff --git a/java/src/com/tightvnc/decoder/RawDecoder.java b/java/src/com/tightvnc/decoder/RawDecoder.java
index 46d22f7..8272d3b 100644
--- a/java/src/com/tightvnc/decoder/RawDecoder.java
+++ b/java/src/com/tightvnc/decoder/RawDecoder.java
@@ -9,11 +9,17 @@
import java.awt.image.MemoryImageSource;
import java.awt.Color;
+//
+// This is base decoder class.
+// Other classes will be childs of RawDecoder.
+//
public class RawDecoder {
public RawDecoder(Graphics g, RfbInputStream is) {
setGraphics(g);
setRfbInputStream(is);
+ // FIXME: cm24 created in getColorModel24.
+ // Remove if no bugs
cm24 = new DirectColorModel(24, 0xFF0000, 0x00FF00, 0x0000FF);
}
@@ -22,6 +28,8 @@
setGraphics(g);
setRfbInputStream(is);
setFrameBufferSize(frameBufferW, frameBufferH);
+ // FIXME: cm24 created in getColorModel24.
+ // Remove if no bugs
cm24 = new DirectColorModel(24, 0xFF0000, 0x00FF00, 0x0000FF);
}
@@ -37,6 +45,10 @@
bytesPerPixel = bpp;
}
+ //
+ // FIXME: This method may be useless in future, remove if so
+ //
+
public int getBPP() {
return bytesPerPixel;
}
@@ -46,6 +58,36 @@
framebufferHeight = h;
}
+ //
+ // Private static members access methdos
+ //
+
+ protected ColorModel getColorModel8() {
+ if (cm8 == null) {
+ cm8 = cm8 = new DirectColorModel(8, 7, (7 << 3), (3 << 6));
+ }
+ return cm8;
+ }
+
+ protected ColorModel getColorModel24() {
+ if (cm24 == null) {
+ cm24 = new DirectColorModel(24, 0xFF0000, 0x00FF00, 0x0000FF);
+ }
+ return cm24;
+ }
+
+ protected Color[]getColor256() {
+ if (color256 == null) {
+ color256 = new Color[256];
+ for (int i = 0; i < 256; i++)
+ color256[i] = new Color(cm8.getRGB(i));
+ }
+ return color256;
+ }
+
+ //
+ // Unique data for every decoder (? maybe not ?)
+ //
protected int bytesPerPixel = 4;
protected int framebufferWidth = 0;
protected int framebufferHeight = 0;
@@ -53,11 +95,17 @@
protected Graphics graphics = null;
protected RecordInterface rec = null;
+ //
+ // This data must be shared between decoders
+ //
protected static byte []pixels8 = null;
protected static int []pixels24 = null;
protected static MemoryImageSource pixelsSource = null;
protected static Image rawPixelsImage = null;
+ //
+ // Access to this static members only though protected methods
+ //
private static ColorModel cm8 = null;
private static ColorModel cm24 = null;
private static Color []color256 = null;