diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2023-12-29 11:18:41 -0800 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2023-12-29 11:18:41 -0800 |
commit | 0f4aea6db747498467ab5b43a762ef3d5f39f56b (patch) | |
tree | aa3f575583088865f41f0317a3470b0ec064c718 /source_edit.lua | |
parent | e36559d264616cc8bc10ebbfcc429663c17fb7aa (diff) | |
download | text.love-0f4aea6db747498467ab5b43a762ef3d5f39f56b.tar.gz |
pull font into editor
Now it adjusts the current font for itself. And it's up to the caller to adjust the current font after.
Diffstat (limited to 'source_edit.lua')
-rw-r--r-- | source_edit.lua | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/source_edit.lua b/source_edit.lua index 0af9949..9414ee4 100644 --- a/source_edit.lua +++ b/source_edit.lua @@ -25,7 +25,7 @@ Same_point_distance = 4 -- pixel distance at which two points are considered th edit = {} -- run in both tests and a real run -function edit.initialize_state(top, left, right, font_height, line_height) -- currently always draws to bottom of screen +function edit.initialize_state(top, left, right, font, line_height) -- currently always draws to bottom of screen local result = { -- a line is either text or a drawing -- a text is a table with: @@ -85,7 +85,8 @@ function edit.initialize_state(top, left, right, font_height, line_height) -- c current_drawing_mode = 'line', previous_drawing_mode = nil, -- extra state for some ephemeral modes like moving/deleting/naming points - font_height = font_height, + font = font, + font_height = font:getHeight(), line_height = line_height, top = top, @@ -105,7 +106,7 @@ function edit.initialize_state(top, left, right, font_height, line_height) -- c search_backup = nil, -- stuff to restore when cancelling search } return result -end -- App.initialize_state +end -- edit.initialize_state function edit.check_locs(State) -- if State is inconsistent (i.e. file changed by some other program), @@ -157,6 +158,7 @@ end function edit.draw(State, hide_cursor, show_line_numbers) State.button_handlers = {} + love.graphics.setFont(State.font) App.color(Text_color) assert(#State.lines == #State.line_cache, ('line_cache is out of date; %d elements when it should be %d'):format(#State.line_cache, #State.lines)) assert(Text.le1(State.screen_top1, State.cursor1), ('screen_top (line=%d,pos=%d) is below cursor (line=%d,pos=%d)'):format(State.screen_top1.line, State.screen_top1.pos, State.cursor1.line, State.cursor1.pos)) @@ -552,7 +554,7 @@ end function edit.update_font_settings(State, font_height) State.font_height = font_height - love.graphics.setFont(love.graphics.newFont(State.font_height)) + State.font = love.graphics.newFont(State.font_height) State.line_height = math.floor(font_height*1.3) end @@ -569,7 +571,7 @@ function edit.initialize_test_state() 15, -- top margin Test_margin_left, App.screen.width - Test_margin_right, - 14, -- font height assuming default LÖVE font + love.graphics.getFont(), 15) -- line height end |