1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
use std::os::raw::c_void;
use base::{CFAllocatorRef, CFTypeRef, CFIndex, CFRange, CFTypeID};
use string::CFStringRef;
use dictionary::CFDictionaryRef;
#[repr(C)]
pub struct __CFAttributedString(c_void);
pub type CFAttributedStringRef = *const __CFAttributedString;
pub type CFMutableAttributedStringRef = *const __CFAttributedString;
extern {
pub fn CFAttributedStringCreate(
allocator: CFAllocatorRef,
str: CFStringRef,
attributes: CFDictionaryRef,
) -> CFAttributedStringRef;
pub fn CFAttributedStringGetLength(astr: CFAttributedStringRef) -> CFIndex;
pub fn CFAttributedStringGetTypeID() -> CFTypeID;
pub fn CFAttributedStringCreateMutableCopy(
allocator: CFAllocatorRef, max_length: CFIndex, astr: CFAttributedStringRef
) -> CFMutableAttributedStringRef;
pub fn CFAttributedStringCreateMutable(
allocator: CFAllocatorRef,
max_length: CFIndex,
) -> CFMutableAttributedStringRef;
pub fn CFAttributedStringReplaceString(
astr: CFMutableAttributedStringRef, range: CFRange, replacement: CFStringRef);
pub fn CFAttributedStringSetAttribute(
astr: CFMutableAttributedStringRef,
range: CFRange,
attr_name: CFStringRef,
value: CFTypeRef,
);
pub fn CFMutableAttributedStringGetTypeID() -> CFTypeID;
}