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
|
# File 'lib/minder/cli/scene.rb', line 50
def resize_frames
frames.map(&:resize)
first_frame = frames.first
first_frame.move(0, 0)
next_height = first_frame.height
other_frames = (frames.reject(&:hidden?) - [main_frame]).compact
if main_frame
other_height = other_frames.reduce(0) do |num, frame|
num += frame.height
num
end
available_height = Curses.lines - other_height
if available_height > main_frame.desired_height
main_frame.height = main_frame.desired_height
else
main_frame.height = available_height
end
main_frame.move(next_height, 0)
next_height += main_frame.height
end
(other_frames - [first_frame]).each do |frame|
frame.move(next_height, 0)
next_height += frame.height
end
end
|