Commit Graph

680 Commits

Author SHA1 Message Date
Kartik K. Agaram 61b59f4dd6 Merge lines.love 2022-08-18 13:11:41 -07:00
Kartik K. Agaram 72866ec0ad get rid of some ridiculous code
I guess I wrote it before I settled into the idiom of:
* first change cursor
* then scroll if necessary
2022-08-18 13:04:04 -07:00
Kartik K. Agaram 0bf34a9ce0 spurious args 2022-08-18 12:09:50 -07:00
Kartik K. Agaram edcd3d7a9a dead code 2022-08-18 12:07:50 -07:00
Kartik K. Agaram 1d3c9f4708 generalize a function 2022-08-18 10:32:03 -07:00
Kartik K. Agaram cf8d9774ea drop some obsolete args 2022-08-18 10:29:50 -07:00
Kartik K. Agaram 3c04310503 subsection headings in a long switch 2022-08-18 10:09:20 -07:00
Kartik K. Agaram a14f1096b6 extract a variable 2022-08-18 09:51:43 -07:00
Kartik K. Agaram f79dd4824c simplify 2022-08-18 00:19:07 -07:00
Kartik K. Agaram 6d3c059964 Merge lines.love 2022-08-17 21:25:44 -07:00
Kartik K. Agaram 2381f7b43f simpler location comparison 2022-08-17 21:23:24 -07:00
Kartik K. Agaram 2923ef3f49 Merge lines.love 2022-08-17 17:44:19 -07:00
Kartik K. Agaram 1221fde164 move caching behavior inside compute_fragments 2022-08-17 16:15:35 -07:00
Kartik K. Agaram 3a74e4bb6c remove some unnecessary work 2022-08-17 16:13:46 -07:00
Kartik K. Agaram 03f3034930 Merge lines.love 2022-08-17 09:51:17 -07:00
Kartik K. Agaram dd899d2096 standardize scroll check in a few places
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.
2022-08-17 09:40:44 -07:00
Kartik K. Agaram f029c710b5 simplify cursor-on-screen check 2022-08-17 09:36:17 -07:00
Kartik K. Agaram f11c3f2a9b Merge lines.love 2022-08-17 09:17:00 -07:00
Kartik K. Agaram 1d710912cc swap return values 2022-08-17 09:10:52 -07:00
Kartik K. Agaram 68052e807b Merge lines.love 2022-08-17 07:48:44 -07:00
Kartik K. Agaram 4f128f39f3 obsolete comment 2022-08-16 13:38:10 -07:00
Kartik K. Agaram 8ce39fe403 title 2022-08-15 22:27:31 -07:00
Kartik K. Agaram 1bd5d74b78 Merge lines.love
(I'm going to change the format of these commits to be more useful in
the presence of more than one level of upstream.)
2022-08-15 16:17:15 -07:00
Kartik K. Agaram eba973369e move 2022-08-15 16:07:32 -07:00
Kartik K. Agaram 5ac18cef45 Merge upstream 2022-08-15 15:57:10 -07:00
Kartik K. Agaram 333a0318d9 drop some unnecessary calls 2022-08-15 15:48:44 -07:00
Kartik K. Agaram 9e0cd4ad4c stop confusingly reading a global
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.
2022-08-15 15:45:02 -07:00
Kartik K. Agaram a655c2113c bring back a level of wrapping
Many projects will require the ability to add metadata to lines, so
let's not drop that.
2022-08-15 11:00:35 -07:00
Kartik K. Agaram 778f77a458 superfluous line 2022-08-15 10:23:07 -07:00
Kartik K. Agaram a85b984021 clean up a few more loose ends 2022-08-14 09:53:16 -07:00
Kartik K. Agaram 9d792a203b new fork: rip out drawing support 2022-08-14 09:20:14 -07:00
Kartik K. Agaram 974d17ffc0 new mirror 2022-08-14 09:08:44 -07:00
Kartik K. Agaram 27913df486 more cogent onboarding instructions
Someone looking at the repo will probably prefer the terminal.
2022-08-14 08:52:58 -07:00
Kartik K. Agaram 9459d91abc remove some duplication 2022-08-14 08:10:24 -07:00
Kartik K. Agaram 4d1e7f922d bugfix: obsolete location for attribute 2022-08-14 07:56:12 -07:00
Kartik K. Agaram cc289363fa overzealous search-and-replace 2022-08-13 22:01:40 -07:00
Kartik K. Agaram f3df1cda0f bugfix: check after cursor on same line when searching upwards 2022-08-11 22:23:16 -07:00
Kartik K. Agaram 8b880f4fe8 search: transparently handle drawings everywhere 2022-08-11 22:23:16 -07:00
Kartik K. Agaram e85a7e73d0 bugfix: search upwards 2022-08-11 22:23:16 -07:00
Kartik K. Agaram 0afd03e721 bugfix: check before cursor on same line 2022-08-11 22:23:16 -07:00
Kartik K. Agaram d14e03d706 bugfix: handle drawings when updating screen top 2022-08-11 19:35:12 -07:00
Kartik K. Agaram 9ac68d710b rename 2022-08-11 19:34:18 -07:00
Kartik K. Agaram da34fabf72 bugfix: pagedown was sometimes bouncing up 2022-08-10 22:56:10 -07:00
Kartik K. Agaram ba48aadaa7 bugfix: backspace from start of final line 2022-08-10 22:38:10 -07:00
Kartik K. Agaram 8cfffdef41 unnecessary args 2022-08-10 22:29:39 -07:00
Kartik K. Agaram 6a6ff18916 hardcode some assumptions about how this app uses love 2022-08-06 09:51:32 -07:00
Kartik K. Agaram 65879591ca bugfix: imprecision in drawing
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.
2022-08-03 18:40:07 -07:00
Kartik K. Agaram f72185ab19 round one coordinate 2022-07-30 07:13:45 -07:00
Kartik K. Agaram 9d80e92415 round coordinates to integers in a few places
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.
2022-07-29 21:54:06 -07:00
Kartik K. Agaram 0218980add click to the left of a line 2022-07-29 14:38:45 -07:00