about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--drawing.lua14
-rw-r--r--drawing_tests.lua40
-rw-r--r--text_tests.lua5
3 files changed, 30 insertions, 29 deletions
diff --git a/drawing.lua b/drawing.lua
index 7ebf177..19bdad0 100644
--- a/drawing.lua
+++ b/drawing.lua
@@ -8,13 +8,13 @@ require 'drawing_tests'
 -- into 256 parts.
 function Drawing.draw(line)
   local pmx,pmy = App.mouse_x(), App.mouse_y()
-  if pmx < Margin_left+Line_width and pmy > line.y and pmy < line.y+Drawing.pixels(line.h) then
+  if pmx < Line_width and pmy > line.y and pmy < line.y+Drawing.pixels(line.h) then
     love.graphics.setColor(0.75,0.75,0.75)
-    love.graphics.rectangle('line', Margin_left,line.y, Line_width,Drawing.pixels(line.h))
+    love.graphics.rectangle('line', Margin_left,line.y, Line_width-Margin_left,Drawing.pixels(line.h))
     if icon[Current_drawing_mode] then
-      icon[Current_drawing_mode](Margin_left+Line_width-22, line.y+4)
+      icon[Current_drawing_mode](Line_width-22, line.y+4)
     else
-      icon[Previous_drawing_mode](Margin_left+Line_width-22, line.y+4)
+      icon[Previous_drawing_mode](Line_width-22, line.y+4)
     end
 
     if App.mouse_down(1) and love.keyboard.isDown('h') then
@@ -204,7 +204,7 @@ end
 
 function Drawing.in_drawing(drawing, x,y)
   if drawing.y == nil then return false end  -- outside current page
-  return y >= drawing.y and y < drawing.y + Drawing.pixels(drawing.h) and x >= Margin_left and x < Margin_left+Line_width
+  return y >= drawing.y and y < drawing.y + Drawing.pixels(drawing.h) and x >= Margin_left and x < Line_width
 end
 
 function Drawing.mouse_pressed(drawing, x,y, button)
@@ -685,10 +685,10 @@ function Drawing.near(point, x,y)
 end
 
 function Drawing.pixels(n)  -- parts to pixels
-  return math.floor(n*Line_width/256)
+  return math.floor(n*(Line_width-Margin_left)/256)
 end
 function Drawing.coord(n)  -- pixels to parts
-  return math.floor(n*256/Line_width)
+  return math.floor(n*256/(Line_width-Margin_left))
 end
 
 function table.find(h, x)
