AVPlayerLayer

Struct AVPlayerLayer 

Source
pub struct AVPlayerLayer { /* private fields */ }
Available on crate feature AVPlayerLayer and crate feature objc2-quartz-core and non-watchOS only.
Expand description

Implementations§

Source§

impl AVPlayerLayer

Source

pub unsafe fn playerLayerWithPlayer( player: Option<&AVPlayer>, ) -> Retained<AVPlayerLayer>

Available on crate feature AVPlayer only.

Returns an instance of AVPlayerLayer to display the visual output of the specified AVPlayer.

Returns: An instance of AVPlayerLayer.

Source

pub unsafe fn player(&self, mtm: MainThreadMarker) -> Option<Retained<AVPlayer>>

Available on crate feature AVPlayer only.

Indicates the instance of AVPlayer for which the AVPlayerLayer displays visual output

Source

pub unsafe fn setPlayer(&self, player: Option<&AVPlayer>)

Available on crate feature AVPlayer only.

Setter for player.

Source

pub unsafe fn videoGravity(&self) -> Retained<AVLayerVideoGravity>

Available on crate feature AVAnimation only.

A string defining how the video is displayed within an AVPlayerLayer bounds rect.

Options are AVLayerVideoGravityResizeAspect, AVLayerVideoGravityResizeAspectFill and AVLayerVideoGravityResize. AVLayerVideoGravityResizeAspect is default. See <AVFoundation /AVAnimation.h> for a description of these options.

Source

pub unsafe fn setVideoGravity(&self, video_gravity: &AVLayerVideoGravity)

Available on crate feature AVAnimation only.

Setter for videoGravity.

This is copied when set.

Source

pub unsafe fn isReadyForDisplay(&self) -> bool

Boolean indicating that the first video frame has been made ready for display for the current item of the associated AVPlayer.

Use this property as an indicator of when best to show or animate-in an AVPlayerLayer into view. An AVPlayerLayer may be displayed, or made visible, while this property is NO, however the layer will not have any user-visible content until the value becomes YES. Note that if an animation is added to an AVPlayerLayer before it becomes readyForDisplay the video image displayed inside might not animate with the receiver. This property remains NO for an AVPlayer currentItem whose AVAsset contains no enabled video tracks. This property is key-value observable.

Source

pub unsafe fn videoRect(&self) -> CGRect

Available on crate feature objc2-core-foundation only.

The current size and position of the video image as displayed within the receiver’s bounds.

Source

pub unsafe fn pixelBufferAttributes( &self, ) -> Option<Retained<NSDictionary<NSString, AnyObject>>>

The client requirements for the visual output displayed in AVPlayerLayer during playback.

Pixel buffer attribute keys are defined in <CoreVideo /CVPixelBuffer.h> This property is key-value observable.

Source

pub unsafe fn setPixelBufferAttributes( &self, pixel_buffer_attributes: Option<&NSDictionary<NSString, AnyObject>>, )

Setter for pixelBufferAttributes.

This is copied when set.

§Safety

pixel_buffer_attributes generic should be of the correct type.

Source

pub unsafe fn copyDisplayedPixelBuffer(&self) -> Option<Retained<CVPixelBuffer>>

Available on crate feature objc2-core-video only.

Returns a retained reference to the pixel buffer currently displayed in this AVPlayerLayer. This will return NULL if the displayed pixel buffer is protected, no image is currently being displayed, if the current player’s rate is non-zero or if the image is unavailable.

This will only return the current image while the media is paused, otherwise this will return nil. Clients must release the pixel buffer after use.

Do not write to the returned CVPixelBuffer’s attachments or pixel data.

Source§

impl AVPlayerLayer

Methods declared on superclass CALayer.

Source

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

Layer creation and initialization. *

Source

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

Source

pub unsafe fn initWithLayer( this: Allocated<Self>, layer: &AnyObject, ) -> Retained<Self>

§Safety

layer should be of the correct type.

Source§

impl AVPlayerLayer

Methods declared on superclass NSObject.

