Rende usabili calendario, overlay ospite e stato diretta del cartellone.
Il calendario non deve più scorrere in orizzontale, il logo a destra non copre il nome e una diretta YouTube o in collegamento compare come In diretta. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -67,32 +67,37 @@ struct CompactScoreboardElement: OverlayElement {
|
||||
let accent = isHome ? compact.homeAccentColor : compact.awayAccentColor
|
||||
let logoUrl = isHome ? compact.homeLogoUrl : compact.awayLogoUrl
|
||||
let logo = OverlayLogoCache.get(logoUrl)
|
||||
let rawName = isHome ? compact.homeTeamName : compact.awayTeamName
|
||||
let name = ellipsize(rawName.trimmingCharacters(in: .whitespacesAndNewlines), font: labelFont, maxWidth: maxWidth * 0.55)
|
||||
let rawName = (isHome ? compact.homeTeamName : compact.awayTeamName)
|
||||
.trimmingCharacters(in: .whitespacesAndNewlines)
|
||||
let attrs: [NSAttributedString.Key: Any] = [.font: labelFont, .foregroundColor: UIColor.white]
|
||||
let textY = centerY + labelFont.pointSize * 0.35 - labelFont.lineHeight
|
||||
let barHalfH = CGFloat(logoSize) * 0.45
|
||||
|
||||
if isHome {
|
||||
var x = rectLeft
|
||||
context.setFillColor(accent.cgColor)
|
||||
context.fill(CGRect(x: x, y: centerY - CGFloat(logoSize) * 0.45, width: CGFloat(barW), height: CGFloat(logoSize) * 0.9))
|
||||
context.fill(CGRect(x: x, y: centerY - barHalfH, width: CGFloat(barW), height: CGFloat(logoSize) * 0.9))
|
||||
x += CGFloat(barW + gap)
|
||||
if let logo, let cg = logo.cgImage {
|
||||
context.draw(cg, in: CGRect(x: x, y: centerY - CGFloat(logoSize) / 2, width: CGFloat(logoSize), height: CGFloat(logoSize)))
|
||||
x += CGFloat(logoSize + gap)
|
||||
}
|
||||
(name as NSString).draw(at: CGPoint(x: x, y: centerY + labelFont.pointSize * 0.35 - labelFont.lineHeight), withAttributes: attrs)
|
||||
let name = ellipsize(rawName, font: labelFont, maxWidth: min(rectRight - x, maxWidth))
|
||||
(name as NSString).draw(at: CGPoint(x: x, y: textY), withAttributes: attrs)
|
||||
} else {
|
||||
// Specchio del lato casa: barra, logo, poi nome a sinistra del logo.
|
||||
var x = rectRight
|
||||
context.setFillColor(accent.cgColor)
|
||||
context.fill(CGRect(x: x - CGFloat(barW), y: centerY - CGFloat(logoSize) * 0.45, width: CGFloat(barW), height: CGFloat(logoSize) * 0.9))
|
||||
context.fill(CGRect(x: x - CGFloat(barW), y: centerY - barHalfH, width: CGFloat(barW), height: CGFloat(logoSize) * 0.9))
|
||||
x -= CGFloat(barW + gap)
|
||||
let nameSize = (name as NSString).size(withAttributes: attrs)
|
||||
(name as NSString).draw(at: CGPoint(x: x - nameSize.width, y: centerY + labelFont.pointSize * 0.35 - labelFont.lineHeight), withAttributes: attrs)
|
||||
x -= CGFloat(gap)
|
||||
if let logo, let cg = logo.cgImage {
|
||||
x -= CGFloat(logoSize)
|
||||
context.draw(cg, in: CGRect(x: x, y: centerY - CGFloat(logoSize) / 2, width: CGFloat(logoSize), height: CGFloat(logoSize)))
|
||||
x -= CGFloat(gap)
|
||||
}
|
||||
let name = ellipsize(rawName, font: labelFont, maxWidth: min(x - rectLeft, maxWidth))
|
||||
let nameSize = (name as NSString).size(withAttributes: attrs)
|
||||
(name as NSString).draw(at: CGPoint(x: x - nameSize.width, y: textY), withAttributes: attrs)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user