Beispiel #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="VncFramebufferCache"/> class.
        /// </summary>
        /// <param name="framebuffer">
        /// The <see cref="VncFramebuffer"/> to cache.
        /// </param>
        /// <param name="logger">
        /// The <see cref="ILog"/> logger to use when logging diagnostic messages.
        /// </param>
        public VncFramebufferCache(IVncFramebuffer framebuffer, ILog logger)
        {
            if (framebuffer == null)
            {
                throw new ArgumentNullException(nameof(framebuffer));
            }

            this.Framebuffer = framebuffer;
            this.cachedBytes = new byte[framebuffer.Width * framebuffer.Height * framebuffer.PixelFormat.BytesPerPixel];

            // this.cachedFramebuffer = framebuffer;// new VncFramebuffer(framebuffer.Name, framebuffer.Width, framebuffer.Height, framebuffer.PixelFormat);
            this.logger        = logger;
            this.isLineInvalid = new bool[this.Framebuffer.Height];
        }
Beispiel #2
0
 private IVncFramebufferCache CreateFramebufferCache(IVncFramebuffer framebuffer, ILog logger)
 {
     return(new VncFramebufferCache(framebuffer, logger));
 }
Beispiel #3
0
 /// <summary>
 /// Sets the framebuffer source.
 /// </summary>
 /// <param name="source">The framebuffer source, or <see langword="null"/> if you intend to handle the framebuffer manually.</param>
 public void SetFramebufferSource(IVncFramebuffer source)
 {
     this.fbSource = source;
 }