use core::ffi::*;
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
#[cfg(feature = "objc2-core-foundation")]
use objc2_core_foundation::*;
#[cfg(feature = "objc2-core-location")]
use objc2_core_location::*;
use objc2_foundation::*;
use crate::*;
#[cfg(feature = "objc2-core-location")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct MKCoordinateSpan {
pub latitudeDelta: CLLocationDegrees,
pub longitudeDelta: CLLocationDegrees,
}
#[cfg(feature = "objc2-core-location")]
unsafe impl Encode for MKCoordinateSpan {
const ENCODING: Encoding = Encoding::Struct(
"?",
&[<CLLocationDegrees>::ENCODING, <CLLocationDegrees>::ENCODING],
);
}
#[cfg(feature = "objc2-core-location")]
unsafe impl RefEncode for MKCoordinateSpan {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-location")]
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct MKCoordinateRegion {
pub center: CLLocationCoordinate2D,
pub span: MKCoordinateSpan,
}
#[cfg(feature = "objc2-core-location")]
unsafe impl Encode for MKCoordinateRegion {
const ENCODING: Encoding = Encoding::Struct(
"?",
&[
<CLLocationCoordinate2D>::ENCODING,
<MKCoordinateSpan>::ENCODING,
],
);
}
#[cfg(feature = "objc2-core-location")]
unsafe impl RefEncode for MKCoordinateRegion {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-location")]
impl MKCoordinateSpan {
}
#[cfg(feature = "objc2-core-location")]
impl MKCoordinateRegion {
#[doc(alias = "MKCoordinateRegionMakeWithDistance")]
#[cfg(feature = "objc2-core-location")]
#[inline]
pub unsafe fn with_distance(
center_coordinate: CLLocationCoordinate2D,
latitudinal_meters: CLLocationDistance,
longitudinal_meters: CLLocationDistance,
) -> MKCoordinateRegion {
extern "C-unwind" {
fn MKCoordinateRegionMakeWithDistance(
center_coordinate: CLLocationCoordinate2D,
latitudinal_meters: CLLocationDistance,
longitudinal_meters: CLLocationDistance,
) -> MKCoordinateRegion;
}
unsafe {
MKCoordinateRegionMakeWithDistance(
center_coordinate,
latitudinal_meters,
longitudinal_meters,
)
}
}
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct MKMapPoint {
pub x: c_double,
pub y: c_double,
}
unsafe impl Encode for MKMapPoint {
const ENCODING: Encoding = Encoding::Struct("?", &[<c_double>::ENCODING, <c_double>::ENCODING]);
}
unsafe impl RefEncode for MKMapPoint {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct MKMapSize {
pub width: c_double,
pub height: c_double,
}
unsafe impl Encode for MKMapSize {
const ENCODING: Encoding = Encoding::Struct("?", &[<c_double>::ENCODING, <c_double>::ENCODING]);
}
unsafe impl RefEncode for MKMapSize {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[repr(C)]
#[derive(Clone, Copy, Debug, PartialEq)]
pub struct MKMapRect {
pub origin: MKMapPoint,
pub size: MKMapSize,
}
unsafe impl Encode for MKMapRect {
const ENCODING: Encoding =
Encoding::Struct("?", &[<MKMapPoint>::ENCODING, <MKMapSize>::ENCODING]);
}
unsafe impl RefEncode for MKMapRect {
const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
}
#[cfg(feature = "objc2-core-foundation")]
pub type MKZoomScale = CGFloat;
extern "C" {
pub static MKMapSizeWorld: MKMapSize;
}
extern "C" {
pub static MKMapRectWorld: MKMapRect;
}
impl MKMapPoint {
#[doc(alias = "MKMapPointForCoordinate")]
#[cfg(feature = "objc2-core-location")]
#[inline]
pub unsafe fn for_coordinate(coordinate: CLLocationCoordinate2D) -> MKMapPoint {
extern "C-unwind" {
fn MKMapPointForCoordinate(coordinate: CLLocationCoordinate2D) -> MKMapPoint;
}
unsafe { MKMapPointForCoordinate(coordinate) }
}
}
extern "C-unwind" {
#[cfg(feature = "objc2-core-location")]
pub fn MKCoordinateForMapPoint(map_point: MKMapPoint) -> CLLocationCoordinate2D;
}
extern "C-unwind" {
#[cfg(feature = "objc2-core-location")]
pub fn MKMetersPerMapPointAtLatitude(latitude: CLLocationDegrees) -> CLLocationDistance;
}
extern "C-unwind" {
#[cfg(feature = "objc2-core-location")]
pub fn MKMapPointsPerMeterAtLatitude(latitude: CLLocationDegrees) -> c_double;
}
extern "C-unwind" {
#[cfg(feature = "objc2-core-location")]
pub fn MKMetersBetweenMapPoints(a: MKMapPoint, b: MKMapPoint) -> CLLocationDistance;
}
extern "C" {
pub static MKMapRectNull: MKMapRect;
}
impl MKMapPoint {
}
impl MKMapSize {
}
impl MKMapRect {
}
impl MKMapPoint {
}
impl MKMapSize {
}
impl MKMapRect {
}
impl MKMapRect {
#[doc(alias = "MKMapRectUnion")]
#[inline]
pub unsafe fn union(self, rect2: MKMapRect) -> MKMapRect {
extern "C-unwind" {
fn MKMapRectUnion(rect1: MKMapRect, rect2: MKMapRect) -> MKMapRect;
}
unsafe { MKMapRectUnion(self, rect2) }
}
#[doc(alias = "MKMapRectIntersection")]
#[inline]
pub unsafe fn intersection(self, rect2: MKMapRect) -> MKMapRect {
extern "C-unwind" {
fn MKMapRectIntersection(rect1: MKMapRect, rect2: MKMapRect) -> MKMapRect;
}
unsafe { MKMapRectIntersection(self, rect2) }
}
#[doc(alias = "MKMapRectInset")]
#[inline]
pub unsafe fn inset(self, dx: c_double, dy: c_double) -> MKMapRect {
extern "C-unwind" {
fn MKMapRectInset(rect: MKMapRect, dx: c_double, dy: c_double) -> MKMapRect;
}
unsafe { MKMapRectInset(self, dx, dy) }
}
#[doc(alias = "MKMapRectOffset")]
#[inline]
pub unsafe fn offset(self, dx: c_double, dy: c_double) -> MKMapRect {
extern "C-unwind" {
fn MKMapRectOffset(rect: MKMapRect, dx: c_double, dy: c_double) -> MKMapRect;
}
unsafe { MKMapRectOffset(self, dx, dy) }
}
#[doc(alias = "MKMapRectDivide")]
#[cfg(feature = "objc2-core-foundation")]
#[inline]
pub unsafe fn divide(
self,
slice: NonNull<MKMapRect>,
remainder: NonNull<MKMapRect>,
amount: c_double,
edge: CGRectEdge,
) {
extern "C-unwind" {
fn MKMapRectDivide(
rect: MKMapRect,
slice: NonNull<MKMapRect>,
remainder: NonNull<MKMapRect>,
amount: c_double,
edge: CGRectEdge,
);
}
unsafe { MKMapRectDivide(self, slice, remainder, amount, edge) }
}
#[doc(alias = "MKMapRectContainsPoint")]
#[inline]
pub unsafe fn contains_point(self, point: MKMapPoint) -> bool {
extern "C-unwind" {
fn MKMapRectContainsPoint(rect: MKMapRect, point: MKMapPoint) -> Bool;
}
unsafe { MKMapRectContainsPoint(self, point) }.as_bool()
}
#[doc(alias = "MKMapRectContainsRect")]
#[inline]
pub unsafe fn contains_rect(self, rect2: MKMapRect) -> bool {
extern "C-unwind" {
fn MKMapRectContainsRect(rect1: MKMapRect, rect2: MKMapRect) -> Bool;
}
unsafe { MKMapRectContainsRect(self, rect2) }.as_bool()
}
#[doc(alias = "MKMapRectIntersectsRect")]
#[inline]
pub unsafe fn intersects_rect(self, rect2: MKMapRect) -> bool {
extern "C-unwind" {
fn MKMapRectIntersectsRect(rect1: MKMapRect, rect2: MKMapRect) -> Bool;
}
unsafe { MKMapRectIntersectsRect(self, rect2) }.as_bool()
}
}
#[cfg(feature = "objc2-core-location")]
impl MKCoordinateRegion {
#[doc(alias = "MKCoordinateRegionForMapRect")]
#[cfg(feature = "objc2-core-location")]
#[inline]
pub unsafe fn for_map_rect(rect: MKMapRect) -> MKCoordinateRegion {
extern "C-unwind" {
fn MKCoordinateRegionForMapRect(rect: MKMapRect) -> MKCoordinateRegion;
}
unsafe { MKCoordinateRegionForMapRect(rect) }
}
}
impl MKMapRect {
#[doc(alias = "MKMapRectSpans180thMeridian")]
#[inline]
pub unsafe fn spans180th_meridian(self) -> bool {
extern "C-unwind" {
fn MKMapRectSpans180thMeridian(rect: MKMapRect) -> Bool;
}
unsafe { MKMapRectSpans180thMeridian(self) }.as_bool()
}
#[doc(alias = "MKMapRectRemainder")]
#[inline]
pub unsafe fn remainder(self) -> MKMapRect {
extern "C-unwind" {
fn MKMapRectRemainder(rect: MKMapRect) -> MKMapRect;
}
unsafe { MKMapRectRemainder(self) }
}
}
mod private_NSValueMapKitGeometryExtensions {
pub trait Sealed {}
}
pub unsafe trait NSValueMapKitGeometryExtensions:
ClassType + Sized + private_NSValueMapKitGeometryExtensions::Sealed
{
extern_methods!(
#[cfg(feature = "objc2-core-location")]
#[unsafe(method(valueWithMKCoordinate:))]
#[unsafe(method_family = none)]
unsafe fn valueWithMKCoordinate(coordinate: CLLocationCoordinate2D) -> Retained<NSValue>;
#[cfg(feature = "objc2-core-location")]
#[unsafe(method(valueWithMKCoordinateSpan:))]
#[unsafe(method_family = none)]
unsafe fn valueWithMKCoordinateSpan(span: MKCoordinateSpan) -> Retained<NSValue>;
#[cfg(feature = "objc2-core-location")]
#[unsafe(method(MKCoordinateValue))]
#[unsafe(method_family = none)]
unsafe fn MKCoordinateValue(&self) -> CLLocationCoordinate2D;
#[cfg(feature = "objc2-core-location")]
#[unsafe(method(MKCoordinateSpanValue))]
#[unsafe(method_family = none)]
unsafe fn MKCoordinateSpanValue(&self) -> MKCoordinateSpan;
);
}
impl private_NSValueMapKitGeometryExtensions::Sealed for NSValue {}
unsafe impl NSValueMapKitGeometryExtensions for NSValue {}
extern "C-unwind" {
#[cfg(feature = "objc2-core-location")]
#[deprecated = "renamed to `MKCoordinateRegion::with_distance`"]
pub fn MKCoordinateRegionMakeWithDistance(
center_coordinate: CLLocationCoordinate2D,
latitudinal_meters: CLLocationDistance,
longitudinal_meters: CLLocationDistance,
) -> MKCoordinateRegion;
}
extern "C-unwind" {
#[cfg(feature = "objc2-core-location")]
#[deprecated = "renamed to `MKMapPoint::for_coordinate`"]
pub fn MKMapPointForCoordinate(coordinate: CLLocationCoordinate2D) -> MKMapPoint;
}
extern "C-unwind" {
#[deprecated = "renamed to `MKMapRect::union`"]
pub fn MKMapRectUnion(rect1: MKMapRect, rect2: MKMapRect) -> MKMapRect;
}
extern "C-unwind" {
#[deprecated = "renamed to `MKMapRect::intersection`"]
pub fn MKMapRectIntersection(rect1: MKMapRect, rect2: MKMapRect) -> MKMapRect;
}
extern "C-unwind" {
#[deprecated = "renamed to `MKMapRect::inset`"]
pub fn MKMapRectInset(rect: MKMapRect, dx: c_double, dy: c_double) -> MKMapRect;
}
extern "C-unwind" {
#[deprecated = "renamed to `MKMapRect::offset`"]
pub fn MKMapRectOffset(rect: MKMapRect, dx: c_double, dy: c_double) -> MKMapRect;
}
extern "C-unwind" {
#[cfg(feature = "objc2-core-foundation")]
#[deprecated = "renamed to `MKMapRect::divide`"]
pub fn MKMapRectDivide(
rect: MKMapRect,
slice: NonNull<MKMapRect>,
remainder: NonNull<MKMapRect>,
amount: c_double,
edge: CGRectEdge,
);
}
#[deprecated = "renamed to `MKMapRect::contains_point`"]
#[inline]
pub unsafe extern "C-unwind" fn MKMapRectContainsPoint(rect: MKMapRect, point: MKMapPoint) -> bool {
extern "C-unwind" {
fn MKMapRectContainsPoint(rect: MKMapRect, point: MKMapPoint) -> Bool;
}
unsafe { MKMapRectContainsPoint(rect, point) }.as_bool()
}
#[deprecated = "renamed to `MKMapRect::contains_rect`"]
#[inline]
pub unsafe extern "C-unwind" fn MKMapRectContainsRect(rect1: MKMapRect, rect2: MKMapRect) -> bool {
extern "C-unwind" {
fn MKMapRectContainsRect(rect1: MKMapRect, rect2: MKMapRect) -> Bool;
}
unsafe { MKMapRectContainsRect(rect1, rect2) }.as_bool()
}
#[deprecated = "renamed to `MKMapRect::intersects_rect`"]
#[inline]
pub unsafe extern "C-unwind" fn MKMapRectIntersectsRect(
rect1: MKMapRect,
rect2: MKMapRect,
) -> bool {
extern "C-unwind" {
fn MKMapRectIntersectsRect(rect1: MKMapRect, rect2: MKMapRect) -> Bool;
}
unsafe { MKMapRectIntersectsRect(rect1, rect2) }.as_bool()
}
extern "C-unwind" {
#[cfg(feature = "objc2-core-location")]
#[deprecated = "renamed to `MKCoordinateRegion::for_map_rect`"]
pub fn MKCoordinateRegionForMapRect(rect: MKMapRect) -> MKCoordinateRegion;
}
#[deprecated = "renamed to `MKMapRect::spans180th_meridian`"]
#[inline]
pub unsafe extern "C-unwind" fn MKMapRectSpans180thMeridian(rect: MKMapRect) -> bool {
extern "C-unwind" {
fn MKMapRectSpans180thMeridian(rect: MKMapRect) -> Bool;
}
unsafe { MKMapRectSpans180thMeridian(rect) }.as_bool()
}
extern "C-unwind" {
#[deprecated = "renamed to `MKMapRect::remainder`"]
pub fn MKMapRectRemainder(rect: MKMapRect) -> MKMapRect;
}