//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ffi::*;
use objc2::__framework_prelude::*;

use crate::*;

extern_protocol!(
    /// A view that displays a flashing cursor (aka "caret") view.
    ///
    /// When a selection is not ranged (or has a zero-length), a cursor view is displayed.
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/uikit/uitextcursorview?language=objc)
    #[cfg(feature = "UIView")]
    pub unsafe trait UITextCursorView: UICoordinateSpace + MainThreadOnly {
        /// Enables the blink animation. Disabled by default.
        #[unsafe(method(isBlinking))]
        #[unsafe(method_family = none)]
        fn isBlinking(&self) -> bool;

        /// Setter for [`isBlinking`][Self::isBlinking].
        #[unsafe(method(setBlinking:))]
        #[unsafe(method_family = none)]
        fn setBlinking(&self, blinking: bool);

        /// Call this when the cursor is moving (i.e., during typing) to make sure the cursor doesn't blink while text is being inserted.
        #[unsafe(method(resetBlinkAnimation))]
        #[unsafe(method_family = none)]
        fn resetBlinkAnimation(&self);
    }
);
