WKInterfaceSCNScene

Struct WKInterfaceSCNScene 

Source
pub struct WKInterfaceSCNScene { /* private fields */ }
Available on crate features WKInterfaceObject and WKInterfaceSCNScene only.
Expand description

Implementations§

Source§

impl WKInterfaceSCNScene

Source

pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>

👎Deprecated: Use SceneKit.SceneView instead.
Source

pub unsafe fn scene(&self) -> Option<Retained<SCNScene>>

Available on crate feature objc2-scene-kit only.

Specifies the scene of the receiver

Source

pub unsafe fn setScene(&self, scene: Option<&SCNScene>)

Available on crate feature objc2-scene-kit only.

Setter for scene.

Source

pub unsafe fn snapshot(&self) -> Retained<UIImage>

Available on crate feature objc2-ui-kit only.

Draws the contents of the view and returns them as a new image object

This method is thread-safe and may be called at any time.

Source

pub unsafe fn preferredFramesPerSecond(&self) -> NSInteger

The rate you want the view to redraw its contents.

When your application sets its preferred frame rate, the view chooses a frame rate as close to that as possible based on the capabilities of the screen the view is displayed on. The actual frame rate chosen is usually a factor of the maximum refresh rate of the screen to provide a consistent frame rate. For example, if the maximum refresh rate of the screen is 60 frames per second, that is also the highest frame rate the view sets as the actual frame rate. However, if you ask for a lower frame rate, it might choose 30, 20, 15 or some other factor to be the actual frame rate. Your application should choose a frame rate that it can consistently maintain. The default value is 0 which means the display link will fire at the native cadence of the display hardware.

Source

pub unsafe fn setPreferredFramesPerSecond( &self, preferred_frames_per_second: NSInteger, )

Source

pub unsafe fn antialiasingMode(&self) -> SCNAntialiasingMode

Available on crate feature objc2-scene-kit only.

Defaults to SCNAntialiasingModeNone.

Source

pub unsafe fn setAntialiasingMode(&self, antialiasing_mode: SCNAntialiasingMode)

Available on crate feature objc2-scene-kit only.

Setter for antialiasingMode.

Source§

impl WKInterfaceSCNScene

Methods declared on superclass NSObject.

Source

pub unsafe fn new() -> Retained<Self>

Methods from Deref<Target = WKInterfaceObject>§

Source

pub unsafe fn setHidden(&self, hidden: bool)

Source

pub unsafe fn setAlpha(&self, alpha: CGFloat)

Available on crate feature objc2-core-foundation only.
Source

pub unsafe fn setSemanticContentAttribute( &self, semantic_content_attribute: WKInterfaceSemanticContentAttribute, )

Available on crate feature WKInterfaceDevice only.
Source

pub unsafe fn setHorizontalAlignment( &self, horizontal_alignment: WKInterfaceObjectHorizontalAlignment, )

Source

pub unsafe fn setVerticalAlignment( &self, vertical_alignment: WKInterfaceObjectVerticalAlignment, )

Source

pub unsafe fn setWidth(&self, width: CGFloat)

Available on crate feature objc2-core-foundation only.
Source

pub unsafe fn setHeight(&self, height: CGFloat)

Available on crate feature objc2-core-foundation only.
Source

pub unsafe fn setRelativeWidth_withAdjustment( &self, width: CGFloat, adjustment: CGFloat, )

Available on crate feature objc2-core-foundation only.
Source

pub unsafe fn setRelativeHeight_withAdjustment( &self, height: CGFloat, adjustment: CGFloat, )

Available on crate feature objc2-core-foundation only.
Source

pub unsafe fn sizeToFitWidth(&self)

Source

pub unsafe fn sizeToFitHeight(&self)

Source

pub unsafe fn interfaceProperty(&self) -> Retained<NSString>

Source

pub unsafe fn setAccessibilityIdentifier( &self, accessibility_identifier: Option<&NSString>, )

Source

pub unsafe fn setAccessibilityLabel( &self, accessibility_label: Option<&NSString>, )

Source

pub unsafe fn setAccessibilityHint(&self, accessibility_hint: Option<&NSString>)

Source

