Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | keep text from overflowing right margin | Kartik K. Agaram | 2022-07-19 | 2 | -41/+48 | |
| | | | | | | | | | | I've been sloppy about this so far, and outside of tests I can't find any examples where it matters, but it matters in a potential fork where I'm rendering multiple columns of text. It's unfortunate that my tests have this level of brittleness. What I'd really like to assert in many of these changed lines is that the text stays inside the margins and that more text would overflow margins. | |||||
* | delete some duplicate initialization | Kartik K. Agaram | 2022-07-19 | 1 | -4/+0 | |
| | ||||||
* | clean up a cross-test leakage | Kartik K. Agaram | 2022-07-19 | 1 | -9/+9 | |
| | ||||||
* | bugfix: couple of margin-relative computations | Kartik K. Agaram | 2022-07-17 | 2 | -3/+63 | |
| | ||||||
* | separate data structure for each line's cache data | Kartik K. Agaram | 2022-07-17 | 7 | -70/+211 | |
| | | | | I have no idea what the performance implications of this are.. | |||||
* | keep all text cache writes inside text.lua | Kartik K. Agaram | 2022-07-17 | 2 | -9/+8 | |
| | ||||||
* | switch to line index in a function | Kartik K. Agaram | 2022-07-17 | 1 | -2/+3 | |
| | | | | - Text.screen_line_width | |||||
* | switch to line index in a function | Kartik K. Agaram | 2022-07-17 | 1 | -16/+17 | |
| | | | | - Text.compute_fragments | |||||
* | make a function oblivious to line data structure | Kartik K. Agaram | 2022-07-17 | 1 | -5/+5 | |
| | | | | - Text.screen_line_index | |||||
* | switch to line index in a function | Kartik K. Agaram | 2022-07-17 | 3 | -6/+6 | |
| | | | | - Text.to_pos_on_line | |||||
* | switch to line index in a function | Kartik K. Agaram | 2022-07-17 | 1 | -15/+16 | |
| | | | | - Text.populate_screen_line_starting_pos | |||||
* | switch to line index in a function | Kartik K. Agaram | 2022-07-17 | 3 | -4/+5 | |
| | | | | - Text.in_line | |||||
* | drop some extra args | Kartik K. Agaram | 2022-07-17 | 1 | -4/+4 | |
| | ||||||
* | drop some redundant args when clearing the cache | Kartik K. Agaram | 2022-07-17 | 2 | -11/+11 | |
| | ||||||
* | fold together two largely similar cases | Kartik K. Agaram | 2022-07-17 | 1 | -28/+23 | |
| | ||||||
* | drop some redundant args from Text.draw | Kartik K. Agaram | 2022-07-17 | 2 | -5/+6 | |
| | ||||||
* | formatting | Kartik K. Agaram | 2022-07-16 | 2 | -3/+3 | |
| | ||||||
* | bring back a set of constants | Kartik K. Agaram | 2022-07-16 | 4 | -90/+89 | |
| | | | | | It's starting to sink in that I don't want hard-coded constants inside objects. | |||||
* | more decoupling editor tests from App | Kartik K. Agaram | 2022-07-16 | 1 | -1/+1 | |
| | ||||||
* | more decoupling editor tests from App | Kartik K. Agaram | 2022-07-16 | 1 | -3/+3 | |
| | ||||||
* | more decoupling editor tests from App | Kartik K. Agaram | 2022-07-16 | 1 | -13/+13 | |
| | ||||||
* | more precise name | Kartik K. Agaram | 2022-07-15 | 2 | -10/+10 | |
| | ||||||
* | make test initializations a little more obvious | Kartik K. Agaram | 2022-07-15 | 5 | -156/+162 | |
| | ||||||
* | bugfix: zoom in/out hotkeys | Kartik K. Agaram | 2022-07-13 | 1 | -0/+7 | |
| | | | | Broken since commit 3b36093553 5 hours ago. | |||||
* | bugfix: resize | Kartik K. Agaram | 2022-07-13 | 2 | -2/+9 | |
| | ||||||
* | a more radical attempt at ignoring nil y's | Kartik K. Agaram | 2022-07-13 | 2 | -7/+5 | |
| | ||||||
* | no, bring back that defense | Kartik K. Agaram | 2022-07-13 | 1 | -0/+4 | |
| | | | | | | | | | Scenario where I ran into it: start a stroke inside a drawing press 'o' to switch to circle mode (but any mode switch will do) The problem is that Text.textinput unconditionally blows away all .y values. Sometimes we have to wait for a draw() to fill them back in. | |||||
* | a bug I've never run into | Kartik K. Agaram | 2022-07-13 | 3 | -5/+10 | |
| | | | | | | The previous commit was failing inside a test that I can't reproduce manually. Perhaps it's something about how often draw/update run in practice. Anyways, it's definitely uncovered a real issue. | |||||
* | hoist couple of variables out | Kartik K. Agaram | 2022-07-13 | 1 | -3/+6 | |
| | | | | This seems to uncover a corner case I'd never run into until now. | |||||
* | use available variables | Kartik K. Agaram | 2022-07-13 | 1 | -1/+1 | |
| | ||||||
* | more idiomatic variable names | Kartik K. Agaram | 2022-07-13 | 1 | -5/+5 | |
| | ||||||
* | chunking by simple local variable | Kartik K. Agaram | 2022-07-13 | 1 | -4/+6 | |
| | ||||||
* | make local functions look different | Kartik K. Agaram | 2022-07-13 | 1 | -6/+6 | |
| | ||||||
* | more chunks, same approach | Kartik K. Agaram | 2022-07-13 | 1 | -3/+6 | |
| | ||||||
* | chunk up some long lines | Kartik K. Agaram | 2022-07-13 | 1 | -32/+32 | |
| | | | | | Hopefully this is more approachable. Though now I'm creating two new temporary functions on every draw. Whether I need them or not. | |||||
* | . | Kartik K. Agaram | 2022-07-12 | 1 | -0/+2 | |
| | ||||||
* | drop final mention of state global beyond main.lua | Kartik K. Agaram | 2022-07-12 | 1 | -29/+28 | |
| | | | | | | | | | | This is all unfortunate in several ways - lots of functions have extra args - table lookups where we used to have a simple variable - program initialization is a lot more delicate Let's see if it was worthwhile. Can we now actually build around the editor component in forks? | |||||
* | replace globals with args in a few functions | Kartik K. Agaram | 2022-07-12 | 4 | -78/+81 | |
| | | | | | | | | | - Drawing.draw_shape - Drawing.draw_pending_shape - Drawing.in_drawing - Drawing.find_or_insert_point - Drawing.near - Drawing.pixels | |||||
* | correct a mis-named threshold | Kartik K. Agaram | 2022-07-12 | 2 | -2/+4 | |
| | ||||||
* | drop heavyweight near check on file load/store | Kartik K. Agaram | 2022-07-12 | 1 | -19/+25 | |
| | ||||||
* | deduce left/right from state where possible | Kartik K. Agaram | 2022-07-12 | 3 | -78/+78 | |
| | ||||||
* | left/right margin -> left/right coordinates | Kartik K. Agaram | 2022-07-12 | 9 | -369/+486 | |
| | | | | | Editor state initialization now depends on window dimensions, so we have to more carefully orchestrate startup. | |||||
* | add state arg to a few functions | Kartik K. Agaram | 2022-07-12 | 2 | -26/+26 | |
| | | | | | | | - Drawing.current_drawing - Drawing.select_shape_at_mouse - Drawing.select_point_at_mouse - Drawing.select_drawing_at_mouse | |||||
* | add state arg to a few functions | Kartik K. Agaram | 2022-07-12 | 4 | -121/+107 | |
| | | | | | | | | | | | | | - Text.cursor_at_final_screen_line - Text.move_cursor_down_to_next_text_line_while_scrolling_again_if_necessary - Text.snap_cursor_to_bottom_of_screen - Text.in_line - Text.to_pos_on_line - Text.to2 - Text.to1 - Text.previous_screen_line - Text.tweak_screen_top_and_cursor - Text.redraw_all | |||||
* | add state arg to a few functions | Kartik K. Agaram | 2022-07-12 | 3 | -20/+20 | |
| | | | | | - Text.pos_at_start_of_cursor_screen_line - Text.cursor_past_screen_bottom | |||||
* | add state arg to a few functions | Kartik K. Agaram | 2022-07-12 | 1 | -26/+26 | |
| | | | | | | - Text.left - Text.right - Text.right_without_scroll | |||||
* | add state arg to few functions | Kartik K. Agaram | 2022-07-12 | 2 | -112/+112 | |
| | | | | | | - draw_help_without_mouse_pressed - draw_help_with_mouse_pressed - current_shape | |||||
* | add state arg to a few functions | Kartik K. Agaram | 2022-07-12 | 2 | -41/+41 | |
| | | | | | - Text.search_next - Text.search_previous | |||||
* | add state arg to a few functions | Kartik K. Agaram | 2022-07-12 | 4 | -53/+53 | |
| | | | | | | | - record_undo_event - undo_event - redo_event - snapshot | |||||
* | add state arg to a few functions | Kartik K. Agaram | 2022-07-12 | 3 | -67/+67 | |
| | | | | | | | | | | | - Text.draw_highlight - Text.clip_selection - Text.selection - Text.cut_selection - Text.delete_selection - Text.delete_selection_without_undo - Text.mouse_pos - Text.to_pos |