diff options
author | Loïc Hoguin <[email protected]> | 2018-02-15 18:39:45 +0100 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2018-02-15 18:39:45 +0100 |
commit | c12df73883f626344cee7f3f0497ec75b95f5e1d (patch) | |
tree | 0a218cf6bd7cdb283ef3e2c8ee912d4e1c5ba6e6 /src | |
parent | 913937277fec521a704fc29253198da1a7dbeb82 (diff) | |
download | esdl2-c12df73883f626344cee7f3f0497ec75b95f5e1d.tar.gz esdl2-c12df73883f626344cee7f3f0497ec75b95f5e1d.tar.bz2 esdl2-c12df73883f626344cee7f3f0497ec75b95f5e1d.zip |
Add the glyph rendering functions
Diffstat (limited to 'src')
-rw-r--r-- | src/esdl2.erl | 12 | ||||
-rw-r--r-- | src/sdl_ttf.erl | 21 |
2 files changed, 27 insertions, 6 deletions
diff --git a/src/esdl2.erl b/src/esdl2.erl index a5c901e..6d3c2d0 100644 --- a/src/esdl2.erl +++ b/src/esdl2.erl @@ -192,6 +192,9 @@ -export([ttf_open_font/2]). -export([ttf_open_font_index/3]). -export([ttf_quit/0]). +-export([ttf_render_glyph_blended/3]). +-export([ttf_render_glyph_shaded/4]). +-export([ttf_render_glyph_solid/3]). -export([ttf_render_utf8_blended/3]). -export([ttf_render_utf8_blended_wrapped/4]). -export([ttf_render_utf8_shaded/4]). @@ -742,6 +745,15 @@ ttf_open_font_index(_, _, _) -> ttf_quit() -> erlang:nif_error({not_loaded, ?MODULE}). +ttf_render_glyph_blended(_, _, _) -> + erlang:nif_error({not_loaded, ?MODULE}). + +ttf_render_glyph_shaded(_, _, _, _) -> + erlang:nif_error({not_loaded, ?MODULE}). + +ttf_render_glyph_solid(_, _, _) -> + erlang:nif_error({not_loaded, ?MODULE}). + ttf_render_utf8_blended(_, _, _) -> erlang:nif_error({not_loaded, ?MODULE}). diff --git a/src/sdl_ttf.erl b/src/sdl_ttf.erl index acacdcd..598acd8 100644 --- a/src/sdl_ttf.erl +++ b/src/sdl_ttf.erl @@ -158,10 +158,13 @@ open_font(Filename, PointSize, Index) -> esdl2:ttf_open_font_index(Filename, PointSize, Index), receive {'_nif_thread_ret_', Ret} -> Ret end. --spec render_blended(font(), binary(), sdl_pixels:color()) +-spec render_blended(font(), binary() | glyph(), sdl_pixels:color()) -> {ok, sdl_surface:surface()} | sdl:error(). -render_blended(Font, Text, Fg) -> +render_blended(Font, Text, Fg) when is_binary(Text) -> esdl2:ttf_render_utf8_blended(Font, Text, Fg), + receive {'_nif_thread_ret_', Ret} -> Ret end; +render_blended(Font, Glyph, Fg) -> + esdl2:ttf_render_glyph_blended(Font, Glyph, Fg), receive {'_nif_thread_ret_', Ret} -> Ret end. -spec render_blended(font(), binary(), sdl_pixels:color(), non_neg_integer()) @@ -170,16 +173,22 @@ render_blended(Font, Text, Fg, WrapLen) -> esdl2:ttf_render_utf8_blended_wrapped(Font, Text, Fg, WrapLen), receive {'_nif_thread_ret_', Ret} -> Ret end. --spec render_shaded(font(), binary(), sdl_pixels:color(), sdl_pixels:color()) +-spec render_shaded(font(), binary() | glyph(), sdl_pixels:color(), sdl_pixels:color()) -> {ok, sdl_surface:surface()} | sdl:error(). -render_shaded(Font, Text, Fg, Bg) -> +render_shaded(Font, Text, Fg, Bg) when is_binary(Text) -> esdl2:ttf_render_utf8_shaded(Font, Text, Fg, Bg), + receive {'_nif_thread_ret_', Ret} -> Ret end; +render_shaded(Font, Glyph, Fg, Bg) -> + esdl2:ttf_render_glyph_shaded(Font, Glyph, Fg, Bg), receive {'_nif_thread_ret_', Ret} -> Ret end. --spec render_solid(font(), binary(), sdl_pixels:color()) +-spec render_solid(font(), binary() | glyph(), sdl_pixels:color()) -> {ok, sdl_surface:surface()} | sdl:error(). -render_solid(Font, Text, Fg) -> +render_solid(Font, Text, Fg) when is_binary(Text) -> esdl2:ttf_render_utf8_solid(Font, Text, Fg), + receive {'_nif_thread_ret_', Ret} -> Ret end; +render_solid(Font, Glyph, Fg) -> + esdl2:ttf_render_glyph_solid(Font, Glyph, Fg), receive {'_nif_thread_ret_', Ret} -> Ret end. -spec render_size(font(), binary()) |