Source

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

Methods from Deref<Target = CALayer>§

Source

pub unsafe fn presentationLayer(&self) -> Option<Retained<CALayer>>

Source

pub unsafe fn modelLayer(&self) -> Retained<CALayer>

Source

pub fn shouldArchiveValueForKey(&self, key: &NSString) -> bool

Source

pub fn isHidden(&self) -> bool

Source

pub fn setHidden(&self, hidden: bool)

Setter for isHidden.

Source

pub fn isDoubleSided(&self) -> bool

Source

pub fn setDoubleSided(&self, double_sided: bool)

Setter for isDoubleSided.

Source

pub fn isGeometryFlipped(&self) -> bool

Source

pub fn setGeometryFlipped(&self, geometry_flipped: bool)

Setter for isGeometryFlipped.

Source

pub fn contentsAreFlipped(&self) -> bool

Source

pub fn superlayer(&self) -> Option<Retained<CALayer>>

Source

pub fn removeFromSuperlayer(&self)

Source

pub unsafe fn sublayers(&self) -> Option<Retained<NSArray<CALayer>>>

Source

pub unsafe fn setSublayers(&self, sublayers: Option<&NSArray<CALayer>>)

Setter for sublayers.

This is copied when set.

Source

pub fn addSublayer(&self, layer: &CALayer)

Source

pub fn insertSublayer_atIndex(&self, layer: &CALayer, idx: u32)

Source

pub fn insertSublayer_below(&self, layer: &CALayer, sibling: Option<&CALayer>)

Source

pub fn insertSublayer_above(&self, layer: &CALayer, sibling: Option<&CALayer>)

Source

pub unsafe fn replaceSublayer_with( &self, old_layer: &CALayer, new_layer: &CALayer, )

Source

pub fn mask(&self) -> Option<Retained<CALayer>>

Source

pub unsafe fn setMask(&self, mask: Option<&CALayer>)

Setter for mask.

Source

pub fn masksToBounds(&self) -> bool

Source

pub fn setMasksToBounds(&self, masks_to_bounds: bool)

Setter for masksToBounds.

Source

pub unsafe fn contents(&self) -> Option<Retained<AnyObject>>

Layer content properties and methods. *

Source

pub unsafe fn setContents(&self, contents: Option<&AnyObject>)

Setter for contents.

§Safety

contents should be of the correct type.

Source

pub fn contentsGravity(&self) -> Retained<NSString>

Source

pub fn setContentsGravity(&self, contents_gravity: &NSString)

Setter for contentsGravity.

This is copied when set.

Source

pub fn contentsFormat(&self) -> Retained<NSString>

Source

pub fn setContentsFormat(&self, contents_format: &NSString)

Setter for contentsFormat.

This is copied when set.

Source

pub fn wantsExtendedDynamicRangeContent(&self) -> bool

👎Deprecated: Use preferredDynamicRange instead
Source

pub fn setWantsExtendedDynamicRangeContent( &self, wants_extended_dynamic_range_content: bool, )

👎Deprecated: Use preferredDynamicRange instead
Source

pub fn toneMapMode(&self) -> Retained<NSString>

Source

pub fn setToneMapMode(&self, tone_map_mode: &NSString)

Setter for toneMapMode.

This is copied when set.

Source

pub fn preferredDynamicRange(&self) -> Retained<NSString>

Source

pub fn setPreferredDynamicRange(&self, preferred_dynamic_range: &NSString)

Setter for preferredDynamicRange.

This is copied when set.

Source

pub fn wantsDynamicContentScaling(&self) -> bool

Source

pub fn setWantsDynamicContentScaling(&self, wants_dynamic_content_scaling: bool)

Source

pub fn minificationFilter(&self) -> Retained<NSString>

Source

pub fn setMinificationFilter(&self, minification_filter: &NSString)

Setter for minificationFilter.

This is copied when set.

Source

pub fn magnificationFilter(&self) -> Retained<NSString>

Source

pub fn setMagnificationFilter(&self, magnification_filter: &NSString)

