diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2022-06-17 23:15:09 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2022-06-17 23:15:09 -0700 |
commit | 0248339898ed7c6f25dca5ae10458a8fee969c47 (patch) | |
tree | 37ec333ecbb0ee28249981bcdb900b1788ca8d37 /drawing.lua | |
parent | 26995dd62e72b5d8075429c29b311125dbef5920 (diff) | |
download | text.love-0248339898ed7c6f25dca5ae10458a8fee969c47.tar.gz |
more precise shape selection
It's important that the error be additive rather than multiplicative, otherwise the area grows asymmetrically along a line. Hopefully freehand drawings will work more intuitively now.
Diffstat (limited to 'drawing.lua')
-rw-r--r-- | drawing.lua | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drawing.lua b/drawing.lua index 7ebf177..e191767 100644 --- a/drawing.lua +++ b/drawing.lua @@ -4,6 +4,8 @@ geom = require 'geom' require 'drawing_tests' +Show_nearby = false + -- All drawings span 100% of some conceptual 'page width' and divide it up -- into 256 parts. function Drawing.draw(line) @@ -28,6 +30,17 @@ function Drawing.draw(line) return end + if Show_nearby then + love.graphics.setColor(1,0.75,0.75) + for y=0,127 do + for x=0,255 do + if geom.on_any_shape(x,y, line) then + love.graphics.circle('fill', Drawing.pixels(x)+Margin_left, Drawing.pixels(y)+line.y, 2) + end + end + end + end + local mx,my = Drawing.coord(pmx-Margin_left), Drawing.coord(pmy-line.y) for _,shape in ipairs(line.shapes) do @@ -370,6 +383,10 @@ function Drawing.mouse_released(x,y, button) end function Drawing.keychord_pressed(chord) + if chord == 'C-a' then + Show_nearby = not Show_nearby + return + end if chord == 'C-p' and not App.mouse_down(1) then Current_drawing_mode = 'freehand' elseif App.mouse_down(1) and chord == 'l' then |