use crate::common::*;
use crate::AppKit::*;
use crate::AuthenticationServices::*;
use crate::Foundation::*;
ns_enum!(
#[underlying(NSInteger)]
pub enum ASAuthorizationAppleIDButtonType {
ASAuthorizationAppleIDButtonTypeSignIn = 0,
ASAuthorizationAppleIDButtonTypeContinue = 1,
ASAuthorizationAppleIDButtonTypeSignUp = 2,
ASAuthorizationAppleIDButtonTypeDefault = ASAuthorizationAppleIDButtonTypeSignIn,
}
);
ns_enum!(
#[underlying(NSInteger)]
pub enum ASAuthorizationAppleIDButtonStyle {
ASAuthorizationAppleIDButtonStyleWhite = 0,
ASAuthorizationAppleIDButtonStyleWhiteOutline = 1,
ASAuthorizationAppleIDButtonStyleBlack = 2,
}
);
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSAccessibility for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSAccessibilityButton for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSAccessibilityElementProtocol for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSAnimatablePropertyContainer for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSAppearanceCustomization for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSCoding for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSDraggingDestination for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSObjectProtocol for ASAuthorizationAppleIDButton {}
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl NSUserInterfaceItemIdentification for ASAuthorizationAppleIDButton {}
extern_methods!(
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl ASAuthorizationAppleIDButton {
#[method_id(@__retain_semantics Other buttonWithType:style:)]
pub unsafe fn buttonWithType_style(
r#type: ASAuthorizationAppleIDButtonType,
style: ASAuthorizationAppleIDButtonStyle,
mtm: MainThreadMarker,
) -> Id<Self>;
#[method_id(@__retain_semantics Init initWithAuthorizationButtonType:authorizationButtonStyle:)]
pub unsafe fn initWithAuthorizationButtonType_authorizationButtonStyle(
this: Allocated<Self>,
r#type: ASAuthorizationAppleIDButtonType,
style: ASAuthorizationAppleIDButtonStyle,
) -> Id<Self>;
#[method(cornerRadius)]
pub unsafe fn cornerRadius(&self) -> CGFloat;
#[method(setCornerRadius:)]
pub unsafe fn setCornerRadius(&self, corner_radius: CGFloat);
}
);
extern_methods!(
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl ASAuthorizationAppleIDButton {
#[method_id(@__retain_semantics Init initWithFrame:)]
pub unsafe fn initWithFrame(this: Allocated<Self>, frame_rect: NSRect) -> Id<Self>;
#[cfg(feature = "Foundation_NSCoder")]
#[method_id(@__retain_semantics Init initWithCoder:)]
pub unsafe fn initWithCoder(this: Allocated<Self>, coder: &NSCoder) -> Option<Id<Self>>;
}
);
extern_methods!(
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl ASAuthorizationAppleIDButton {
#[method_id(@__retain_semantics Init init)]
pub unsafe fn init(this: Allocated<Self>) -> Id<Self>;
}
);
extern_methods!(
#[cfg(feature = "AuthenticationServices_ASAuthorizationAppleIDButton")]
unsafe impl ASAuthorizationAppleIDButton {
#[method_id(@__retain_semantics New new)]
pub unsafe fn new(mtm: MainThreadMarker) -> Id<Self>;
}
);