Struct CFAttributedString

Source
#[repr(C)]
pub struct CFAttributedString { /* private fields */ }
Available on crate feature CFAttributedString only.
Expand description

Implementations§

Source§

impl CFAttributedString

Source

pub unsafe fn new( alloc: Option<&CFAllocator>, str: Option<&CFString>, attributes: Option<&CFDictionary>, ) -> Option<CFRetained<CFAttributedString>>

Available on crate feature CFDictionary only.

Creates an attributed string with the specified string and attributes (both copied).

Source

pub unsafe fn with_substring( alloc: Option<&CFAllocator>, a_str: Option<&CFAttributedString>, range: CFRange, ) -> Option<CFRetained<CFAttributedString>>

Creates a sub-attributed string from the specified range. It’s a programming error for range to specify characters outside the bounds of aStr.

Source

pub fn new_copy( alloc: Option<&CFAllocator>, a_str: Option<&CFAttributedString>, ) -> Option<CFRetained<CFAttributedString>>

Creates an immutable attributed string copy.

Source

pub fn string(self: &CFAttributedString) -> Option<CFRetained<CFString>>

Returns the string for the attributed string. For performance reasons, this will often point at the backing store of the attributed string, and it might change if the attributed string is edited. However, this is an implementation detail, and definitely not something that should be counted on.

Source

pub fn length(self: &CFAttributedString) -> CFIndex

Returns the length of the attributed string in characters; same as CFStringGetLength(CFAttributedStringGetString(aStr))

Source

pub unsafe fn attributes( self: &CFAttributedString, loc: CFIndex, effective_range: *mut CFRange, ) -> Option<CFRetained<CFDictionary>>

Available on crate feature CFDictionary only.

Returns the attributes at the specified location. If effectiveRange is not NULL, upon return *effectiveRange contains a range over which the exact same set of attributes apply. Note that for performance reasons, the returned effectiveRange is not necessarily the maximal range - for that, use CFAttributedStringGetAttributesAndLongestEffectiveRange(). It’s a programming error for loc to specify a location outside the bounds of the attributed string.

Note that the returned attribute dictionary might change in unpredictable ways from under the caller if the attributed string is edited after this call. If you wish to hang on to the dictionary long-term, you should make an actual copy of it rather than just retaining it. Also, no assumptions should be made about the relationship of the actual CFDictionaryRef returned by this call and the dictionary originally used to set the attributes, other than the fact that the values stored in the dictionary will be identical (that is, ==) to those originally specified.

Source

pub unsafe fn attribute( self: &CFAttributedString, loc: CFIndex, attr_name: Option<&CFString>, effective_range: *mut CFRange, ) -> Option<CFRetained<CFType>>

Returns the value of a single attribute at the specified location. If the specified attribute doesn’t exist at the location, returns NULL. If effectiveRange is not NULL, upon return *effectiveRange contains a range over which the exact same attribute value applies. Note that for performance reasons, the returned effectiveRange is not necessarily the maximal range - for that, use CFAttributedStringGetAttributeAndLongestEffectiveRange(). It’s a programming error for loc to specify a location outside the bounds of the attributed string.

Source

pub unsafe fn attributes_and_longest_effective_range( self: &CFAttributedString, loc: CFIndex, in_range: CFRange, longest_effective_range: *mut CFRange, ) -> Option<CFRetained<CFDictionary>>

Available on crate feature CFDictionary only.

Returns the attributes at the specified location. If longestEffectiveRange is not NULL, upon return *longestEffectiveRange contains the maximal range within inRange over which the exact same set of attributes apply. The returned range is clipped to inRange. It’s a programming error for loc or inRange to specify locations outside the bounds of the attributed string.

Source

pub unsafe fn attribute_and_longest_effective_range( self: &CFAttributedString, loc: CFIndex, attr_name: Option<&CFString>, in_range: CFRange, longest_effective_range: *mut CFRange, ) -> Option<CFRetained<CFType>>

