public override void Draw(IVncPixelGetter a_pixelGetter, MatOfByte3 a_mat)
        {
            Rect srcRect = new Rect(SrcX, SrcY, Width, Height);
            Rect dstRect = new Rect(X, Y, Width, Height);

            if (srcRect.IntersectsWith(dstRect))
            {
                using (var src = a_mat.Clone(srcRect))
                    using (var dst = new MatOfByte3(a_mat, dstRect))
                    {
                        src.CopyTo(dst);
                    }
            }
            else
            {
                using (var src = new MatOfByte3(a_mat, srcRect))
                    using (var dst = new MatOfByte3(a_mat, dstRect))
                    {
                        src.CopyTo(dst);
                    }
            }
        }