124 lines
3.9 KiB
Swift
124 lines
3.9 KiB
Swift
|
|
enum MapStyleSheet: String, CaseIterable {
|
||
|
|
case mapMenuButtonDisabled = "MenuButtonDisabled"
|
||
|
|
case mapMenuButtonEnabled = "MenuButtonEnabled"
|
||
|
|
case mapStreetNameBackgroundView = "StreetNameBackgroundView"
|
||
|
|
case mapButtonZoomIn = "ButtonZoomIn"
|
||
|
|
case mapButtonZoomOut = "ButtonZoomOut"
|
||
|
|
case mapButtonPending = "ButtonPending"
|
||
|
|
case mapButtonGetPosition = "ButtonGetPosition"
|
||
|
|
case mapButtonFollow = "ButtonFollow"
|
||
|
|
case mapButtonFollowAndRotate = "ButtonFollowAndRotate"
|
||
|
|
case mapButtonMapBookmarks = "ButtonMapBookmarks"
|
||
|
|
case mapPromoDiscoveryButton = "PromoDiscroveryButton"
|
||
|
|
case mapButtonBookmarksBack = "ButtonBookmarksBack"
|
||
|
|
case mapButtonBookmarksBackOpaque = "ButtonBookmarksBackOpaque"
|
||
|
|
case mapFirstTurnView = "FirstTurnView"
|
||
|
|
case mapSecondTurnView = "SecondTurnView"
|
||
|
|
case mapAutoupdateView = "MapAutoupdateView"
|
||
|
|
case mapGuidesNavigationBar = "GuidesNavigationBar"
|
||
|
|
}
|
||
|
|
|
||
|
|
extension MapStyleSheet: IStyleSheet {
|
||
|
|
func styleResolverFor(colors: IColors, fonts: IFonts) -> Theme.StyleResolver {
|
||
|
|
switch self {
|
||
|
|
case .mapMenuButtonDisabled:
|
||
|
|
return .add { s in
|
||
|
|
s.fontColor = colors.blackSecondaryText
|
||
|
|
s.font = fonts.regular10
|
||
|
|
s.backgroundColor = colors.clear
|
||
|
|
s.borderColor = colors.clear
|
||
|
|
s.borderWidth = 0
|
||
|
|
s.cornerRadius = .buttonDefaultSmall
|
||
|
|
}
|
||
|
|
case .mapMenuButtonEnabled:
|
||
|
|
return .add { s in
|
||
|
|
s.fontColor = colors.linkBlue
|
||
|
|
s.font = fonts.regular10
|
||
|
|
s.backgroundColor = colors.linkBlue
|
||
|
|
s.borderColor = colors.linkBlue
|
||
|
|
s.borderWidth = 2
|
||
|
|
s.cornerRadius = .buttonDefaultSmall
|
||
|
|
}
|
||
|
|
case .mapStreetNameBackgroundView:
|
||
|
|
return .add { s in
|
||
|
|
s.backgroundColor = colors.white
|
||
|
|
s.shadowRadius = 2
|
||
|
|
s.shadowColor = UIColor(0, 0, 0, alpha26)
|
||
|
|
s.shadowOpacity = 1
|
||
|
|
s.shadowOffset = CGSize(width: 0, height: 1)
|
||
|
|
}
|
||
|
|
case .mapButtonZoomIn:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_zoom_in"
|
||
|
|
}
|
||
|
|
case .mapButtonZoomOut:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_zoom_out"
|
||
|
|
}
|
||
|
|
case .mapButtonPending:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_pending"
|
||
|
|
}
|
||
|
|
case .mapButtonGetPosition:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_get_position"
|
||
|
|
}
|
||
|
|
case .mapButtonFollow:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_follow"
|
||
|
|
}
|
||
|
|
case .mapButtonFollowAndRotate:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_follow_and_rotate"
|
||
|
|
}
|
||
|
|
case .mapButtonMapBookmarks:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "ic_routing_bookmark"
|
||
|
|
}
|
||
|
|
case .mapPromoDiscoveryButton:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "promo_discovery_button"
|
||
|
|
}
|
||
|
|
case .mapButtonBookmarksBack:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_back"
|
||
|
|
}
|
||
|
|
case .mapButtonBookmarksBackOpaque:
|
||
|
|
return .add { s in
|
||
|
|
s.mwmImage = "btn_back_opaque"
|
||
|
|
}
|
||
|
|
case .mapFirstTurnView:
|
||
|
|
return .add { s in
|
||
|
|
s.backgroundColor = colors.linkBlue
|
||
|
|
s.cornerRadius = .buttonSmall
|
||
|
|
s.shadowRadius = 2
|
||
|
|
s.shadowColor = colors.shadow
|
||
|
|
s.shadowOpacity = 0.2
|
||
|
|
s.shadowOffset = CGSize(width: 0, height: 2)
|
||
|
|
}
|
||
|
|
case .mapSecondTurnView:
|
||
|
|
return .addFrom(Self.mapFirstTurnView) { s in
|
||
|
|
s.backgroundColor = colors.white
|
||
|
|
s.shadowColor = colors.blackPrimaryText
|
||
|
|
}
|
||
|
|
case .mapAutoupdateView:
|
||
|
|
return .add { s in
|
||
|
|
s.shadowOffset = CGSize(width: 0, height: 3)
|
||
|
|
s.shadowRadius = 6
|
||
|
|
s.cornerRadius = .buttonSmall
|
||
|
|
s.shadowOpacity = 1
|
||
|
|
s.backgroundColor = colors.white
|
||
|
|
}
|
||
|
|
case .mapGuidesNavigationBar:
|
||
|
|
return .add { s in
|
||
|
|
s.barTintColor = colors.white
|
||
|
|
s.tintColor = colors.linkBlue
|
||
|
|
s.backgroundImage = UIImage()
|
||
|
|
s.shadowImage = UIImage()
|
||
|
|
s.font = fonts.regular18
|
||
|
|
s.fontColor = colors.blackPrimaryText
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|