encodings.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * noVNC: HTML5 VNC client
  3. * Copyright (C) 2019 The noVNC Authors
  4. * Licensed under MPL 2.0 (see LICENSE.txt)
  5. *
  6. * See README.md for usage and integration instructions.
  7. */
  8. export const encodings = {
  9. encodingRaw: 0,
  10. encodingCopyRect: 1,
  11. encodingRRE: 2,
  12. encodingHextile: 5,
  13. encodingTight: 7,
  14. encodingZRLE: 16,
  15. encodingTightPNG: -260,
  16. encodingJPEG: 21,
  17. pseudoEncodingQualityLevel9: -23,
  18. pseudoEncodingQualityLevel0: -32,
  19. pseudoEncodingDesktopSize: -223,
  20. pseudoEncodingLastRect: -224,
  21. pseudoEncodingCursor: -239,
  22. pseudoEncodingQEMUExtendedKeyEvent: -258,
  23. pseudoEncodingQEMULedEvent: -261,
  24. pseudoEncodingDesktopName: -307,
  25. pseudoEncodingExtendedDesktopSize: -308,
  26. pseudoEncodingXvp: -309,
  27. pseudoEncodingFence: -312,
  28. pseudoEncodingContinuousUpdates: -313,
  29. pseudoEncodingCompressLevel9: -247,
  30. pseudoEncodingCompressLevel0: -256,
  31. pseudoEncodingVMwareCursor: 0x574d5664,
  32. pseudoEncodingExtendedClipboard: 0xc0a1e5ce
  33. };
  34. export function encodingName(num) {
  35. switch (num) {
  36. case encodings.encodingRaw: return "Raw";
  37. case encodings.encodingCopyRect: return "CopyRect";
  38. case encodings.encodingRRE: return "RRE";
  39. case encodings.encodingHextile: return "Hextile";
  40. case encodings.encodingTight: return "Tight";
  41. case encodings.encodingZRLE: return "ZRLE";
  42. case encodings.encodingTightPNG: return "TightPNG";
  43. case encodings.encodingJPEG: return "JPEG";
  44. default: return "[unknown encoding " + num + "]";
  45. }
  46. }