pub unsafe fn setAccessibilityValue( &self, accessibility_value: Option<&NSString>, )

Source

pub unsafe fn setIsAccessibilityElement(&self, is_accessibility_element: bool)

Source

pub unsafe fn setAccessibilityTraits( &self, accessibility_traits: UIAccessibilityTraits, )

Available on crate feature objc2-ui-kit only.
Source

pub unsafe fn setAccessibilityImageRegions( &self, accessibility_image_regions: &NSArray<WKAccessibilityImageRegion>, )

Methods from Deref<Target = NSObject>§

Source

pub fn doesNotRecognizeSelector(&self, sel: Sel) -> !

Handle messages the object doesn’t recognize.

See Apple’s documentation for details.

Methods from Deref<Target = AnyObject>§

Source

pub fn class(&self) -> &'static AnyClass

Dynamically find the class of this object.

§Panics

May panic if the object is invalid (which may be the case for objects returned from unavailable init/new methods).

§Example

Check that an instance of NSObject has the precise class NSObject.

use objc2::ClassType;
use objc2::runtime::NSObject;

let obj = NSObject::new();
assert_eq!(obj.class(), NSObject::class());
Source

pub unsafe fn get_ivar<T>(&self, name: &str) -> &T
where T: Encode,

👎Deprecated: this is difficult to use correctly, use Ivar::load instead.

Use Ivar::load instead.

§Safety

The object must have an instance variable with the given name, and it must be of type T.

See Ivar::load_ptr for details surrounding this.

Source

pub fn downcast_ref<T>(&self) -> Option<&T>
where T: DowncastTarget,

Attempt to downcast the object to a class of type T.

This is the reference-variant. Use Retained::downcast if you want to convert a retained object to another type.

§Mutable classes

Some classes have immutable and mutable variants, such as NSString and NSMutableString.

When some Objective-C API signature says it gives you an immutable class, it generally expects you to not mutate that, even though it may technically be mutable “under the hood”.

So using this method to convert a NSString to a NSMutableString, while not unsound, is generally frowned upon unless you created the string yourself, or the API explicitly documents the string to be mutable.

See Apple’s documentation on mutability and on isKindOfClass: for more details.

§Generic classes

Objective-C generics are called “lightweight generics”, and that’s because they aren’t exposed in the runtime. This makes it impossible to safely downcast to generic collections, so this is disallowed by this method.

You can, however, safely downcast to generic collections where all the type-parameters are AnyObject.

§Panics

This works internally by calling isKindOfClass:. That means that the object must have the instance method of that name, and an exception will be thrown (if CoreFoundation is linked) or the process will abort if that is not the case. In the vast majority of cases, you don’t need to worry about this, since both root objects NSObject and NSProxy implement this method.

§Examples

Cast an NSString back and forth from NSObject.

use objc2::rc::Retained;
use objc2_foundation::{NSObject, NSString};

let obj: Retained<NSObject> = NSString::new().into_super();
let string = obj.downcast_ref::<NSString>().unwrap();
// Or with `downcast`, if we do not need the object afterwards
let string = obj.downcast::<NSString>().unwrap();

Try (and fail) to cast an NSObject to an NSString.

use objc2_foundation::{NSObject, NSString};

let obj = NSObject::new();
assert!(obj.downcast_ref::<NSString>().is_none());

Try to cast to an array of strings.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);
// This is invalid and doesn't type check.
let arr = arr.downcast_ref::<NSArray<NSString>>();

This fails to compile, since it would require enumerating over the array to ensure that each element is of the desired type, which is a performance pitfall.

Downcast when processing each element instead.

use objc2_foundation::{NSArray, NSObject, NSString};

let arr = NSArray::from_retained_slice(&[NSObject::new()]);

for elem in arr {
    if let Some(data) = elem.downcast_ref::<NSString>() {
        // handle `data`
    }
}

Trait Implementations§

Source§

impl AsRef<AnyObject> for WKInterfaceSCNScene

Source§

fn as_ref(&self) -> &AnyObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<NSObject> for WKInterfaceSCNScene

Source§

fn as_ref(&self) -> &NSObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<WKInterfaceObject> for WKInterfaceSCNScene

