diff options
-rw-r--r-- | edit.lua | 1 | ||||
-rw-r--r-- | main.lua | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/edit.lua b/edit.lua index 878ffb7..801a483 100644 --- a/edit.lua +++ b/edit.lua @@ -325,6 +325,7 @@ function edit.update_font_settings(State, font_height) love.graphics.setFont(love.graphics.newFont(Editor_state.font_height)) State.line_height = math.floor(font_height*1.3) State.em = App.newText(love.graphics.getFont(), 'm') + Text_cache = {} end --== some methods for tests diff --git a/main.lua b/main.lua index f206dc0..86326df 100644 --- a/main.lua +++ b/main.lua @@ -17,6 +17,9 @@ Editor_state = {} function App.initialize_globals() -- tests currently mostly clear their own state + -- a few text objects we can avoid recomputing unless the font changes + Text_cache = {} + -- blinking cursor Cursor_time = 0 @@ -200,3 +203,11 @@ function App.keyreleased(key, scancode) Cursor_time = 0 -- ensure cursor is visible immediately after it moves return edit.key_released(Editor_state, key, scancode) end + +-- use this sparingly +function to_text(s) + if Text_cache[s] == nil then + Text_cache[s] = App.newText(love.graphics.getFont(), s) + end + return Text_cache[s] +end |