Example #1
0
        /// <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);
        }
Example #5
0
        /// <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);
        }