Setter for magnificationFilter.

This is copied when set.

Source

pub fn minificationFilterBias(&self) -> f32

Source

pub fn setMinificationFilterBias(&self, minification_filter_bias: f32)

Source

pub fn isOpaque(&self) -> bool

Source

pub fn setOpaque(&self, opaque: bool)

Setter for isOpaque.

Source

pub fn display(&self)

Source

pub fn setNeedsDisplay(&self)

Source

pub fn needsDisplay(&self) -> bool

Source

pub fn displayIfNeeded(&self)

Source

pub fn needsDisplayOnBoundsChange(&self) -> bool

Source

pub fn setNeedsDisplayOnBoundsChange( &self, needs_display_on_bounds_change: bool, )

Source

pub fn drawsAsynchronously(&self) -> bool

Source

pub fn setDrawsAsynchronously(&self, draws_asynchronously: bool)

Setter for drawsAsynchronously.

Source

pub fn edgeAntialiasingMask(&self) -> CAEdgeAntialiasingMask

Source

pub fn setEdgeAntialiasingMask( &self, edge_antialiasing_mask: CAEdgeAntialiasingMask, )

Source

pub fn allowsEdgeAntialiasing(&self) -> bool

Source

pub fn setAllowsEdgeAntialiasing(&self, allows_edge_antialiasing: bool)

Source

pub fn maskedCorners(&self) -> CACornerMask

Source

pub fn setMaskedCorners(&self, masked_corners: CACornerMask)

Setter for maskedCorners.

Source

pub fn cornerCurve(&self) -> Retained<NSString>

Source

pub fn setCornerCurve(&self, corner_curve: &NSString)

Setter for cornerCurve.

This is copied when set.

Source

pub fn opacity(&self) -> f32

Source

pub fn setOpacity(&self, opacity: f32)

Setter for opacity.

Source

pub fn allowsGroupOpacity(&self) -> bool

Source

pub fn setAllowsGroupOpacity(&self, allows_group_opacity: bool)

Setter for allowsGroupOpacity.

Source

pub fn compositingFilter(&self) -> Option<Retained<AnyObject>>

Source

pub unsafe fn setCompositingFilter( &self, compositing_filter: Option<&AnyObject>, )

Setter for compositingFilter.

§Safety

compositing_filter should be of the correct type.

Source

pub fn filters(&self) -> Option<Retained<NSArray>>

Source

pub unsafe fn setFilters(&self, filters: Option<&NSArray>)

Setter for filters.

This is copied when set.

§Safety

filters generic should be of the correct type.

Source

pub fn backgroundFilters(&self) -> Option<Retained<NSArray>>

Source

pub unsafe fn setBackgroundFilters(&self, background_filters: Option<&NSArray>)

Setter for backgroundFilters.

This is copied when set.

§Safety

background_filters generic should be of the correct type.

Source

pub fn shouldRasterize(&self) -> bool

Source

pub fn setShouldRasterize(&self, should_rasterize: bool)

Setter for shouldRasterize.

Source

pub fn shadowOpacity(&self) -> f32

Source

pub fn setShadowOpacity(&self, shadow_opacity: f32)

Setter for shadowOpacity.

Source

pub fn autoresizingMask(&self) -> CAAutoresizingMask

Layout methods. *

Source

pub fn setAutoresizingMask(&self, autoresizing_mask: CAAutoresizingMask)

Setter for autoresizingMask.

Source

pub fn layoutManager( &self, ) -> Option<Retained<ProtocolObject<dyn CALayoutManager>>>

Source

pub fn setLayoutManager( &self, layout_manager: Option<&ProtocolObject<dyn CALayoutManager>>, )

Setter for layoutManager.

Source

pub fn setNeedsLayout(&self)

Source

pub fn needsLayout(&self) -> bool

Source

pub fn layoutIfNeeded(&self)

Source

pub fn layoutSublayers(&self)

Source

pub fn actionForKey( &self, event: &NSString, ) -> Option<Retained<ProtocolObject<dyn CAAction>>>

