mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +01:00
Use SDL to display a window
This commit is contained in:
parent
1844d7cc4f
commit
4afdbe89c2
1 changed files with 40 additions and 0 deletions
|
@ -1,4 +1,44 @@
|
||||||
|
import azure::cairo;
|
||||||
|
|
||||||
|
fn on_main(f: fn~()) {
|
||||||
|
let builder = task::builder();
|
||||||
|
let opts = {
|
||||||
|
sched: some({
|
||||||
|
mode: task::osmain,
|
||||||
|
native_stack_size: none
|
||||||
|
})
|
||||||
|
with task::get_opts(builder)
|
||||||
|
};
|
||||||
|
task::set_opts(builder, opts);
|
||||||
|
task::run(builder, f);
|
||||||
|
}
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
on_main {||
|
||||||
|
sdl::init([
|
||||||
|
sdl::init_video
|
||||||
|
]);
|
||||||
|
let screen = sdl::video::set_video_mode(
|
||||||
|
320, 200, 32,
|
||||||
|
[sdl::video::swsurface],
|
||||||
|
[sdl::video::doublebuf]);
|
||||||
|
assert ptr::is_not_null(screen);
|
||||||
|
let surface = sdl::video::create_rgb_surface(
|
||||||
|
[sdl::video::swsurface],
|
||||||
|
320, 200, 32,
|
||||||
|
0x00FF0000u32,
|
||||||
|
0x0000FF00u32,
|
||||||
|
0x000000FFu32,
|
||||||
|
0x00000000u32
|
||||||
|
);
|
||||||
|
assert ptr::is_not_null(surface);
|
||||||
|
loop {
|
||||||
|
sdl::video::blit_surface(surface, ptr::null(),
|
||||||
|
screen, ptr::null());
|
||||||
|
sdl::video::flip(screen);
|
||||||
|
sdl::event::poll_event {|_event|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sdl::quit();
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Add table
Add a link
Reference in a new issue