osc: box: clip with ellipsis after too much stretching

This commit is contained in:
Ricardo Constantino 2017-01-26 23:03:16 +00:00
parent ee000f2133
commit 9831d3ada6
No known key found for this signature in database
GPG Key ID: EFD16019AE4FF531
1 changed files with 9 additions and 2 deletions

View File

@ -658,8 +658,15 @@ function render_elements(master_ass)
end
local maxchars = element.layout.button.maxchars
if not (maxchars == nil) and (#buttontext > maxchars) then
if (#buttontext > maxchars+20) then
while (#buttontext > maxchars+20) do
buttontext = buttontext:gsub(".[\128-\191]*$", "")
end
buttontext = buttontext .. "..."
end
local _, nchars2 = buttontext:gsub(".[\128-\191]*", "")
local stretch = (maxchars/#buttontext)*100
buttontext = string.format("{\\fscx%f}",
(maxchars/#buttontext)*100) .. buttontext
end
@ -944,7 +951,7 @@ layouts["box"] = function ()
lo = add_layout("title")
lo.geometry = {x = posX, y = titlerowY, an = 8, w = 496, h = 12}
lo.style = osc_styles.vidtitle
lo.button.maxchars = 90
lo.button.maxchars = 80
lo = add_layout("pl_prev")
lo.geometry =