Returns the value of a single attribute at the specified location. If longestEffectiveRange is not NULL, upon return *longestEffectiveRange contains the maximal range within inRange over which the exact same attribute value applies. The returned range is clipped to inRange. It’s a programming error for loc or inRange to specify locations outside the bounds of the attributed string.

Source§

impl CFAttributedString

Source

pub unsafe fn bidi_levels_and_resolved_directions( self: &CFAttributedString, range: CFRange, base_direction: i8, bidi_levels: *mut u8, base_directions: *mut u8, ) -> bool

Fills bidiLevels by applying the Unicode Bidi Algorithm (P, X, W, N, and I) to the characters in range. Returns true if the result is not uni-level LTR (in other words, needing further Bidi processing). baseDirection is NSWritingDirection (NSWritingDirectionNatural, NSWritingDirectionLeftToRight, and NSWritingDirectionRightToLeft). Understands NSWritingDirectionAttributeName values.

Methods from Deref<Target = CFType>§

Source

pub fn downcast_ref<T: ConcreteType>(&self) -> Option<&T>

Attempt to downcast the type to that of type T.

This is the reference-variant. Use CFRetained::downcast if you want to convert a retained type. See also ConcreteType for more details on which types support being converted to.

Source

pub fn retain_count(&self) -> usize

Get the reference count of the object.

This function may be useful for debugging. You normally do not use this function otherwise.

Beware that some things (like CFNumbers, small CFStrings etc.) may not have a normal retain count for optimization purposes, and can return usize::MAX in that case.

Trait Implementations§

Source§

impl AsRef<AnyObject> for CFAttributedString

Source§

fn as_ref(&self) -> &AnyObject

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

impl AsRef<CFAttributedString> for CFAttributedString

Source§

fn as_ref(&self) -> &Self

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

impl AsRef<CFAttributedString> for CFMutableAttributedString

Source§

fn as_ref(&self) -> &CFAttributedString

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

impl AsRef<CFType> for CFAttributedString

Source§

fn as_ref(&self) -> &CFType

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

impl Borrow<AnyObject> for CFAttributedString

Source§

fn borrow(&self) -> &AnyObject

Immutably borrows from an owned value. Read more
Source§

impl Borrow<CFAttributedString> for CFMutableAttributedString

Source§

fn borrow(&self) -> &CFAttributedString

Immutably borrows from an owned value. Read more
Source§

impl Borrow<CFType> for CFAttributedString

Source§

fn borrow(&self) -> &CFType

Immutably borrows from an owned value. Read more
Source§

impl ConcreteType for CFAttributedString

Source§

fn type_id() -> CFTypeID

Returns the type identifier of all CFAttributedString instances.

Source§

impl Debug for CFAttributedString

Source§

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

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

impl Deref for CFAttributedString

Source§

type Target = CFType

The resulting type after dereferencing.
Source§

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

Dereferences the value.
Source§

impl Hash for CFAttributedString

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 CFAttributedString

Source§

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

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

impl PartialEq for CFAttributedString

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 CFAttributedString

Source§

const ENCODING_REF: Encoding

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

impl Type for CFAttributedString

Source§

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

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

fn as_concrete_TypeRef(&self) -> &Self

👎Deprecated: this is redundant
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_get_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::retain
Helper for easier transition from the core-foundation crate. Read more
Source§

fn as_CFTypeRef(&self) -> &CFType
where Self: AsRef<CFType>,

👎Deprecated: this is redundant (CF types deref to CFType)
Helper for easier transition from the core-foundation crate.
Source§

unsafe fn wrap_under_create_rule(ptr: *const Self) -> CFRetained<Self>
where Self: Sized,

👎Deprecated: use CFRetained::from_raw
Helper for easier transition from the core-foundation crate. Read more
Source§

impl Eq for CFAttributedString

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<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,