Source§

fn as_ref(&self) -> &WKInterfaceObject

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl AsRef<WKInterfaceSCNScene> for WKInterfaceSCNScene

Source§

fn as_ref(&self) -> &Self

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Borrow<AnyObject> for WKInterfaceSCNScene

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for WKInterfaceSCNScene

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<WKInterfaceObject> for WKInterfaceSCNScene

Source§

fn borrow(&self) -> &WKInterfaceObject

Immutably borrows from an owned value. Read more
Source§

impl ClassType for WKInterfaceSCNScene

Source§

const NAME: &'static str = "WKInterfaceSCNScene"

The name of the Objective-C class that this type represents. Read more
Source§

type Super = WKInterfaceObject

The superclass of this class. Read more
Source§

type ThreadKind = <<WKInterfaceSCNScene as ClassType>::Super as ClassType>::ThreadKind

Whether the type can be used from any thread, or from only the main thread. Read more
Source§

fn class() -> &'static AnyClass

Get a reference to the Objective-C class that this type represents. Read more
Source§

fn as_super(&self) -> &Self::Super

Get an immutable reference to the superclass.
Source§

impl Debug for WKInterfaceSCNScene

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Deref for WKInterfaceSCNScene

Source§

type Target = WKInterfaceObject

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl Hash for WKInterfaceSCNScene

Source§

