about summary refs log tree commit diff stats
path: root/linux/raytracing/vimrc.vim
Commit message (Expand)AuthorAgeFilesLines
* 7842 - new directory organizationKartik K. Agaram2021-03-031-0/+2
love/commit/help.lua?id=3850fbac35bb5679ed58753491db4a4cd2267a73'>3850fba ^
69c88da ^
3b36093 ^
674d571 ^
3b36093 ^
674d571 ^
3b36093 ^
674d571 ^
95d88a8 ^
674d571 ^
3b36093 ^
674d571 ^
3b36093 ^
674d571 ^

3b36093 ^
674d571 ^


3b36093 ^
674d571 ^


3b36093 ^
674d571 ^


3b36093 ^
674d571 ^


3b36093 ^
674d571 ^


3b36093 ^
674d571 ^


3b36093 ^
674d571 ^

3b36093 ^
674d571 ^
3b36093 ^
674d571 ^
3850fba ^
69c88da ^
de495ae ^

b7a67ab ^

69c88da ^
3850fba ^
69c88da ^
3b36093 ^
674d571 ^
3b36093 ^
674d571 ^

3b36093 ^
674d571 ^

3b36093 ^
674d571 ^

de495ae ^
3b36093 ^
674d571 ^
3b36093 ^
de495ae ^
3b36093 ^
de495ae ^
674d571 ^

3b36093 ^
674d571 ^
3b36093 ^
674d571 ^

8d4d00d ^
3b36093 ^
674d571 ^
8d4d00d ^
3b36093 ^
674d571 ^
3b36093 ^
674d571 ^
8d4d00d ^
674d571 ^
8d4d00d ^
3b36093 ^
674d571 ^
8d4d00d ^
3b36093 ^
674d571 ^
3b36093 ^
674d571 ^
8d4d00d ^
9bbfc2b ^
3b36093 ^
674d571 ^


3b36093 ^
674d571 ^
de495ae ^
674d571 ^
3b36093 ^
674d571 ^
de495ae ^
674d571 ^
3b36093 ^
674d571 ^
de495ae ^
674d571 ^
3b36093 ^
674d571 ^
de495ae ^
674d571 ^
3b36093 ^
674d571 ^
e27165c ^
674d571 ^
3b36093 ^
674d571 ^
e27165c ^
3850fba ^
69c88da ^
de495ae ^

674d571 ^

de495ae ^
674d571 ^
de495ae ^
674d571 ^
de495ae ^
674d571 ^
de495ae ^

