I work on the SDL2 binding and I have the following code :
pub enum SDL_WindowFlags {
SDL_WINDOW_FULLSCREEN = ffi::video::SDL_WINDOW_FULLSCREEN,
SDL_WINDOW_OPENGL = ffi::video::SDL_WINDOW_OPENGL,
SDL_WINDOW_SHOWN = ffi::video::SDL_WINDOW_SHOWN,
SDL_WINDOW_HIDDEN = ffi::video::SDL_WINDOW_HIDDEN,
SDL_WINDOW_BORDERLESS = ffi::video::SDL_WINDOW_BORDERLESS,
SDL_WINDOW_RESIZABLE = ffi::video::SDL_WINDOW_RESIZABLE,
SDL_WINDOW_MINIMIZED = ffi::video::SDL_WINDOW_MINIMIZED,
SDL_WINDOW_MAXIMIZED = ffi::video::SDL_WINDOW_MAXIMIZED,
SDL_WINDOW_INPUT_GRABBED = ffi::video::SDL_WINDOW_INPUT_GRABBED,
SDL_WINDOW_INPUT_FOCUS = ffi::video::SDL_WINDOW_INPUT_FOCUS,
SDL_WINDOW_MOUSE_FOCUS = ffi::video::SDL_WINDOW_MOUSE_FOCUS,
SDL_WINDOW_FULLSCREEN_DESKTOP =
ffi::video::SDL_WINDOW_FULLSCREEN_DESKTOP,
SDL_WINDOW_FOREIGN = ffi::video::SDL_WINDOW_FOREIGN,
}
impl SDL_WindowFlags {
pub fn fold_bits(flags: &[SDL_WindowFlags]) -> Uint32 {
flags.iter().fold(0, |acc, &flag| acc | flag as Uint32)
}
}
I would like to do the opposite operation of the fold_bits function :
pub fn unfold_bits(bits: Uint32) -> ~[SDL_WindowFlags] {
??
}
I don't have a simple way to do it (like the fold method) . Anybody can
help me ?
Philippe Delrieu
_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev