4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'mygame/lib/sprite_kit/string_helper.rb', line 4
def self.truncate(text, size_enum: nil, size_px: nil, font: nil, max_width: nil)
if !max_width
return text
end
cur_width, = GTK.calcstringbox(text, size_px: size_px, size_enum: size_enum, font: font)
if cur_width <= max_width
return text
end
(text.length - 1).downto 0 do |i|
truncated = "#{text[0..i]}#{ELLIPSIS}"
cur_width, = GTK.calcstringbox(truncated, size_px: size_px, size_enum: size_enum, font: font)
return truncated if cur_width <= max_width
end
""
end
|