Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | allow buttons to nest as well | Kartik K. Agaram | 2022-08-23 | 1 | -2/+11 | |
| | ||||||
* | flip return value of button handlers | Kartik K. Agaram | 2022-08-23 | 2 | -6/+4 | |
| | | | | | | This is compatible with Javascript, and it also seems like a better default; when people forget to think about return values in click handlers, they should be consumed. | |||||
* | stop putting button state in a global | Kartik K. Agaram | 2022-08-23 | 3 | -9/+13 | |
| | | | | | | | | | | | | | | | | Symptom: a test (test_click_to_create_drawing) started randomly failing after I inserted a `return` 2 commits ago. Cause: my tests call edit.draw, but button handlers only get cleared in app.draw. So my tests weren't clearing button handlers, and every call to edit.draw was accumulating states. Still unclear why those were going to different state objects after the `return`, but anyway. I'm not going to understand every last thing that happens when things go wrong, just guarantee they can't go wrong. And the way to do that is to decentralize button handlers to each state that receives them. The State object in buttons.lua doesn't have to be Editor_state. It just has to be some table that provides a Schelling Point for shared state. | |||||
* | improve explanation for buttons | Kartik K. Agaram | 2022-08-23 | 1 | -1/+4 | |
| | ||||||
* | allow buttons to interrupt events | Kartik K. Agaram | 2022-08-23 | 2 | -2/+6 | |
| | | | | Most button onpress1 handlers will want to return true. | |||||
* | indent | Kartik K. Agaram | 2022-08-23 | 1 | -1/+3 | |
| | ||||||
* | distinguish consistently between mouse buttons and other buttons | Kartik K. Agaram | 2022-08-23 | 3 | -30/+30 | |
| | ||||||
* | include pensieve.love even though it's in development | Kartik K. Agaram | 2022-08-22 | 1 | -0/+5 | |
| | ||||||
* | include a fork | Kartik K. Agaram | 2022-08-21 | 1 | -0/+2 | |
| | ||||||
* | correct a comment | Kartik K. Agaram | 2022-08-21 | 1 | -1/+1 | |
| | | | | We no longer have undo history directly in globals. | |||||
* | regression: dropping files on the window | Kartik K. Agaram | 2022-08-19 | 2 | -0/+3 | |
| | | | | Also improve the test to catch this next time. | |||||
* | fix a name | Kartik K. Agaram | 2022-08-19 | 1 | -4/+4 | |
| | ||||||
* | reclaim a couple more functions after tests | Kartik K. Agaram | 2022-08-19 | 1 | -0/+2 | |
| | ||||||
* | couple of accidental globals | Kartik K. Agaram | 2022-08-18 | 1 | -2/+2 | |
| | | | | Luckily they didn't bite me yet. | |||||
* | get rid of some ridiculous code | Kartik K. Agaram | 2022-08-18 | 1 | -15/+5 | |
| | | | | | | I guess I wrote it before I settled into the idiom of: * first change cursor * then scroll if necessary | |||||
* | spurious args | Kartik K. Agaram | 2022-08-18 | 1 | -18/+18 | |
| | ||||||
* | dead code | Kartik K. Agaram | 2022-08-18 | 1 | -2/+0 | |
| | ||||||
* | generalize a function | Kartik K. Agaram | 2022-08-18 | 3 | -12/+13 | |
| | ||||||
* | drop some obsolete args | Kartik K. Agaram | 2022-08-18 | 1 | -2/+2 | |
| | ||||||
* | subsection headings in a long switch | Kartik K. Agaram | 2022-08-18 | 1 | -0/+2 | |
| | ||||||
* | extract a variable | Kartik K. Agaram | 2022-08-18 | 1 | -2/+3 | |
| | ||||||
* | simplify | Kartik K. Agaram | 2022-08-18 | 1 | -4/+1 | |
| | ||||||
* | simpler location comparison | Kartik K. Agaram | 2022-08-17 | 1 | -5/+2 | |
| | ||||||
* | move caching behavior inside compute_fragments | Kartik K. Agaram | 2022-08-17 | 1 | -6/+6 | |
| | ||||||
* | remove some unnecessary work | Kartik K. Agaram | 2022-08-17 | 1 | -1/+3 | |
| | ||||||
* | standardize scroll check in a few places | Kartik K. Agaram | 2022-08-17 | 1 | -3/+3 | |
| | | | | | | | | | | | | I'm taking some lessons from pensieve.love here. It seem like specific pixel thresholds don't matter too much for plain lines.love. I'd probably feel safer if I just used Text.cursor_out_of_screen in these places, but it means we draw the screen twice for most events[1]. Let's see if we can get by with the current approach. [1] Or we have to start scheduling things for the next draw, which is more complex to orchestrate. | |||||
* | simplify cursor-on-screen check | Kartik K. Agaram | 2022-08-17 | 2 | -11/+9 | |
| | ||||||
* | swap return values | Kartik K. Agaram | 2022-08-17 | 3 | -8/+8 | |
| | ||||||
* | obsolete comment | Kartik K. Agaram | 2022-08-16 | 1 | -2/+0 | |
| | ||||||
* | move | Kartik K. Agaram | 2022-08-15 | 1 | -28/+28 | |
| | ||||||
* | drop some unnecessary calls | Kartik K. Agaram | 2022-08-15 | 1 | -6/+0 | |
| | ||||||
* | stop confusingly reading a global | Kartik K. Agaram | 2022-08-15 | 1 | -2/+2 | |
| | | | | | | | The way Text.draw is called by edit.draw, we know it'll never be called for lines above screen_top1.line. Comparing every line on screen with screen_top1 makes no sense. The intent is really just to compare with screen_top1 only for the first line, and otherwise to ignore this check. | |||||
* | new mirror | Kartik K. Agaram | 2022-08-14 | 1 | -0/+1 | |
| | ||||||
* | more cogent onboarding instructions | Kartik K. Agaram | 2022-08-14 | 1 | -4/+7 | |
| | | | | Someone looking at the repo will probably prefer the terminal. | |||||
* | remove some duplication | Kartik K. Agaram | 2022-08-14 | 2 | -13/+8 | |
| | ||||||
* | bugfix: obsolete location for attribute | Kartik K. Agaram | 2022-08-14 | 1 | -2/+2 | |
| | ||||||
* | overzealous search-and-replace | Kartik K. Agaram | 2022-08-13 | 1 | -1/+1 | |
| | ||||||
* | bugfix: check after cursor on same line when searching upwards | Kartik K. Agaram | 2022-08-11 | 2 | -1/+28 | |
| | ||||||
* | search: transparently handle drawings everywhere | Kartik K. Agaram | 2022-08-11 | 1 | -22/+18 | |
| | ||||||
* | bugfix: search upwards | Kartik K. Agaram | 2022-08-11 | 2 | -1/+20 | |
| | ||||||
* | bugfix: check before cursor on same line | Kartik K. Agaram | 2022-08-11 | 2 | -1/+31 | |
| | ||||||
* | bugfix: handle drawings when updating screen top | Kartik K. Agaram | 2022-08-11 | 1 | -0/+1 | |
| | ||||||
* | rename | Kartik K. Agaram | 2022-08-11 | 1 | -24/+24 | |
| | ||||||
* | bugfix: pagedown was sometimes bouncing up | Kartik K. Agaram | 2022-08-10 | 2 | -1/+18 | |
| | ||||||
* | bugfix: backspace from start of final line | Kartik K. Agaram | 2022-08-10 | 2 | -1/+21 | |
| | ||||||
* | unnecessary args | Kartik K. Agaram | 2022-08-10 | 1 | -1/+1 | |
| | ||||||
* | hardcode some assumptions about how this app uses love | Kartik K. Agaram | 2022-08-06 | 1 | -18/+11 | |
| | ||||||
* | bugfix: imprecision in drawing | Kartik K. Agaram | 2022-08-03 | 2 | -0/+4 | |
| | | | | | | | | | | | scenario: slowly press down mouse button and drag to draw a line release mouse button Before this commit the point would jump just a little bit on release, and points would go slightly to the left of where I expect. Yet another thing it's hard to write an automated test for. | |||||
* | round one coordinate | Kartik K. Agaram | 2022-07-30 | 1 | -1/+1 | |
| | ||||||
* | round coordinates to integers in a few places | Kartik K. Agaram | 2022-07-29 | 1 | -7/+11 | |
| | | | | | | | | | | | | | Thanks Lion Kimbro for pointing out this issue. I still have to use floats for start/end angles of arcs. That might be a sign that I don't have the right serialization yet for them. Or that that feature needs to go. I started out with a hazy idea of only using 8-bit ints for coordinates, but now I'm not sure how committed I am to that constraint. While the width is always 256 units, it might be nice to create long portrait drawings at some point, whose height is greater than 256 units. |