1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
use cty::c_int; pub mod ll { #![allow(non_camel_case_types)] use cty::c_int; extern "C" { pub fn SDL_GL_SetAttribute(attr: c_int, value: c_int) -> c_int; pub fn SDL_GL_SwapBuffers(); } } #[derive(Debug, Copy, Clone, Eq, PartialEq, Hash)] pub enum GLAttribute { RedSize = 0, GreenSize, BlueSize, AlphaSize, BufferSize, DoubleBuffer, DepthSize, StencilSize, AccumRedSize, AccumGreenSize, AccumBlueSize, AccumAlphaSize, Stereo, MultiSampleBuffers, MultiSampleSamples, AcceleratedVisual, SwapControl, } pub fn set_attribute(attr: GLAttribute, value: isize) -> isize { unsafe { ll::SDL_GL_SetAttribute(attr as c_int, value as c_int) as isize } } pub fn swap_buffers() { unsafe { ll::SDL_GL_SwapBuffers(); } }