use crate::common::*;
use crate::AppKit::*;
use crate::Contacts::*;
use crate::CoreLocation::*;
use crate::Foundation::*;
use crate::MapKit::*;
extern_struct!(
#[encoding_name("?")]
pub struct MKCoordinateSpan {
pub latitudeDelta: CLLocationDegrees,
pub longitudeDelta: CLLocationDegrees,
}
);
extern_struct!(
#[encoding_name("?")]
pub struct MKCoordinateRegion {
pub center: CLLocationCoordinate2D,
pub span: MKCoordinateSpan,
}
);
inline_fn!(
pub unsafe fn MKCoordinateSpanMake(
latitude_delta: CLLocationDegrees,
longitude_delta: CLLocationDegrees,
) -> MKCoordinateSpan {
todo!()
}
);
inline_fn!(
pub unsafe fn MKCoordinateRegionMake(
center_coordinate: CLLocationCoordinate2D,
span: MKCoordinateSpan,
) -> MKCoordinateRegion {
todo!()
}
);
extern_fn!(
pub unsafe fn MKCoordinateRegionMakeWithDistance(
center_coordinate: CLLocationCoordinate2D,
latitudinal_meters: CLLocationDistance,
longitudinal_meters: CLLocationDistance,
) -> MKCoordinateRegion;
);
extern_struct!(
#[encoding_name("?")]
pub struct MKMapPoint {
pub x: c_double,
pub y: c_double,
}
);
extern_struct!(
#[encoding_name("?")]
pub struct MKMapSize {
pub width: c_double,
pub height: c_double,
}
);
extern_struct!(
#[encoding_name("?")]
pub struct MKMapRect {
pub origin: MKMapPoint,
pub size: MKMapSize,
}
);
pub type MKZoomScale = CGFloat;
extern_static!(MKMapSizeWorld: MKMapSize);
extern_static!(MKMapRectWorld: MKMapRect);
extern_fn!(
pub unsafe fn MKMapPointForCoordinate(coordinate: CLLocationCoordinate2D) -> MKMapPoint;
);
extern_fn!(
pub unsafe fn MKCoordinateForMapPoint(map_point: MKMapPoint) -> CLLocationCoordinate2D;
);
extern_fn!(
pub unsafe fn MKMetersPerMapPointAtLatitude(latitude: CLLocationDegrees) -> CLLocationDistance;
);
extern_fn!(
pub unsafe fn MKMapPointsPerMeterAtLatitude(latitude: CLLocationDegrees) -> c_double;
);
extern_fn!(
pub unsafe fn MKMetersBetweenMapPoints(a: MKMapPoint, b: MKMapPoint) -> CLLocationDistance;
);
extern_static!(MKMapRectNull: MKMapRect);
inline_fn!(
pub unsafe fn MKMapPointMake(x: c_double, y: c_double) -> MKMapPoint {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapSizeMake(width: c_double, height: c_double) -> MKMapSize {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectMake(
x: c_double,
y: c_double,
width: c_double,
height: c_double,
) -> MKMapRect {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetMinX(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetMinY(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetMidX(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetMidY(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetMaxX(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetMaxY(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetWidth(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectGetHeight(rect: MKMapRect) -> c_double {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapPointEqualToPoint(point1: MKMapPoint, point2: MKMapPoint) -> Bool {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapSizeEqualToSize(size1: MKMapSize, size2: MKMapSize) -> Bool {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectEqualToRect(rect1: MKMapRect, rect2: MKMapRect) -> Bool {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectIsNull(rect: MKMapRect) -> Bool {
todo!()
}
);
inline_fn!(
pub unsafe fn MKMapRectIsEmpty(rect: MKMapRect) -> Bool {
todo!()
}
);
inline_fn!(
#[cfg(feature = "Foundation_NSString")]
pub unsafe fn MKStringFromMapPoint(point: MKMapPoint) -> NonNull<NSString> {
todo!()
}
);
inline_fn!(
#[cfg(feature = "Foundation_NSString")]
pub unsafe fn MKStringFromMapSize(size: MKMapSize) -> NonNull<NSString> {
todo!()
}
);
inline_fn!(
#[cfg(feature = "Foundation_NSString")]
pub unsafe fn MKStringFromMapRect(rect: MKMapRect) -> NonNull<NSString> {
todo!()
}
);
extern_fn!(
pub unsafe fn MKMapRectUnion(rect1: MKMapRect, rect2: MKMapRect) -> MKMapRect;
);
extern_fn!(
pub unsafe fn MKMapRectIntersection(rect1: MKMapRect, rect2: MKMapRect) -> MKMapRect;
);
extern_fn!(
pub unsafe fn MKMapRectInset(rect: MKMapRect, dx: c_double, dy: c_double) -> MKMapRect;
);
extern_fn!(
pub unsafe fn MKMapRectOffset(rect: MKMapRect, dx: c_double, dy: c_double) -> MKMapRect;
);
extern_fn!(
pub unsafe fn MKMapRectContainsPoint(rect: MKMapRect, point: MKMapPoint) -> Bool;
);
extern_fn!(
pub unsafe fn MKMapRectContainsRect(rect1: MKMapRect, rect2: MKMapRect) -> Bool;
);
extern_fn!(
pub unsafe fn MKMapRectIntersectsRect(rect1: MKMapRect, rect2: MKMapRect) -> Bool;
);
extern_fn!(
pub unsafe fn MKCoordinateRegionForMapRect(rect: MKMapRect) -> MKCoordinateRegion;
);
extern_fn!(
pub unsafe fn MKMapRectSpans180thMeridian(rect: MKMapRect) -> Bool;
);
extern_fn!(
pub unsafe fn MKMapRectRemainder(rect: MKMapRect) -> MKMapRect;
);
extern_methods!(
#[cfg(feature = "Foundation_NSValue")]
unsafe impl NSValue {
#[method_id(@__retain_semantics Other valueWithMKCoordinate:)]
pub unsafe fn valueWithMKCoordinate(coordinate: CLLocationCoordinate2D) -> Id<NSValue>;
#[method_id(@__retain_semantics Other valueWithMKCoordinateSpan:)]
pub unsafe fn valueWithMKCoordinateSpan(span: MKCoordinateSpan) -> Id<NSValue>;
#[method(MKCoordinateValue)]
pub unsafe fn MKCoordinateValue(&self) -> CLLocationCoordinate2D;
#[method(MKCoordinateSpanValue)]
pub unsafe fn MKCoordinateSpanValue(&self) -> MKCoordinateSpan;
}
);