Trait gfx::device::handle::Producer [] [src]

pub trait Producer<R: Resources> {
    fn make_buffer(&mut self, R::Buffer, BufferInfo) -> RawBuffer<R>;
    fn make_array_buffer(&mut self, R::ArrayBuffer) -> ArrayBuffer<R>;
    fn make_shader(&mut self, R::Shader, Stage) -> Shader<R>;
    fn make_program(&mut self, R::Program, ProgramInfo) -> Program<R>;
    fn make_frame_buffer(&mut self, R::FrameBuffer) -> FrameBuffer<R>;
    fn make_surface(&mut self, R::Surface, SurfaceInfo) -> Surface<R>;
    fn make_texture(&mut self, R::Texture, TextureInfo) -> Texture<R>;
    fn make_sampler(&mut self, R::Sampler, SamplerInfo) -> Sampler<R>;
    fn make_fence(&mut self, name: R::Fence) -> Fence<R>;
    fn clean_with<T, F1: Fn(&mut T, &R::Buffer), F2: Fn(&mut T, &R::ArrayBuffer), F3: Fn(&mut T, &R::Shader), F4: Fn(&mut T, &R::Program), F5: Fn(&mut T, &R::FrameBuffer), F6: Fn(&mut T, &R::Surface), F7: Fn(&mut T, &R::Texture), F8: Fn(&mut T, &R::Sampler), F9: Fn(&mut T, &R::Fence)>(&mut self, &mut T, F1, F2, F3, F4, F5, F6, F7, F8, F9);
}

A service trait to be used by the device implementation

Required Methods

fn make_buffer(&mut self, R::Buffer, BufferInfo) -> RawBuffer<R>

fn make_array_buffer(&mut self, R::ArrayBuffer) -> ArrayBuffer<R>

fn make_shader(&mut self, R::Shader, Stage) -> Shader<R>

fn make_program(&mut self, R::Program, ProgramInfo) -> Program<R>

fn make_frame_buffer(&mut self, R::FrameBuffer) -> FrameBuffer<R>

fn make_surface(&mut self, R::Surface, SurfaceInfo) -> Surface<R>

fn make_texture(&mut self, R::Texture, TextureInfo) -> Texture<R>

fn make_sampler(&mut self, R::Sampler, SamplerInfo) -> Sampler<R>

fn make_fence(&mut self, name: R::Fence) -> Fence<R>

fn clean_with<T, F1: Fn(&mut T, &R::Buffer), F2: Fn(&mut T, &R::ArrayBuffer), F3: Fn(&mut T, &R::Shader), F4: Fn(&mut T, &R::Program), F5: Fn(&mut T, &R::FrameBuffer), F6: Fn(&mut T, &R::Surface), F7: Fn(&mut T, &R::Texture), F8: Fn(&mut T, &R::Sampler), F9: Fn(&mut T, &R::Fence)>(&mut self, &mut T, F1, F2, F3, F4, F5, F6, F7, F8, F9)

Walk through all the handles, keep ones that are reference elsewhere and call the provided delete function (resource-specific) for others

Implementors