components_ui_timegrid_JRTimeGrid.bs

import "pkg:/source/utils/misc.bs"

sub init()
  constants = m.global.constants

  m.top.automaticLoadingDataFeedback = false
  m.top.showLoadingDataFeedback = true
  m.top.showPastTimeScreen = true
  m.top.focusBitmapUri = "pkg:/images/white-focus.9.png"
  m.top.focusBitmapBlendColor = constants.colorPrimary
  m.top.iconFocusedColor = "#ff0000"

  m.top.pastTimeScreenBlendColor = constants.colorTextDisabled
  m.top.currentTimeIndicatorColor = constants.colorPrimary

  m.top.nowBarWidth = 12
  m.top.timeLabelColor = constants.colorTextSecondary
  m.top.nowBarBlendColor = constants.colorSecondary
  m.top.channelInfoTextColor = constants.colorTextSecondary
  m.top.programTitleColor = constants.colorTextPrimary
  m.top.programTitleFocusedColor = constants.colorTextPrimary

  ' disable gradient overlay
  overlayPoster = m.top.getChild(2)
  if isValid(overlayPoster) then overlayPoster.visible = false

  if m.global.user.settings.uiFontFallback = true
    applyFallbackFont(m.top.timeLabelFont)
    applyFallbackFont(m.top.programTitleFont)
    applyFallbackFont(m.top.channelInfoFont)
  end if
end sub

sub applyFallbackFont(fontNode as object)
  if not isValid(fontNode) then return

  fontNode.uri = "tmp:/font"
  currentSize = fontNode.size

  ' Apply the global scale factor
  fontScaleFactor = m.global.user.fontScaleFactor
  if isValid(fontScaleFactor) and fontScaleFactor > 0
    scaledSize = currentSize * fontScaleFactor
    fontNode.size = scaledSize
  else
    print "ERROR - JRTimeGrid applyFallbackFont: Invalid font scale factor"
    return
  end if
end sub