objc2-image-capture-core 0.3.2

Bindings to the ImageCaptureCore framework
Documentation
//! This file has been automatically generated by `objc2`'s `header-translator`.
//! DO NOT EDIT
use core::ptr::NonNull;
use objc2::__framework_prelude::*;
use objc2_foundation::*;

use crate::*;

extern_class!(
    /// [Apple's documentation](https://developer.apple.com/documentation/imagecapturecore/icscannerbanddata?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct ICScannerBandData;
);

extern_conformance!(
    unsafe impl NSObjectProtocol for ICScannerBandData {}
);

impl ICScannerBandData {
    extern_methods!(
        /// Describes the full image width of the banded image.
        #[unsafe(method(fullImageWidth))]
        #[unsafe(method_family = none)]
        pub unsafe fn fullImageWidth(&self) -> NSUInteger;

        /// Describes the full image height of the banded image.
        #[unsafe(method(fullImageHeight))]
        #[unsafe(method_family = none)]
        pub unsafe fn fullImageHeight(&self) -> NSUInteger;

        /// Describes the number of bits per pixel for banded the image.
        #[unsafe(method(bitsPerPixel))]
        #[unsafe(method_family = none)]
        pub unsafe fn bitsPerPixel(&self) -> NSUInteger;

        /// Describes the number of bits per component for the banded image.
        #[unsafe(method(bitsPerComponent))]
        #[unsafe(method_family = none)]
        pub unsafe fn bitsPerComponent(&self) -> NSUInteger;

        /// Describes how many components are contained within the banded image.
        #[unsafe(method(numComponents))]
        #[unsafe(method_family = none)]
        pub unsafe fn numComponents(&self) -> NSUInteger;

        /// Describes if the banded image data is reported in big endian.
        #[unsafe(method(isBigEndian))]
        #[unsafe(method_family = none)]
        pub unsafe fn isBigEndian(&self) -> bool;

        #[cfg(feature = "ICScannerFunctionalUnits")]
        /// Type of pixel data that is contained in the band.
        #[unsafe(method(pixelDataType))]
        #[unsafe(method_family = none)]
        pub unsafe fn pixelDataType(&self) -> ICScannerPixelDataType;

        /// Returns the path to the color profile matching the banded data.
        #[unsafe(method(colorSyncProfilePath))]
        #[unsafe(method_family = none)]
        pub unsafe fn colorSyncProfilePath(&self) -> Option<Retained<NSString>>;

        /// Descries how many bytes are in each image band row.
        #[unsafe(method(bytesPerRow))]
        #[unsafe(method_family = none)]
        pub unsafe fn bytesPerRow(&self) -> NSUInteger;

        /// Describes the start row of the image band.
        #[unsafe(method(dataStartRow))]
        #[unsafe(method_family = none)]
        pub unsafe fn dataStartRow(&self) -> NSUInteger;

        /// Describes the number of rows contained in the image band.
        #[unsafe(method(dataNumRows))]
        #[unsafe(method_family = none)]
        pub unsafe fn dataNumRows(&self) -> NSUInteger;

        /// Describes the actual data size of the image band buffer.
        #[unsafe(method(dataSize))]
        #[unsafe(method_family = none)]
        pub unsafe fn dataSize(&self) -> NSUInteger;

        /// The pointer to the data buffer object.
        #[unsafe(method(dataBuffer))]
        #[unsafe(method_family = none)]
        pub unsafe fn dataBuffer(&self) -> Option<Retained<NSData>>;
    );
}

/// Methods declared on superclass `NSObject`.
impl ICScannerBandData {
    extern_methods!(
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}