VNCj

gnu.vnc.awt
Class VNCDesktop

java.lang.Object
  |
  +--java.awt.Toolkit
        |
        +--gnu.awt.virtual.VirtualToolkit
              |
              +--gnu.awt.virtual.swing.VirtualDesktop
                    |
                    +--gnu.vnc.awt.VNCDesktop
All Implemented Interfaces:
RFBServer

public class VNCDesktop
extends VirtualDesktop
implements RFBServer

AWT toolkit implemented entirely with JFC peers supporting multiple RFB client, thus allowing a lightweight remote simulation of the operating system desktop.


Nested Class Summary
 
Nested classes inherited from class java.awt.Toolkit
 
Field Summary
private  RFBClients clients
           
private  VNCEvents events
           
private  boolean shared
           
 
Fields inherited from class gnu.awt.virtual.swing.VirtualDesktop
desktop, desktopFrame
 
Fields inherited from class gnu.awt.virtual.VirtualToolkit
defaultToolkit
 
Fields inherited from class java.awt.Toolkit
desktopProperties, desktopPropsSupport
 
Constructor Summary
VNCDesktop(int bitsPerPixel, int rMask, int gMask, int bMask, String title, int width, int height)
           
VNCDesktop(String title, int width, int height)
           
 
Method Summary
 void addClient(RFBClient client)
           
 boolean allowShared()
           
 void clientCutText(RFBClient client, String text)
           
 void dispose()
           
 void fixColourMapEntries(RFBClient client, int firstColour, Colour[] colourMap)
           
 void frameBufferUpdateRequest(RFBClient client, boolean incremental, int x, int y, int w, int h)
           
 String getDesktopName(RFBClient client)
           
 int getFrameBufferHeight(RFBClient client)
           
 int getFrameBufferWidth(RFBClient client)
           
 PixelFormat getPreferredPixelFormat(RFBClient client)
           
private  void init()
           
 void keyEvent(RFBClient client, boolean down, int key)
           
 void pointerEvent(RFBClient client, int buttonMask, int x, int y)
           
 void removeClient(RFBClient client)
           
 void setClientProtocolVersionMsg(RFBClient client, String protocolVersionMsg)
           
 void setEncodings(RFBClient client, int[] encodings)
           
 void setPixelFormat(RFBClient client, PixelFormat pixelFormat)
           
 void setShared(RFBClient client, boolean shared)
           
 
Methods inherited from class gnu.awt.virtual.swing.VirtualDesktop
createButton, createCanvas, createCheckbox, createCheckboxMenuItem, createChoice, createComponent, createDialog, createDragSourceContextPeer, createFileDialog, createFrame, createLabel, createList, createMenu, createMenuBar, createMenuItem, createPanel, createPopupMenu, createScrollbar, createScrollPane, createTextArea, createTextField, createWindow, show
 
Methods inherited from class gnu.awt.virtual.VirtualToolkit
beep, checkImage, createImage, createImage, createImage, createImage, getColorModel, getFontList, getFontMetrics, getFontPeer, getImage, getImage, getPrintJob, getScreenResolution, getScreenSize, getSystemClipboard, getSystemEventQueueImpl, mapInputMethodHighlight, prepareImage, setColorModel, setDefaultToolkit, sync
 
Methods inherited from class java.awt.Toolkit
addAWTEventListener, addPropertyChangeListener, createCustomCursor, createDragGestureRecognizer, createImage, getAWTEventListeners, getAWTEventListeners, getBestCursorSize, getDefaultToolkit, getDesktopProperty, getLockingKeyState, getMaximumCursorColors, getMenuShortcutKeyMask, getNativeContainer, getPrintJob, getProperty, getPropertyChangeListeners, getPropertyChangeListeners, getScreenInsets, getSystemEventQueue, getSystemSelection, initializeDesktopProperties, isDynamicLayoutActive, isDynamicLayoutSet, isFrameStateSupported, lazilyLoadDesktopProperty, loadSystemColors, removeAWTEventListener, removePropertyChangeListener, setDesktopProperty, setDynamicLayout, setLockingKeyState
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

clients

private RFBClients clients

events

private VNCEvents events

shared

private boolean shared
Constructor Detail

VNCDesktop

public VNCDesktop(int bitsPerPixel,
                  int rMask,
                  int gMask,
                  int bMask,
                  String title,
                  int width,
                  int height)

VNCDesktop

public VNCDesktop(String title,
                  int width,
                  int height)
Method Detail

dispose

public void dispose()
Overrides:
dispose in class VirtualDesktop

addClient

public void addClient(RFBClient client)
Specified by:
addClient in interface RFBServer

removeClient

public void removeClient(RFBClient client)
Specified by:
removeClient in interface RFBServer

getDesktopName

public String getDesktopName(RFBClient client)
Specified by:
getDesktopName in interface RFBServer

getFrameBufferWidth

public int getFrameBufferWidth(RFBClient client)
Specified by:
getFrameBufferWidth in interface RFBServer

getFrameBufferHeight

public int getFrameBufferHeight(RFBClient client)
Specified by:
getFrameBufferHeight in interface RFBServer

getPreferredPixelFormat

public PixelFormat getPreferredPixelFormat(RFBClient client)
Specified by:
getPreferredPixelFormat in interface RFBServer

allowShared

public boolean allowShared()
Specified by:
allowShared in interface RFBServer

setClientProtocolVersionMsg

public void setClientProtocolVersionMsg(RFBClient client,
                                        String protocolVersionMsg)
                                 throws IOException
Specified by:
setClientProtocolVersionMsg in interface RFBServer
IOException

setShared

public void setShared(RFBClient client,
                      boolean shared)
               throws IOException
Specified by:
setShared in interface RFBServer
IOException

setPixelFormat

public void setPixelFormat(RFBClient client,
                           PixelFormat pixelFormat)
                    throws IOException
Specified by:
setPixelFormat in interface RFBServer
IOException

setEncodings

public void setEncodings(RFBClient client,
                         int[] encodings)
                  throws IOException
Specified by:
setEncodings in interface RFBServer
IOException

fixColourMapEntries

public void fixColourMapEntries(RFBClient client,
                                int firstColour,
                                Colour[] colourMap)
                         throws IOException
Specified by:
fixColourMapEntries in interface RFBServer
IOException

frameBufferUpdateRequest

public void frameBufferUpdateRequest(RFBClient client,
                                     boolean incremental,
                                     int x,
                                     int y,
                                     int w,
                                     int h)
                              throws IOException
Specified by:
frameBufferUpdateRequest in interface RFBServer
IOException

keyEvent

public void keyEvent(RFBClient client,
                     boolean down,
                     int key)
              throws IOException
Specified by:
keyEvent in interface RFBServer
IOException

pointerEvent

public void pointerEvent(RFBClient client,
                         int buttonMask,
                         int x,
                         int y)
                  throws IOException
Specified by:
pointerEvent in interface RFBServer
IOException

clientCutText

public void clientCutText(RFBClient client,
                          String text)
                   throws IOException
Specified by:
clientCutText in interface RFBServer
IOException

init

private void init()

VNCj