use objc2::__framework_prelude::*;
use objc2_foundation::*;
use crate::*;
extern_class!(
#[derive(Debug, PartialEq, Eq, Hash)]
pub struct CIVector;
unsafe impl ClassType for CIVector {
type Super = NSObject;
type Mutability = InteriorMutable;
}
);
unsafe impl NSCoding for CIVector {}
unsafe impl NSCopying for CIVector {}
unsafe impl NSObjectProtocol for CIVector {}
unsafe impl NSSecureCoding for CIVector {}
extern_methods!(
unsafe impl CIVector {
#[method_id(@__retain_semantics Other vectorWithValues:count:)]
pub unsafe fn vectorWithValues_count(
values: NonNull<CGFloat>,
count: usize,
) -> Retained<Self>;
#[method_id(@__retain_semantics Other vectorWithX:)]
pub unsafe fn vectorWithX(x: CGFloat) -> Retained<Self>;
#[method_id(@__retain_semantics Other vectorWithX:Y:)]
pub unsafe fn vectorWithX_Y(x: CGFloat, y: CGFloat) -> Retained<Self>;
#[method_id(@__retain_semantics Other vectorWithX:Y:Z:)]
pub unsafe fn vectorWithX_Y_Z(x: CGFloat, y: CGFloat, z: CGFloat) -> Retained<Self>;
#[method_id(@__retain_semantics Other vectorWithX:Y:Z:W:)]
pub unsafe fn vectorWithX_Y_Z_W(
x: CGFloat,
y: CGFloat,
z: CGFloat,
w: CGFloat,
) -> Retained<Self>;
#[method_id(@__retain_semantics Other vectorWithCGPoint:)]
pub unsafe fn vectorWithCGPoint(p: CGPoint) -> Retained<Self>;
#[method_id(@__retain_semantics Other vectorWithCGRect:)]
pub unsafe fn vectorWithCGRect(r: CGRect) -> Retained<Self>;
#[method_id(@__retain_semantics Other vectorWithString:)]
pub unsafe fn vectorWithString(representation: &NSString) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithValues:count:)]
pub unsafe fn initWithValues_count(
this: Allocated<Self>,
values: NonNull<CGFloat>,
count: usize,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithX:)]
pub unsafe fn initWithX(this: Allocated<Self>, x: CGFloat) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithX:Y:)]
pub unsafe fn initWithX_Y(this: Allocated<Self>, x: CGFloat, y: CGFloat) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithX:Y:Z:)]
pub unsafe fn initWithX_Y_Z(
this: Allocated<Self>,
x: CGFloat,
y: CGFloat,
z: CGFloat,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithX:Y:Z:W:)]
pub unsafe fn initWithX_Y_Z_W(
this: Allocated<Self>,
x: CGFloat,
y: CGFloat,
z: CGFloat,
w: CGFloat,
) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCGPoint:)]
pub unsafe fn initWithCGPoint(this: Allocated<Self>, p: CGPoint) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithCGRect:)]
pub unsafe fn initWithCGRect(this: Allocated<Self>, r: CGRect) -> Retained<Self>;
#[method_id(@__retain_semantics Init initWithString:)]
pub unsafe fn initWithString(
this: Allocated<Self>,
representation: &NSString,
) -> Retained<Self>;
#[method(valueAtIndex:)]
pub unsafe fn valueAtIndex(&self, index: usize) -> CGFloat;
#[method(count)]
pub unsafe fn count(&self) -> usize;
#[method(X)]
pub unsafe fn X(&self) -> CGFloat;
#[method(Y)]
pub unsafe fn Y(&self) -> CGFloat;
#[method(Z)]
pub unsafe fn Z(&self) -> CGFloat;
#[method(W)]
pub unsafe fn W(&self) -> CGFloat;
#[method(CGPointValue)]
pub unsafe fn CGPointValue(&self) -> CGPoint;
#[method(CGRectValue)]
pub unsafe fn CGRectValue(&self) -> CGRect;
#[method_id(@__retain_semantics Other stringRepresentation)]
pub unsafe fn stringRepresentation(&self) -> Retained<NSString>;
}
);
extern_methods!(
unsafe impl CIVector {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
#[method_id(@__retain_semantics New new)]
pub unsafe fn new() -> Retained<Self>;
}
);