Example #1
0
  public int[] getEncodings() {

    List<Integer> v = new ArrayList<Integer>();

    if (requestCursorUpdates) {
      v.add(new Integer(MASK_ENCODING_RICHCURSOR)); // Rich Cursor
      v.add(new Integer(MASK_ENCODING_XCURSOR)); // X Cursor

      if (!ignoreCursorUpdates) {
        v.add(new Integer(MASK_ENCODING_POINTERPOS)); // Pointer
        // pos
      }
    }

    v.add(new Integer(preferredEncoding));

    if (useCopyRect) {
      v.add(new Integer(ENCODING_COPYRECT));
    }

    for (RFBEncoding e : encodings.values()) {
      if (e.getType() != preferredEncoding
          && e.getType() != ENCODING_COPYRECT
          && !e.isPseudoEncoding()) {
        v.add(new Integer(e.getType()));
      }
    }

    if (preferredEncoding == ENCODING_ZLIB || preferredEncoding == ENCODING_TIGHT) {
      if (compressLevel >= 0 && compressLevel <= 9) {
        v.add(new Integer(MASK_ENCODING_COMPRESS_LEVEL + compressLevel));
      }
    }

    if (preferredEncoding == ENCODING_TIGHT && jpegQuality > -1) {
      v.add(new Integer(MASK_ENCODING_JPEG_QUALITY + jpegQuality));
    }

    v.add(new Integer(MASK_ENCODING_LAST_RECT));
    v.add(new Integer(MASK_ENCODING_NEW_SIZE));

    int[] ret = new int[v.size()];
    for (int i = 0; i < v.size(); i++) {
      ret[i] = v.get(i);
    }
    return ret;
  }
Example #2
0
 public void registerEncoding(RFBEncoding encoder) {
   encodings.put(String.valueOf(encoder.getType()), encoder);
 }