Method: Rectangle#draw_framed_rectangle

Defined in:
lib/curses/geometry/rectangle.rb

#draw_framed_rectangle(x1, y1, x2, y2) ⇒ Object



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/curses/geometry/rectangle.rb', line 22

def draw_framed_rectangle(x1, y1, x2, y2)

  # Stroke the frame :
  draw_horizontal_line(x1, x2, y1)
  draw_horizontal_line(x1, x2, y2)
  draw_vertical_line(x1, y1, y2)
  draw_vertical_line(x2, y1, y2)
  
  # Fill the frame :
  min_x, max_x  = x1 < x2 ? [x1,x2] : [x2,x1]
  min_y, max_y  = y1 < y2 ? [y1,y2] : [y2,y1]

  setpos(min_x + 1, min_y + 1)   
  (min_y + 1).upto(max_y - 1) do |y|
    setpos(y, min_x + 1)
    (min_x + 1).upto(max_x + 1) do |x|
      addch(get_fill_glyph)
    end
  end

end