Files
comaps/iphone/Maps/Classes/CarPlay/CarPlayWindowScaleAdjuster.swift
Konstantin Pastbin e3e4a1985a Organic Maps sources as of 02.04.2025 (fad26bbf22ac3da75e01e62aa01e5c8e11861005)
To expand with full Organic Maps and Maps.ME commits history run:
  git remote add om-historic [om-historic.git repo url]
  git fetch --tags om-historic
  git replace squashed-history historic-commits
2025-05-08 21:10:51 +07:00

52 lines
1.3 KiB
Swift

import Foundation
import UIKit
enum CarPlayWindowScaleAdjuster {
static func updateAppearance(
fromWindow sourceWindow: UIWindow,
toWindow destinationWindow: UIWindow,
isCarplayActivated: Bool
) {
let sourceContentScale = sourceWindow.screen.scale;
let destinationContentScale = destinationWindow.screen.scale;
if abs(sourceContentScale - destinationContentScale) > 0.1 {
if isCarplayActivated {
updateVisualScale(to: destinationContentScale)
} else {
updateVisualScaleToMain()
}
}
}
private static func updateVisualScale(to scale: CGFloat) {
if isGraphicContextInitialized {
mapViewController?.mapView.updateVisualScale(to: scale)
} else {
DispatchQueue.main.async {
updateVisualScale(to: scale)
}
}
}
private static func updateVisualScaleToMain() {
if isGraphicContextInitialized {
mapViewController?.mapView.updateVisualScaleToMain()
} else {
DispatchQueue.main.async {
updateVisualScaleToMain()
}
}
}
private static var isGraphicContextInitialized: Bool {
return mapViewController?.mapView.graphicContextInitialized ?? false
}
private static var mapViewController: MapViewController? {
return MapViewController.shared()
}
}