fn hash<H: Hasher>(&self, state: &mut H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for WKInterfaceSCNScene

Source§

fn retain(&self) -> Retained<Self>
where Self: Sized,

Increment the reference count of the receiver. Read more
Source§

impl NSObjectProtocol for WKInterfaceSCNScene

Source§

fn isEqual(&self, other: Option<&AnyObject>) -> bool
where Self: Sized + Message,

Check whether the object is equal to an arbitrary other object. Read more
Source§

fn hash(&self) -> usize
where Self: Sized + Message,

An integer that can be used as a table address in a hash table structure. Read more
Source§

fn isKindOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of the class, or one of its subclasses. Read more
Source§

fn is_kind_of<T>(&self) -> bool
where T: ClassType, Self: Sized + Message,

👎Deprecated: use isKindOfClass directly, or cast your objects with AnyObject::downcast_ref
Check if the object is an instance of the class type, or one of its subclasses. Read more
Source§

fn isMemberOfClass(&self, cls: &AnyClass) -> bool
where Self: Sized + Message,

Check if the object is an instance of a specific class, without checking subclasses. Read more
Source§

fn respondsToSelector(&self, aSelector: Sel) -> bool
where Self: Sized + Message,

Check whether the object implements or inherits a method with the given selector. Read more
Source§

fn conformsToProtocol(&self, aProtocol: &AnyProtocol) -> bool
where Self: Sized + Message,

Check whether the object conforms to a given protocol. Read more
Source§

fn description(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object. Read more
Source§

fn debugDescription(&self) -> Retained<NSObject>
where Self: Sized + Message,

A textual representation of the object to use when debugging. Read more
Source§

fn isProxy(&self) -> bool
where Self: Sized + Message,

Check whether the receiver is a subclass of the NSProxy root class instead of the usual NSObject. Read more
Source§

fn retainCount(&self) -> usize
where Self: Sized + Message,

The reference count of the object. Read more
Source§

impl PartialEq for WKInterfaceSCNScene

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefEncode for WKInterfaceSCNScene

Source§

const ENCODING_REF: Encoding = <WKInterfaceObject as ::objc2::RefEncode>::ENCODING_REF

The Objective-C type-encoding for a reference of this type. Read more
Source§

impl SCNSceneRenderer for WKInterfaceSCNScene

Source§

unsafe fn scene(&self) -> Option<Retained<SCNScene>>
where Self: Sized + Message,

Specifies the scene of the receiver.
Source§

unsafe fn setScene(&self, scene: Option<&SCNScene>)
where Self: Sized + Message,

Setter for scene.
Source§

unsafe fn sceneTime(&self) -> f64
where Self: Sized + Message,

Specifies the current “scene time” to display the scene. Read more
Source§

unsafe fn setSceneTime(&self, scene_time: f64)
where Self: Sized + Message,

Setter for sceneTime.
Source§

unsafe fn delegate( &self, ) -> Option<Retained<ProtocolObject<dyn SCNSceneRendererDelegate>>>
where Self: Sized + Message,

Specifies the renderer delegate.
Source§

unsafe fn setDelegate( &self, delegate: Option<&ProtocolObject<dyn SCNSceneRendererDelegate>>, )
where Self: Sized + Message,

Setter for delegate. Read more
Source§

unsafe fn isPlaying(&self) -> bool
where Self: Sized + Message,

Returns YES if the scene is playing, NO otherwise.
Source§

unsafe fn setPlaying(&self, playing: bool)
where Self: Sized + Message,

Setter for isPlaying.
Source§

unsafe fn loops(&self) -> bool
where Self: Sized + Message,

Indicates whether the receiver restarts playback when it reaches the end of its content. Default: YES. Read more
Source§

unsafe fn setLoops(&self, loops: bool)
where Self: Sized + Message,

Setter for loops.
Source§

unsafe fn autoenablesDefaultLighting(&self) -> bool
where Self: Sized + Message,

Specifies whether the receiver should automatically light up scenes that have no light source. The default is NO. Read more
Source§

unsafe fn setAutoenablesDefaultLighting( &self, autoenables_default_lighting: bool, )
where Self: Sized + Message,

Source§

unsafe fn isJitteringEnabled(&self) -> bool
where Self: Sized + Message,

Specifies whether the receiver should jitter the rendered scene to reduce aliasing artifacts. Read more
Source§

unsafe fn setJitteringEnabled(&self, jittering_enabled: bool)
where Self: Sized + Message,

Setter for isJitteringEnabled.
Source§

unsafe fn isTemporalAntialiasingEnabled(&self) -> bool
where Self: Sized + Message,

Specifies whether the receiver should reduce aliasing artifacts in real time based on temporal coherency. Defaults to NO.
Source§

unsafe fn setTemporalAntialiasingEnabled( &self, temporal_antialiasing_enabled: bool, )
where Self: Sized + Message,

Source§

unsafe fn showsStatistics(&self) -> bool
where Self: Sized + Message,

Determines whether the receiver should display statistics info like FPS. Defaults to NO. Read more
Source§

unsafe fn setShowsStatistics(&self, shows_statistics: bool)
where Self: Sized + Message,

Setter for showsStatistics.
Source§

unsafe fn debugOptions(&self) -> SCNDebugOptions
where Self: Sized + Message,

Specifies the debug options of the receiver. Defaults to SCNDebugOptionNone.
Source§

unsafe fn setDebugOptions(&self, debug_options: SCNDebugOptions)
where Self: Sized + Message,

Setter for debugOptions.
Source§

unsafe fn renderingAPI(&self) -> SCNRenderingAPI
where Self: Sized + Message,

Specifies the rendering API associated to the receiver. Read more
Source§

unsafe fn context(&self) -> *mut c_void
where Self: Sized + Message,

A Core OpenGL render context that is used as the render target (a CGLContextObj on macOS, an EAGLContext on iOS).
Source§

unsafe fn currentTime(&self) -> f64
where Self: Sized + Message,

👎Deprecated
Specifies the current time to display the scene. Read more
Source§

unsafe fn setCurrentTime(&self, current_time: f64)
where Self: Sized + Message,

👎Deprecated
Setter for currentTime.
Source§

unsafe fn usesReverseZ(&self) -> bool
where Self: Sized + Message,

Specifies if the renderer should use the reverse Z technique. Defaults to YES. Read more
Source§

unsafe fn setUsesReverseZ(&self, uses_reverse_z: bool)
where Self: Sized + Message,

Setter for usesReverseZ.
Source§

impl DowncastTarget for WKInterfaceSCNScene

Source§

impl Eq for WKInterfaceSCNScene

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<'a, T> AnyThread for T
where T: ClassType<ThreadKind = dyn AnyThread + 'a> + ?Sized,

Source§

fn alloc() -> Allocated<Self>
where Self: Sized + ClassType,

Allocate a new instance of the class. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> AutoreleaseSafe for T
where T: ?Sized,