674d571 ^
de495ae ^

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147

                                                              
                                                  
                       
                     
                                                            
                           
                                                                                                            
                           
                                                                                                                  
                           
                                                                                                          
                           
                                                                                                                
                           
                                                                                                     

                                                  
                                                                                                  


                                              
                                                                                       


                                                   
                                                                                                           


                                                
                                                                                              


                                                 
                                                                                          


                                                   
                                                                                            


                                                
                                                                                         

                             
                                                                                                              
                           
                                                                              
                           
                                  
                                                                                                                            

   

                                                           
                                                  
                       
                     
                                                                                                            
                           
                                                                

                                                  
                                                                                                   

                                                                                               
                                                                                                 

                                                    
                                            
                                                                                                     
                               
                                                                                         
        
                                                                                                  
       

                                                     
                                                                                                    
                             
                                                                                      

                                                       
                                         
                                                                                          
                               
        
                                                                                                        
                               
                                                                                                       
                               
       
                                                    
                                         
                                                                                       
                               
        
                                                                                                     
                               
                                                                                                    
                               
       
     
                                                                                                                 


                                              
                                                                                  
                             
     
                                                   
                                                                                                      
                             
     
                                                
                                                                                         
                             
     
                                                 
                                                                                     
                             
     
                                                   
                                                                                       
                             
     
                                                
                                                                                    
                             
     
                                  
                                                                                                                            

   

                                                  
                            
                                                  
                          
                                                       
                                     
                                                                                    

                
                                     

     
function draw_help_without_mouse_pressed(State, drawing_index)
  local drawing = State.lines[drawing_index]
  local starty = Text.starty(State, drawing_index)
  App.color(Help_color)
  local y = starty+10
  love.graphics.print("Things you can do:", State.left+30,y)
  y = y + State.line_height
  love.graphics.print("* Press the mouse button to start drawing a "..current_shape(State), State.left+30,y)
  y = y + State.line_height
  love.graphics.print("* Hover on a point and press 'ctrl+u' to pick it up and start moving it,", State.left+30,y)
  y = y + State.line_height
  love.graphics.print("then press the mouse button to drop it", State.left+30+State.font:getWidth('* '),y)
  y = y + State.line_height
  love.graphics.print("* Hover on a point and press 'ctrl+n', type a name, then press 'enter'", State.left+30,y)
  y = y + State.line_height
  love.graphics.print("* Hover on a point or shape and press 'ctrl+d' to delete it", State.left+30,y)
  y = y + State.line_height
  if State.current_drawing_mode ~= 'freehand' then
    love.graphics.print("* Press 'ctrl+p' to switch to drawing freehand strokes", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'line' then
    love.graphics.print("* Press 'ctrl+l' to switch to drawing lines", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'manhattan' then
    love.graphics.print("* Press 'ctrl+m' to switch to drawing horizontal/vertical lines", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'circle' then
    love.graphics.print("* Press 'ctrl+o' to switch to drawing circles/arcs", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'polygon' then
    love.graphics.print("* Press 'ctrl+g' to switch to drawing polygons", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'rectangle' then
    love.graphics.print("* Press 'ctrl+r' to switch to drawing rectangles", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'square' then
    love.graphics.print("* Press 'ctrl+s' to switch to drawing squares", State.left+30,y)
    y = y + State.line_height
  end
  love.graphics.print("* Press 'ctrl+=' or 'ctrl+-' to zoom in or out, ctrl+0 to reset zoom", State.left+30,y)
  y = y + State.line_height
  love.graphics.print("Press 'esc' now to hide this message", State.left+30,y)
  y = y + State.line_height
  App.color(Help_background_color)
  love.graphics.rectangle('fill', State.left,starty, State.width, math.max(Drawing.pixels(drawing.h, State.width),y-starty))
end

function draw_help_with_mouse_pressed(State, drawing_index)
  local drawing = State.lines[drawing_index]
  local starty = Text.starty(State, drawing_index)
  App.color(Help_color)
  local y = starty+10
  love.graphics.print("You're currently drawing a "..current_shape(State, drawing.pending), State.left+30,y)
  y = y + State.line_height
  love.graphics.print('Things you can do now:', State.left+30,y)
  y = y + State.line_height
  if State.current_drawing_mode == 'freehand' then
    love.graphics.print('* Release the mouse button to finish drawing the stroke', State.left+30,y)
    y = y + State.line_height
  elseif State.current_drawing_mode == 'line' or State.current_drawing_mode == 'manhattan' then
    love.graphics.print('* Release the mouse button to finish drawing the line', State.left+30,y)
    y = y + State.line_height
  elseif State.current_drawing_mode == 'circle' then
    if drawing.pending.mode == 'circle' then
      love.graphics.print('* Release the mouse button to finish drawing the circle', State.left+30,y)
      y = y + State.line_height
      love.graphics.print("* Press 'a' to draw just an arc of a circle", State.left+30,y)
    else
      love.graphics.print('* Release the mouse button to finish drawing the arc', State.left+30,y)
    end
    y = y + State.line_height
  elseif State.current_drawing_mode == 'polygon' then
    love.graphics.print('* Release the mouse button to finish drawing the polygon', State.left+30,y)
    y = y + State.line_height
    love.graphics.print("* Press 'p' to add a vertex to the polygon", State.left+30,y)
    y = y + State.line_height
  elseif State.current_drawing_mode == 'rectangle' then
    if #drawing.pending.vertices < 2 then
      love.graphics.print("* Press 'p' to add a vertex to the rectangle", State.left+30,y)
      y = y + State.line_height
    else
      love.graphics.print('* Release the mouse button to finish drawing the rectangle', State.left+30,y)
      y = y + State.line_height
      love.graphics.print("* Press 'p' to replace the second vertex of the rectangle", State.left+30,y)
      y = y + State.line_height
    end
  elseif State.current_drawing_mode == 'square' then
    if #drawing.pending.vertices < 2 then
      love.graphics.print("* Press 'p' to add a vertex to the square", State.left+30,y)
      y = y + State.line_height
    else
      love.graphics.print('* Release the mouse button to finish drawing the square', State.left+30,y)
      y = y + State.line_height
      love.graphics.print("* Press 'p' to replace the second vertex of the square", State.left+30,y)
      y = y + State.line_height
    end
  end
  love.graphics.print("* Press 'esc' then release the mouse button to cancel the current shape", State.left+30,y)
  y = y + State.line_height
  y = y + State.line_height
  if State.current_drawing_mode ~= 'line' then
    love.graphics.print("* Press 'l' to switch to drawing lines", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'manhattan' then
    love.graphics.print("* Press 'm' to switch to drawing horizontal/vertical lines", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'circle' then
    love.graphics.print("* Press 'o' to switch to drawing circles/arcs", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'polygon' then
    love.graphics.print("* Press 'g' to switch to drawing polygons", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'rectangle' then
    love.graphics.print("* Press 'r' to switch to drawing rectangles", State.left+30,y)
    y = y + State.line_height
  end
  if State.current_drawing_mode ~= 'square' then
    love.graphics.print("* Press 's' to switch to drawing squares", State.left+30,y)
    y = y + State.line_height
  end
  App.color(Help_background_color)
  love.graphics.rectangle('fill', State.left,starty, State.width, math.max(Drawing.pixels(drawing.h, State.width),y-starty))
end

function current_shape(State, shape)
  if State.current_drawing_mode == 'freehand' then
    return 'freehand stroke'
  elseif State.current_drawing_mode == 'line' then
    return 'straight line'
  elseif State.current_drawing_mode == 'manhattan' then
    return 'horizontal/vertical line'
  elseif State.current_drawing_mode == 'circle' and shape and shape.start_angle then
    return 'arc'
  else
    return State.current_drawing_mode
  end
end