objc2-gameplay-kit 0.3.2

Bindings to the GameplayKit 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 crate::*;

extern_class!(
    /// GKNoiseMap represents an extracted portion of sampled points from continuous 3D noise.  Extracted values are useful
    /// for 2D and 3D games.  Noise values may be queried, set to explicit values or used as input for other uses,
    /// including textures and tile maps.
    ///
    ///
    /// See: GKNoiseSource
    ///
    /// See: GKNoise
    ///
    /// See: SKTexture
    ///
    /// See: SKTileMapNode
    ///
    /// See also [Apple's documentation](https://developer.apple.com/documentation/gameplaykit/gknoisemap?language=objc)
    #[unsafe(super(NSObject))]
    #[derive(Debug, PartialEq, Eq, Hash)]
    pub struct GKNoiseMap;
);

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

impl GKNoiseMap {
    extern_methods!(
        /// Whether the values at the edges of the 2D plane are modified to allow seamless tiling of the extracted noise map.
        #[unsafe(method(isSeamless))]
        #[unsafe(method_family = none)]
        pub unsafe fn isSeamless(&self) -> bool;

        /// Initializes a noise map with constant noise of 0.0 at all positions.
        #[unsafe(method(init))]
        #[unsafe(method_family = init)]
        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;

        #[cfg(feature = "GKNoise")]
        /// Initializes a noise map with specified noise.
        ///
        ///
        /// Parameter `noise`: The 3D noise from which to sample a 2D plane.
        #[unsafe(method(noiseMapWithNoise:))]
        #[unsafe(method_family = none)]
        pub unsafe fn noiseMapWithNoise(noise: &GKNoise) -> Retained<Self>;

        #[cfg(feature = "GKNoise")]
        /// Initializes a noise map with specified noise.
        ///
        ///
        /// Parameter `noise`: The 3D noise from which to sample a 2D plane.
        #[unsafe(method(initWithNoise:))]
        #[unsafe(method_family = init)]
        pub unsafe fn initWithNoise(this: Allocated<Self>, noise: &GKNoise) -> Retained<Self>;
    );
}

/// Methods declared on superclass `NSObject`.
impl GKNoiseMap {
    extern_methods!(
        #[unsafe(method(new))]
        #[unsafe(method_family = new)]
        pub unsafe fn new() -> Retained<Self>;
    );
}