Files
iOS/Sources/Shared/Iconic/IconDrawable+Settings.swift
Bruno Pantaleão Gonçalves e9c85b3f7a Drop iOS 12, 13 and 14 support (#2469)
<!-- Thank you for submitting a Pull Request and helping to improve Home
Assistant. Please complete the following sections to help the processing
and review of your changes. Please do not delete anything from this
template. -->

## Summary
<!-- Provide a brief summary of the changes you have made and most
importantly what they aim to achieve -->
Drop support for iOS 12 and 13.

## Screenshots
<!-- If this is a user-facing change not in the frontend, please include
screenshots in light and dark mode. -->

## Link to pull request in Documentation repository
<!-- Pull requests that add, change or remove functionality must have a
corresponding pull request in the Companion App Documentation repository
(https://github.com/home-assistant/companion.home-assistant). Please add
the number of this pull request after the "#" -->
Documentation: home-assistant/companion.home-assistant#

## Any other notes
<!-- If there is any other information of note, like if this Pull
Request is part of a bigger change, please include it here. -->
2023-12-27 16:50:11 +01:00

23 lines
814 B
Swift

#if os(iOS)
public extension IconDrawable {
static var settingsIconSize: CGSize { .init(width: 24, height: 24) }
func settingsIcon(for traitCollection: UITraitCollection) -> UIImage {
let edgeInsets: UIEdgeInsets
if traitCollection.userInterfaceIdiom == .mac {
edgeInsets = UIEdgeInsets(top: 2, left: 2, bottom: 2, right: 2)
} else {
edgeInsets = .zero
}
// note: not using the IconDrawable insets as they don't exactly do this
let size = Self.settingsIconSize
return UIGraphicsImageRenderer(size: size).image { _ in
let rect = CGRect(origin: .zero, size: size).inset(by: edgeInsets)
image(ofSize: rect.size, color: .black).draw(in: rect)
}.withRenderingMode(.alwaysTemplate)
}
}
#endif