Пример #1
0
        internal Texture(IRenderer renderer, int width, int height, PixelFormat pixelFormat, TextureAccessMode accessMode)
        {
            if (renderer == null)
            {
                throw new ArgumentNullException(nameof(renderer));
            }

            if (width < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(width));
            }

            if (height < 0)
            {
                throw new ArgumentOutOfRangeException(nameof(height));
            }

            this.renderer = renderer;

            IntPtr unsafeHandle = CreateTexture(width, height, pixelFormat, accessMode);

            safeHandle = new SafeTextureHandle(unsafeHandle);

            QueryTexture(unsafeHandle);
        }
Пример #2
0
        private void CreateTextureAndCleanup(ISurface surface)
        {
            IntPtr unsafeHandle = CreateTextureFromSurface(surface);

            safeHandle = new SafeTextureHandle(unsafeHandle);

            // We are done with the in memory surface
            surface.Dispose();

            QueryTexture(unsafeHandle);
        }