Commit Graph

100 Commits

Author SHA1 Message Date
Kartik K. Agaram dc3b18eb6c start writing some tests for drawings 2022-06-14 10:50:14 -07:00
Kartik K. Agaram 8c535dbb3a . 2022-06-14 10:50:14 -07:00
Kartik K. Agaram f277a78455 extract variable Margin_left 2022-06-14 10:49:06 -07:00
Kartik K. Agaram c1d8201d44 mouse buttons are integers, not strings
Not sure where that idiom comes from or why strings work in some places
(auto-coercion?). I picked it up off some example apps. But
https://love2d.org/wiki/love.mouse.isDown says it should be an integer.
2022-06-14 09:05:02 -07:00
Kartik K. Agaram 059efba79d override mouse state lookups in tests
If I'd had this stuff in my test harness earlier, two recent commits
would have failed tests and given me early warning:
  ff88238ff1
  ff88a2a927
2022-06-12 09:04:21 -07:00
Kartik K. Agaram 242a087016 set current_drawing_index with current_drawing 2022-06-10 13:44:12 -07:00
Kartik K. Agaram fcfe667fe9 include drawing index in a few places 2022-06-10 13:40:07 -07:00
Kartik K. Agaram c875f7be46 stop saving the entire file when modifying drawings
Now we just disallow that entirely.
2022-06-10 11:48:32 -07:00
Kartik K. Agaram 7d1671051f yet another key conflict 2022-06-04 21:48:35 -07:00
Kartik K. Agaram db8b5b5062 switch circles to 'o' to avoid conflicting with copy 2022-06-04 20:35:31 -07:00
Kartik K. Agaram 9ee5d1c913 try to maintain a reasonable line width 2022-06-04 20:10:56 -07:00
Kartik K. Agaram 9efeae1f82 rename 2022-06-03 08:01:21 -07:00
Kartik K. Agaram 91d79eba33 local var 2022-06-03 08:00:31 -07:00
Kartik K. Agaram 03499f7449 switch freehand hotkey to eliminate conflict with search
I'm now following Inkscape, and the mnemonic is 'pencil'.
2022-06-02 23:55:17 -07:00
Kartik K. Agaram 9bbfc2be13 crisp font rendering 2022-06-02 23:36:07 -07:00
Kartik K. Agaram 22817492a3 rename 2022-06-02 16:44:18 -07:00
Kartik K. Agaram b4e76eac4e bugfix: undo drawing creation
Also clean up drawing state to make sure we don't get into hard-to-debug
situations.
2022-06-02 15:51:44 -07:00
Kartik K. Agaram 670886240f after much struggle, a brute-force undo
Incredibly inefficient, but I don't yet know how to efficiently encode
undo mutations that can span multiple lines.

There seems to be one bug related to creating new drawings; they're not
spawning events and undoing past drawing creation has some weird
artifacts. Redo seems to consistently work, though.
2022-06-02 15:45:25 -07:00
Kartik K. Agaram d0d22fffbc missing temporary modes in a couple more places 2022-05-30 16:23:08 -07:00
Kartik K. Agaram 69eeefe197 missing shape modes in a couple more places 2022-05-30 16:23:01 -07:00
Kartik K. Agaram fd5a47f8bf more robust transitions to temporary modes
I seem to often accidentally press C-n twice to go into name mode. Now
doing so overrides the previous temporary mode (name/move/delete point)
without clobbering the real shape-drawing mode.
2022-05-30 15:34:53 -07:00
Kartik K. Agaram 714f7d11cd experiment: give up on changing shape mode
I often find myself accidentally hovering over some shape or other when
switching modes.

One additional reason to do this: I never included it in the help. So it
hasn't been very high-priority.
2022-05-30 15:34:01 -07:00
Kartik K. Agaram 3414f0a11d bugfix: function names 2022-05-30 15:29:57 -07:00
Kartik K. Agaram 096f6255b2 ignore 'name' mode in a few places 2022-05-30 15:28:50 -07:00
Kartik K. Agaram a603847d18 go through App in a couple more places 2022-05-29 16:37:31 -07:00
Kartik K. Agaram bce43b56b0 few more transitions between shapes 2022-05-25 17:07:19 -07:00
Kartik K. Agaram 6550a4c6d7 couple of TODOs 2022-05-21 16:42:22 -07:00
Kartik K. Agaram 9a18b09de3 bugfix: escape key to hide online help 2022-05-21 14:22:34 -07:00
Kartik K. Agaram 0537f81744 show when we're naming a point 2022-05-21 14:18:31 -07:00
Kartik K. Agaram bb9e23a638 support for naming points
There's still an absence of affordance showing when you're in naming mode.
2022-05-21 14:03:06 -07:00
Kartik K. Agaram 77ba9433d7 one missing transition between shape modes 2022-05-21 09:30:02 -07:00
Kartik K. Agaram 5d8e7a3cc6 several bugfixes
All introduced when I built rectangles and squares in commit e27165cb.
2022-05-21 08:41:54 -07:00
Kartik K. Agaram f42c3f8181 bugfix
Looks like I never retested rectangles after I implemented drawing
squares, even though I made changes to the rectangle implementation :/
2022-05-21 08:20:55 -07:00
Kartik K. Agaram 6e89f6c63f make text and drawings the same width 2022-05-19 22:02:18 -07:00
Kartik K. Agaram f69e17d350 another integer coordinate 2022-05-19 05:49:32 -07:00
Kartik K. Agaram d482694a2a delete unused arg 2022-05-19 05:41:12 -07:00
Kartik K. Agaram f91e520124 scroll past first page
Still some limitations. The text cursor has to be visible on screen, so
if you have a long series of drawings without intervening lines of text
you won't be able to scroll through them all.
2022-05-18 17:42:08 -07:00
Kartik K. Agaram e27165cb9f rectangle and square shapes 2022-05-18 15:29:18 -07:00
Kartik K. Agaram 28c29eecde lighter color for in-progress strokes 2022-05-18 13:09:06 -07:00
Kartik K. Agaram d0eeb8586f use the provided args everywhere
This will be important when we implement scrolling..
2022-05-18 07:38:02 -07:00
Kartik K. Agaram bdf9b27260 casting about for more helpers to extract.. 2022-05-18 07:34:18 -07:00
Kartik K. Agaram 0fc3ed212e move 2022-05-18 07:21:50 -07:00
Kartik K. Agaram b544e8c357 forgot to move this special case out 2022-05-17 23:23:26 -07:00
Kartik K. Agaram c1ba40ac70 delegate update events to drawings 2022-05-17 23:16:08 -07:00
Kartik K. Agaram 10bc32e2f0 DRY some code 2022-05-17 23:10:58 -07:00
Kartik K. Agaram 4818672c11 move mouse_released events to Drawing 2022-05-17 22:55:45 -07:00
Kartik K. Agaram 92bd6839c7 split mouse_pressed events between Text and Drawing 2022-05-17 22:53:09 -07:00
Kartik K. Agaram 222a11a8dd split keyboard handling between Text and Drawing 2022-05-17 22:43:41 -07:00
Kartik K. Agaram de495ae0f1 several more modules
This is probably not ideal; let's see how it goes..
2022-05-17 21:34:55 -07:00
Kartik K. Agaram 2aa8c67a22 extract a module
I want to use `drawing` for locals, so I'll use uppercase the module
name just like globals.
2022-05-17 19:41:42 -07:00