From 608acbb03f976b0fbf23877d8b4b6ad7529e1d53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Tue, 18 Mar 2014 12:04:46 +0100 Subject: Initial commit --- examples/hello_sdl/erlang.png | Bin 0 -> 12661 bytes examples/hello_sdl/hello_sdl.erl | 37 +++++++++++++++++++++++++++++++++++++ examples/hello_sdl/start.sh | 2 ++ 3 files changed, 39 insertions(+) create mode 100644 examples/hello_sdl/erlang.png create mode 100644 examples/hello_sdl/hello_sdl.erl create mode 100755 examples/hello_sdl/start.sh (limited to 'examples') diff --git a/examples/hello_sdl/erlang.png b/examples/hello_sdl/erlang.png new file mode 100644 index 0000000..e8cad3a Binary files /dev/null and b/examples/hello_sdl/erlang.png differ diff --git a/examples/hello_sdl/hello_sdl.erl b/examples/hello_sdl/hello_sdl.erl new file mode 100644 index 0000000..4e06baf --- /dev/null +++ b/examples/hello_sdl/hello_sdl.erl @@ -0,0 +1,37 @@ +%% This is an example. Feel free to copy and reuse as you wish. + +-module(hello_sdl). +-export([run/0]). + +run() -> + spawn_opt(fun init/0, [{scheduler, 0}]). + +init() -> + ok = sdl:start([video]), + ok = sdl:stop_on_exit(), + {ok, Window} = sdl_window:create("Hello SDL", 10, 10, 500, 500, []), + {ok, Renderer} = sdl_renderer:create(Window, -1, [accelerated, present_vsync]), + ok = sdl_renderer:set_draw_color(Renderer, 255, 255, 255, 255), + {ok, Texture} = sdl_texture:create_from_file(Renderer, "erlang.png"), + loop(#{window=>Window, renderer=>Renderer, texture=>Texture}). + +loop(State) -> + events_loop(), + render(State), + loop(State). + +events_loop() -> + case sdl_events:poll() of + false -> ok; + #{type:=quit} -> terminate(); + _ -> events_loop() + end. + +render(#{renderer:=Renderer, texture:=Texture}) -> + ok = sdl_renderer:clear(Renderer), + ok = sdl_renderer:copy(Renderer, Texture, undefined, #{x=>100, y=>100, w=>300, h=>300}), + ok = sdl_renderer:present(Renderer). + +terminate() -> + init:stop(), + exit(normal). diff --git a/examples/hello_sdl/start.sh b/examples/hello_sdl/start.sh new file mode 100755 index 0000000..3d44558 --- /dev/null +++ b/examples/hello_sdl/start.sh @@ -0,0 +1,2 @@ +#!/bin/sh +erl +stbt db -pa ../../ebin -eval "hello_sdl:run()." -- cgit v1.2.3