Esempio n. 1
0
        public EncodedRectangle(RfbProtocol rfb, Framebuffer framebuffer, Rectangle rectangle, int encoding)
        {
            this.rfb         = rfb;
            this.framebuffer = framebuffer;
            this.rectangle   = rectangle;

            //Select appropriate reader
            BinaryReader reader = (encoding == RfbProtocol.ZRLE_ENCODING) ? rfb.ZrleReader : rfb.Reader;

            // Create the appropriate PixelReader depending on screen size and encoding
            switch (framebuffer.BitsPerPixel)
            {
            case 32:
                if (encoding == RfbProtocol.ZRLE_ENCODING)
                {
                    preader = new CPixelReader(reader, framebuffer);
                }
                else
                {
                    preader = new PixelReader32(reader, framebuffer);
                }
                break;

            case 16:
                preader = new PixelReader16(reader, framebuffer);
                break;

            case 8:
                preader = new PixelReader8(reader, framebuffer, rfb);
                break;

            default:
                throw new ArgumentOutOfRangeException("BitsPerPixel", framebuffer.BitsPerPixel, "Valid VNC Pixel Widths are 8, 16 or 32 bits.");
            }
        }
Esempio n. 2
0
        public EncodedRectangle(RfbProtocol rfb, Framebuffer framebuffer, Rectangle rectangle)
        {
            this.rfb         = rfb;
            this.framebuffer = framebuffer;
            this.rectangle   = rectangle;

            // Create the appropriate PixelReader depending on screen size
            switch (framebuffer.BitsPerPixel)
            {
            case 32:
                preader = new PixelReader32(rfb, framebuffer);
                break;

            case 16:
                preader = new PixelReader16(rfb, framebuffer);
                break;

            case 8:
                preader = new PixelReader8(rfb, framebuffer);
                break;

            default:
                throw new ArgumentOutOfRangeException("BitsPerPixel", framebuffer.BitsPerPixel, "Valid VNC Pixel Widths are 8, 16, or 32 bits.");
            }
        }
        public EncodedRectangle(RfbProtocol rfb, Framebuffer framebuffer, Rectangle rectangle)
        {
            this.rfb = rfb;
            this.framebuffer = framebuffer;
            this.rectangle = rectangle;

            // Create the appropriate PixelReader depending on screen size
            switch (framebuffer.BitsPerPixel) {
                case 32:
                    preader = new PixelReader32(rfb, framebuffer);
                    break;
                case 16:
                    preader = new PixelReader16(rfb, framebuffer);
                    break;
                case 8:
                    preader = new PixelReader8(rfb, framebuffer);
                    break;
                default:
                    throw new ArgumentOutOfRangeException("BitsPerPixel", framebuffer.BitsPerPixel, "Valid VNC Pixel Widths are 8, 16, or 32 bits.");
            }
        }
Esempio n. 4
0
        public EncodedRectangle(RfbProtocol rfb, Framebuffer framebuffer, Rectangle rectangle, RfbEncodingType encoding)
        {
            this.rfb       = rfb ?? throw new ArgumentNullException(nameof(rfb));
            Framebuffer    = framebuffer ?? throw new ArgumentNullException(nameof(framebuffer));
            this.rectangle = rectangle;
            EncodingType   = encoding;

            //Select appropriate reader
            var reader = encoding == RfbEncodingType.ZRLE ? rfb.ZrleReader : rfb.Reader;

            // Create the appropriate PixelReader depending on screen size and encoding
            switch (framebuffer.BitsPerPixel)
            {
            case 32:
                if (encoding == RfbEncodingType.ZRLE)
                {
                    preader = new CPixelReader(reader, framebuffer);
                }
                else
                {
                    preader = new PixelReader32(reader, framebuffer);
                }
                break;

            case 16:
                preader = new PixelReader16(reader, framebuffer);
                break;

            case 8:
                preader = new PixelReader8(reader, framebuffer, rfb);
                break;

            default:
                throw new ArgumentOutOfRangeException("BitsPerPixel", framebuffer.BitsPerPixel, "Valid VNC Pixel Widths are 8, 16 or 32 bits.");
            }
        }