add state arg to Drawing.mouse_pressed

[?]
Jul 12, 2022, 11:20 PM
DLQAEAC76KLM3KZXQ2C5DASP4IBS64GR6L7QYEP67CNXJ6LRL7LQC

Dependencies

  • [2] LF7BWEG4 group all editor globals
  • [3] DLQMM265 scroll past first page
  • [4] 5DOTWNVM right margin
  • [5] F63Q4OV7 several bugfixes
  • [6] BJ2C6F2B ignore 'name' mode in a few places
  • [7] UZVWYRTY missing temporary modes in a couple more places
  • [8] 73OCE2MC after much struggle, a brute-force undo
  • [9] C45WCXJ2 keep drawings within the line width slider as well
  • [10] M6TH7VSZ rip out notion of Line_width
  • [11] 2L5MEZV3 experiment: new edit namespace
  • [12] 3GFQP6IR stop saving the entire file when modifying drawings
  • [13] LNUHQOGH start passing in Editor_state explicitly
  • [14] K2X6G75Z start writing some tests for drawings
  • [15] SQLVYKVJ rename
  • [16] HYEAFRZ2 split mouse_pressed events between Text and Drawing
  • [17] LUNH47XX make text and drawings the same width
  • [18] WTDKUACN rectangle and square shapes
  • [*] BLWAYPKV extract a module

Change contents

  • replacement in edit.lua at line 231
    [3.8266][3.8266:8321]()
    Drawing.mouse_pressed(line, x,y, mouse_button)
    [3.8266]
    [3.8321]
    Drawing.mouse_pressed(State, line, x,y, mouse_button)
  • replacement in drawing.lua at line 210
    [3.800][3.800:853](),[3.853][2.128621:129803]()
    function Drawing.mouse_pressed(drawing, x,y, button)
    if Editor_state.current_drawing_mode == 'freehand' then
    drawing.pending = {mode=Editor_state.current_drawing_mode, points={{x=Drawing.coord(x-Editor_state.margin_left), y=Drawing.coord(y-drawing.y)}}}
    elseif Editor_state.current_drawing_mode == 'line' or Editor_state.current_drawing_mode == 'manhattan' then
    local j = Drawing.insert_point(drawing.points, Drawing.coord(x-Editor_state.margin_left), Drawing.coord(y-drawing.y))
    drawing.pending = {mode=Editor_state.current_drawing_mode, p1=j}
    elseif Editor_state.current_drawing_mode == 'polygon' or Editor_state.current_drawing_mode == 'rectangle' or Editor_state.current_drawing_mode == 'square' then
    local j = Drawing.insert_point(drawing.points, Drawing.coord(x-Editor_state.margin_left), Drawing.coord(y-drawing.y))
    drawing.pending = {mode=Editor_state.current_drawing_mode, vertices={j}}
    elseif Editor_state.current_drawing_mode == 'circle' then
    local j = Drawing.insert_point(drawing.points, Drawing.coord(x-Editor_state.margin_left), Drawing.coord(y-drawing.y))
    drawing.pending = {mode=Editor_state.current_drawing_mode, center=j}
    elseif Editor_state.current_drawing_mode == 'move' then
    [3.800]
    [3.11]
    function Drawing.mouse_pressed(State, drawing, x,y, button)
    if State.current_drawing_mode == 'freehand' then
    drawing.pending = {mode=State.current_drawing_mode, points={{x=Drawing.coord(x-State.margin_left), y=Drawing.coord(y-drawing.y)}}}
    elseif State.current_drawing_mode == 'line' or State.current_drawing_mode == 'manhattan' then
    local j = Drawing.insert_point(drawing.points, Drawing.coord(x-State.margin_left), Drawing.coord(y-drawing.y))
    drawing.pending = {mode=State.current_drawing_mode, p1=j}
    elseif State.current_drawing_mode == 'polygon' or State.current_drawing_mode == 'rectangle' or State.current_drawing_mode == 'square' then
    local j = Drawing.insert_point(drawing.points, Drawing.coord(x-State.margin_left), Drawing.coord(y-drawing.y))
    drawing.pending = {mode=State.current_drawing_mode, vertices={j}}
    elseif State.current_drawing_mode == 'circle' then
    local j = Drawing.insert_point(drawing.points, Drawing.coord(x-State.margin_left), Drawing.coord(y-drawing.y))
    drawing.pending = {mode=State.current_drawing_mode, center=j}
    elseif State.current_drawing_mode == 'move' then
  • replacement in drawing.lua at line 224
    [3.54][2.129804:129862]()
    elseif Editor_state.current_drawing_mode == 'name' then
    [3.54]
    [3.11]
    elseif State.current_drawing_mode == 'name' then
  • replacement in drawing.lua at line 227
    [3.4193][2.129863:129908]()
    print(Editor_state.current_drawing_mode)
    [3.4193]
    [3.4225]
    print(State.current_drawing_mode)