                           height: height).sdlAssert()
         
         texture.blendMode = .alpha
-        
-        surface = texture.withUnsafeMutableBytes { try! Cairo.Surface.Image.init(mutableBytes: $0.assumingMemoryBound(to: UInt8.self), format: .argb32, width: width, height: height, stride: $1) }
     }
     
     internal final func render(with renderer: Renderer, in rect: SDL_Rect) {

        
        // draw rect
        draw(bounds)
        surface.flush()
        
        UIGraphicsPopContext()
    }

            createTexture(for: renderer)
        }
        
        // unlock and modify texture
        texture.withUnsafeMutableBytes {
            
            let surface = try! Cairo.Surface.Image(mutableBytes: $0.assumingMemoryBound(to: UInt8.self), format: .argb32, width: width, height: height, stride: $1)
            
            let context = try! Silica.Context(surface: surface, size: bounds.size)
            
            // CoreGraphics drawing
            draw(in: context)
            
            /// flush surface
            surface.flush()
            surface.finish()
        }
        
        renderer.copy(texture, destination: rect)
