aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2018-02-15 18:39:45 +0100
committerLoïc Hoguin <[email protected]>2018-02-15 18:39:45 +0100
commitc12df73883f626344cee7f3f0497ec75b95f5e1d (patch)
tree0a218cf6bd7cdb283ef3e2c8ee912d4e1c5ba6e6 /src
parent913937277fec521a704fc29253198da1a7dbeb82 (diff)
downloadesdl2-c12df73883f626344cee7f3f0497ec75b95f5e1d.tar.gz
esdl2-c12df73883f626344cee7f3f0497ec75b95f5e1d.tar.bz2
esdl2-c12df73883f626344cee7f3f0497ec75b95f5e1d.zip
Add the glyph rendering functions
Diffstat (limited to 'src')
-rw-r--r--src/esdl2.erl12
-rw-r--r--src/sdl_ttf.erl21
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())