diff --git a/src/tz/ren/text.cpp b/src/tz/ren/text.cpp index ed69800cf3..e6e7b4c0bd 100644 --- a/src/tz/ren/text.cpp +++ b/src/tz/ren/text.cpp @@ -151,6 +151,14 @@ namespace tz::ren strings[static_cast(static_cast(sh))].model = transform.matrix(); } +//-------------------------------------------------------------------------------------------------- + + tz::trs char_storage::string_get_transform(tz::gl::renderer_handle rh, string_handle sh) const + { + auto strings = tz::gl::get_device().get_renderer(rh).get_resource(this->string_buffer)->data_as(); + return tz::trs::from_matrix(strings[static_cast(static_cast(sh))].model); + } + //-------------------------------------------------------------------------------------------------- void char_storage::string_set_colour(tz::gl::renderer_handle rh, string_handle sh, tz::vec3 colour) @@ -577,6 +585,13 @@ namespace tz::ren this->chars.string_set_transform(this->rh, sh, transform); } +//-------------------------------------------------------------------------------------------------- + + tz::trs text_renderer::string_get_transform(string_handle sh) + { + return this->chars.string_get_transform(this->rh, sh); + } + //-------------------------------------------------------------------------------------------------- void text_renderer::string_set_colour(string_handle sh, tz::vec3 colour) diff --git a/src/tz/ren/text.hpp b/src/tz/ren/text.hpp index 3c4d43f6ed..81c472a4c8 100644 --- a/src/tz/ren/text.hpp +++ b/src/tz/ren/text.hpp @@ -46,6 +46,7 @@ namespace tz::ren std::size_t string_count(bool include_free_list = false) const; void string_set_transform(tz::gl::renderer_handle rh, string_handle sh, tz::trs transform); + tz::trs string_get_transform(tz::gl::renderer_handle rh, string_handle sh) const; void string_set_colour(tz::gl::renderer_handle rh, string_handle sh, tz::vec3 colour); void string_set_text(tz::gl::renderer_handle rh, string_handle sh, std::string); float string_get_width_pixels(tz::gl::renderer_handle rh, string_handle sh) const; @@ -166,6 +167,7 @@ namespace tz::ren * @param transform New transform of the rendered text. */ void string_set_transform(string_handle sh, tz::trs transform); + tz::trs string_get_transform(string_handle sh); /** * Set the colour of an existing rendered text. * @param sh String corresponding to the handle to be affected.