diff --git a/drawing_tests.lua b/drawing_tests.lua
index e17b0bd..2625b7d 100644
--- a/drawing_tests.lua
+++ b/drawing_tests.lua
@@ -26,7 +26,7 @@ function test_draw_line()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   check_eq(#Lines, 2, 'F - test_draw_line/baseline/#lines')
@@ -70,7 +70,7 @@ function test_draw_horizontal_line()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'manhattan'
   App.draw()
   check_eq(#Lines, 2, 'F - test_draw_horizontal_line/baseline/#lines')
@@ -98,7 +98,7 @@ function test_draw_circle()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   check_eq(#Lines, 2, 'F - test_draw_circle/baseline/#lines')
@@ -126,7 +126,7 @@ function test_keys_do_not_affect_shape_when_mouse_up()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   -- hover over drawing and press 'o' without holding mouse
@@ -142,7 +142,7 @@ function test_draw_circle_mid_stroke()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   check_eq(#Lines, 2, 'F - test_draw_circle_mid_stroke/baseline/#lines')
@@ -170,7 +170,7 @@ function test_draw_arc()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'circle'
   App.draw()
   check_eq(#Lines, 2, 'F - test_draw_arc/baseline/#lines')
@@ -201,7 +201,7 @@ function test_draw_polygon()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   App.draw()
   check_eq(Current_drawing_mode, 'line', 'F - test_draw_polygon/baseline/drawing_mode')
   check_eq(#Lines, 2, 'F - test_draw_polygon/baseline/#lines')
@@ -239,7 +239,7 @@ function test_draw_rectangle()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   App.draw()
   check_eq(Current_drawing_mode, 'line', 'F - test_draw_rectangle/baseline/drawing_mode')
   check_eq(#Lines, 2, 'F - test_draw_rectangle/baseline/#lines')
@@ -283,7 +283,7 @@ function test_draw_rectangle_intermediate()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   App.draw()
   check_eq(Current_drawing_mode, 'line', 'F - test_draw_rectangle_intermediate/baseline/drawing_mode')
   check_eq(#Lines, 2, 'F - test_draw_rectangle_intermediate/baseline/#lines')
@@ -319,7 +319,7 @@ function test_draw_square()
   -- display a drawing followed by a line of text (you shouldn't ever have a drawing right at the end)
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   App.draw()
   check_eq(Current_drawing_mode, 'line', 'F - test_draw_square/baseline/drawing_mode')
   check_eq(#Lines, 2, 'F - test_draw_square/baseline/#lines')
@@ -363,7 +363,7 @@ function test_name_point()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   -- draw a line
@@ -406,7 +406,7 @@ function test_move_point()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   App.run_after_mouse_press(Margin_left+5, Margin_top+Drawing_padding_top+6, 1)
@@ -463,7 +463,7 @@ function test_move_point_on_manhattan_line()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'manhattan'
   App.draw()
   App.run_after_mouse_press(Margin_left+5, Margin_top+Drawing_padding_top+6, 1)
@@ -489,7 +489,7 @@ function test_delete_lines_at_point()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   App.run_after_mouse_press(Margin_left+5, Margin_top+Drawing_padding_top+6, 1)
@@ -518,7 +518,7 @@ function test_delete_line_under_mouse_pointer()
   -- create a drawing with two lines connected at a point
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   App.run_after_mouse_press(Margin_left+5, Margin_top+Drawing_padding_top+6, 1)
@@ -542,7 +542,7 @@ function test_delete_point_from_polygon()
   -- create a drawing with two lines connected at a point
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   -- first point
@@ -573,7 +573,7 @@ function test_delete_point_from_polygon()
   -- create a drawing with two lines connected at a point
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   -- first point
@@ -601,7 +601,7 @@ function test_undo_name_point()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   -- draw a line
@@ -647,7 +647,7 @@ function test_undo_move_point()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   App.run_after_mouse_press(Margin_left+5, Margin_top+Drawing_padding_top+6, 1)
@@ -697,7 +697,7 @@ function test_undo_delete_point()
   Filename = 'foo'
   App.screen.init{width=Margin_left+300, height=300}
   Lines = load_array{'```lines', '```', ''}
-  Line_width = 256  -- drawing coordinates 1:1 with pixels
+  Line_width = Margin_left+256  -- drawing coordinates 1:1 with pixels
   Current_drawing_mode = 'line'
   App.draw()
   App.run_after_mouse_press(Margin_left+5, Margin_top+Drawing_padding_top+6, 1)
diff --git a/text_tests.lua b/text_tests.lua
index 0119223..dc5c0ff 100644
--- a/text_tests.lua
+++ b/text_tests.lua
@@ -530,7 +530,8 @@ end
 function test_pagedown_skips_drawings()
   io.write('\ntest_pagedown_skips_drawings')
   -- some lines of text with a drawing intermixed
-  App.screen.init{width=50, height=80}
+  local drawing_width = 50
+  App.screen.init{width=Margin_left+drawing_width, height=80}
   Lines = load_array{'abc',               -- height 15
                      '```lines', '```',   -- height 25
                      'def',               -- height 15
@@ -540,7 +541,7 @@ function test_pagedown_skips_drawings()
   Cursor1 = {line=1, pos=1}
   Screen_top1 = {line=1, pos=1}
   Screen_bottom1 = {}
-  local drawing_height = Drawing_padding_height + App.screen.width / 2  -- default
+  local drawing_height = Drawing_padding_height + drawing_width/2  -- default
   -- initially the screen displays the first line and the drawing
   -- 15px margin + 15px line1 + 10px margin + 25px drawing + 10px margin = 75px < screen height 80px
   App.draw()