/// <summary> /// Creates an object type derived from EncodedRectangle, based on the value of encoding. /// </summary> /// <param name="rectangle">A Rectangle object defining the bounds of the rectangle to be created</param> /// <param name="encoding"> /// An Integer indicating the encoding type to be used for this rectangle. Used to determine the /// type of EncodedRectangle to create. /// </param> /// <returns></returns> public EncodedRectangle Build(Rectangle rectangle, int encoding) { EncodedRectangle e; switch (encoding) { case RfbProtocol.RAW_ENCODING: e = new RawRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.COPYRECT_ENCODING: e = new CopyRectRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.RRE_ENCODING: e = new RreRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.CORRE_ENCODING: e = new CoRreRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.HEXTILE_ENCODING: e = new HextileRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.ZRLE_ENCODING: e = new ZrleRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.TIGHT_ENCODING: e = new TightRectangle(rfb, framebuffer, rectangle); break; default: // Sanity check throw new VncProtocolException("Unsupported Encoding Format received: " + encoding + "."); } return(e); }
public EncodedRectangle Build(QuadNode node, VncHost.Encoding encoding) { var pixels = node.NodeData; EncodedRectangle e; switch (encoding) { case VncHost.Encoding.RawEncoding: e = new RawRectangle(rfb, framebuffer, pixels, node.Bounds); break; case VncHost.Encoding.CopyRectEncoding: e = new CopyRectRectangle(rfb, framebuffer, node.Bounds); break; case VncHost.Encoding.RreEncoding: e = new RreRectangle(rfb, framebuffer, pixels, node.Bounds); break; case VncHost.Encoding.CoRreEncoding: e = new CoRreRectangle(rfb, framebuffer, pixels, node.Bounds); break; case VncHost.Encoding.HextileEncoding: e = new HextileRectangle(rfb, framebuffer, pixels, node.Bounds); break; case VncHost.Encoding.ZrleEncoding: e = new ZrleRectangle(rfb, framebuffer, pixels, node.Bounds); break; case VncHost.Encoding.ZlibEncoding: e = new ZlibRectangle(rfb, framebuffer, pixels, node.Bounds); break; default: // Sanity check throw new Exception("Unsupported Encoding Format received: " + encoding + "."); } return(e); }
public EncodedRectangle Build(Rectangle2 rectangle, int[] pixels, VncHost.Encoding encoding) { EncodedRectangle e; switch (encoding) { case VncHost.Encoding.RawEncoding: e = new RawRectangle(rfb, framebuffer, pixels, rectangle); break; case VncHost.Encoding.CopyRectEncoding: e = new CopyRectRectangle(rfb, framebuffer, rectangle); break; case VncHost.Encoding.RreEncoding: e = new RreRectangle(rfb, framebuffer, pixels, rectangle); break; case VncHost.Encoding.CoRreEncoding: e = new CoRreRectangle(rfb, framebuffer, pixels, rectangle); break; case VncHost.Encoding.HextileEncoding: e = new HextileRectangle(rfb, framebuffer, pixels, rectangle); break; case VncHost.Encoding.ZrleEncoding: e = new ZrleRectangle(rfb, framebuffer, pixels, rectangle); break; case VncHost.Encoding.ZlibEncoding: e = new ZlibRectangle(rfb, framebuffer, pixels, rectangle); break; default: // Sanity check throw new Exception("Unsupported Encoding Format received: " + encoding + "."); } return(e); }
/// <summary> /// Creates an object type derived from EncodedRectangle, based on the value of encoding. /// </summary> /// <param name="rectangle">A Rectangle object defining the bounds of the rectangle to be created</param> /// <param name="encoding">An Integer indicating the encoding type to be used for this rectangle. Used to determine the type of EncodedRectangle to create.</param> /// <returns></returns> public EncodedRectangle Build(Rectangle rectangle, int encoding) { EncodedRectangle e = null; switch (encoding) { case RfbProtocol.RAW_ENCODING: e = new RawRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.COPYRECT_ENCODING: e = new CopyRectRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.RRE_ENCODING: e = new RreRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.CORRE_ENCODING: e = new CoRreRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.HEXTILE_ENCODING: e = new HextileRectangle(rfb, framebuffer, rectangle); break; case RfbProtocol.ZRLE_ENCODING: // TODO: ZRLE is not written yet, but when it is, this needs to be changed. // e = new ZrleRectangle(rfb, framebuffer, rectangle); // break; throw new NotImplementedException("Need to implement Zrle Encoding!!!"); default: // Sanity check throw new VncProtocolException("Unsupported Encoding Format received: " + encoding.ToString() + "."); } return(e); }
/// <summary> /// Creates an object type derived from EncodedRectangle, based on the value of encoding. /// </summary> /// <param name="rectangle">A Rectangle object defining the bounds of the rectangle to be created</param> /// <param name="encoding">An Integer indicating the encoding type to be used for this rectangle. Used to determine the type of EncodedRectangle to create.</param> /// <returns></returns> public EncodedRectangle Build(Rectangle rectangle, int BitsPerPixel, int encoding) { EncodedRectangle e = null; switch (encoding) { case RfbProtocol.RAW_ENCODING: e = new RawRectangle(rfb, BitsPerPixel, rectangle); break; case RfbProtocol.COPYRECT_ENCODING: e = new CopyRectRectangle(rfb, BitsPerPixel, rectangle); break; case RfbProtocol.RRE_ENCODING: e = new RreRectangle(rfb, BitsPerPixel, rectangle); break; case RfbProtocol.CORRE_ENCODING: e = new CoRreRectangle(rfb, BitsPerPixel, rectangle); break; case RfbProtocol.HEXTILE_ENCODING: e = new HextileRectangle(rfb, BitsPerPixel, rectangle); break; case RfbProtocol.ZRLE_ENCODING: e = new ZrleRectangle(rfb, BitsPerPixel, rectangle); break; default: // Sanity check throw new VncProtocolException("Unsupported Encoding Format received: " + encoding.ToString() + "."); } return(e); }