/// <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]; }
private IVncFramebufferCache CreateFramebufferCache(IVncFramebuffer framebuffer, ILog logger) { return(new VncFramebufferCache(framebuffer, logger)); }
/// <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; }