Source

pub fn actions( &self, ) -> Option<Retained<NSDictionary<NSString, ProtocolObject<dyn CAAction>>>>

Source

pub fn setActions( &self, actions: Option<&NSDictionary<NSString, ProtocolObject<dyn CAAction>>>, )

Setter for actions.

This is copied when set.

Source

pub fn removeAllAnimations(&self)

Source

pub fn removeAnimationForKey(&self, key: &NSString)

Source

pub fn animationKeys(&self) -> Option<Retained<NSArray<NSString>>>

Source

pub fn name(&self) -> Option<Retained<NSString>>

Miscellaneous properties. *

Source

pub fn setName(&self, name: Option<&NSString>)

Setter for name.

This is copied when set.

Source

pub fn delegate(&self) -> Option<Retained<ProtocolObject<dyn CALayerDelegate>>>

Source

pub fn setDelegate( &self, delegate: Option<&ProtocolObject<dyn CALayerDelegate>>, )

Setter for delegate.

This is a weak property.

Source

pub fn style(&self) -> Option<Retained<NSDictionary>>

Source

pub unsafe fn setStyle(&self, style: Option<&NSDictionary>)

Setter for style.

This is copied when set.

§Safety

style generic should be of the correct type.

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<AVPlayerLayer> for AVPlayerLayer

Source§

fn as_ref(&self) -> &Self

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

impl AsRef<AnyObject> for AVPlayerLayer

Source§

fn as_ref(&self) -> &AnyObject

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

impl AsRef<CALayer> for AVPlayerLayer

Source§

fn as_ref(&self) -> &CALayer

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

impl AsRef<NSObject> for AVPlayerLayer

Source§

fn as_ref(&self) -> &NSObject

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

impl Borrow<AnyObject> for AVPlayerLayer

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<CALayer> for AVPlayerLayer

Source§

fn borrow(&self) -> &CALayer

Immutably borrows from an owned value. Read more
Source§

impl Borrow<NSObject> for AVPlayerLayer

Source§

fn borrow(&self) -> &NSObject

Immutably borrows from an owned value. Read more
Source§

impl CAMediaTiming for AVPlayerLayer

Source§

fn speed(&self) -> f32
where Self: Sized + Message,

Source§

fn setSpeed(&self, speed: f32)
where Self: Sized + Message,

Setter for speed.
Source§

fn repeatCount(&self) -> f32
where Self: Sized + Message,

Source§

fn setRepeatCount(&self, repeat_count: f32)
where Self: Sized + Message,

Setter for repeatCount.
Source§

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

Source§

fn setAutoreverses(&self, autoreverses: bool)
where Self: Sized + Message,

Setter for autoreverses.
Source§

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

Source§

fn setFillMode(&self, fill_mode: &NSString)
where Self: Sized + Message,

Setter for fillMode. Read more
Source§

impl ClassType for AVPlayerLayer

Source§

const NAME: &'static str = "AVPlayerLayer"

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

type Super = CALayer

The superclass of this class. Read more
Source§

type ThreadKind = <<AVPlayerLayer 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 AVPlayerLayer

Source§

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

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

impl Deref for AVPlayerLayer

Source§

type Target = CALayer

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Hash for AVPlayerLayer

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 AVPlayerLayer

Source§

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

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

impl NSCoding for AVPlayerLayer

Source§

unsafe fn encodeWithCoder(&self, coder: &NSCoder)
where Self: Sized + Message,

Safety Read more
Source§

unsafe fn initWithCoder( this: Allocated<Self>, coder: &NSCoder, ) -> Option<Retained<Self>>
where Self: Sized + Message,

Safety Read more
Source§

impl NSObjectProtocol for AVPlayerLayer

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 NSSecureCoding for AVPlayerLayer

Source§

impl PartialEq for AVPlayerLayer

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 AVPlayerLayer

Source§

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

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

impl DowncastTarget for AVPlayerLayer

Source§

impl Eq for AVPlayerLayer

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,