// Copyright 2019 The Servo Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. use crate::base::{Boolean, CFAllocatorRef, CFIndex, CFRange, CFTypeID, UTF32Char}; use crate::data::CFDataRef; use crate::string::{CFStringRef, UniChar}; use std::os::raw::c_void; pub type CFCharacterSetPredefinedSet = CFIndex; // Members of CFCharacterSetPredefinedSet enum pub static kCFCharacterSetControl: CFCharacterSetPredefinedSet = 1; pub static kCFCharacterSetWhitespace: CFCharacterSetPredefinedSet = 2; pub static kCFCharacterSetWhitespaceAndNewline: CFCharacterSetPredefinedSet = 3; pub static kCFCharacterSetDecimalDigit: CFCharacterSetPredefinedSet = 4; pub static kCFCharacterSetLetter: CFCharacterSetPredefinedSet = 5; pub static kCFCharacterSetLowercaseLetter: CFCharacterSetPredefinedSet = 6; pub static kCFCharacterSetUppercaseLetter: CFCharacterSetPredefinedSet = 7; pub static kCFCharacterSetNonBase: CFCharacterSetPredefinedSet = 8; pub static kCFCharacterSetDecomposable: CFCharacterSetPredefinedSet = 9; pub static kCFCharacterSetAlphaNumeric: CFCharacterSetPredefinedSet = 10; pub static kCFCharacterSetPunctuation: CFCharacterSetPredefinedSet = 11; pub static kCFCharacterSetIllegal: CFCharacterSetPredefinedSet = 12; pub static kCFCharacterSetCapitalizedLetter: CFCharacterSetPredefinedSet = 13; pub static kCFCharacterSetSymbol: CFCharacterSetPredefinedSet = 14; pub static kCFCharacterSetNewline: CFCharacterSetPredefinedSet = 15; #[repr(C)] pub struct __CFCharacterSet(c_void); pub type CFCharacterSetRef = *const __CFCharacterSet; pub type CFMutableCharacterSetRef = *mut __CFCharacterSet; extern "C" { /* * CFCharacterSet.h */ /* CFCharacterSet */ /* Creating Character Sets */ pub fn CFCharacterSetCreateCopy( alloc: CFAllocatorRef, theSet: CFCharacterSetRef, ) -> CFCharacterSetRef; pub fn CFCharacterSetCreateInvertedSet( alloc: CFAllocatorRef, theSet: CFCharacterSetRef, ) -> CFCharacterSetRef; pub fn CFCharacterSetCreateWithCharactersInRange( alloc: CFAllocatorRef, theRange: CFRange, ) -> CFCharacterSetRef; pub fn CFCharacterSetCreateWithCharactersInString( alloc: CFAllocatorRef, theString: CFStringRef, ) -> CFCharacterSetRef; pub fn CFCharacterSetCreateWithBitmapRepresentation( alloc: CFAllocatorRef, theData: CFDataRef, ) -> CFCharacterSetRef; /* Getting Predefined Character Sets */ pub fn CFCharacterSetGetPredefined( theSetIdentifier: CFCharacterSetPredefinedSet, ) -> CFCharacterSetRef; /* Querying Character Sets */ pub fn CFCharacterSetCreateBitmapRepresentation( alloc: CFAllocatorRef, theSet: CFCharacterSetRef, ) -> CFDataRef; pub fn CFCharacterSetHasMemberInPlane(theSet: CFCharacterSetRef, thePlane: CFIndex) -> Boolean; pub fn CFCharacterSetIsCharacterMember(theSet: CFCharacterSetRef, theChar: UniChar) -> Boolean; pub fn CFCharacterSetIsLongCharacterMember( theSet: CFCharacterSetRef, theChar: UTF32Char, ) -> Boolean; pub fn CFCharacterSetIsSupersetOfSet( theSet: CFCharacterSetRef, theOtherset: CFCharacterSetRef, ) -> Boolean; /* Getting the Character Set Type Identifier */ pub fn CFCharacterSetGetTypeID() -> CFTypeID; /* CFMutableCharacterSet */ /* Creating a Mutable Character Set */ pub fn CFCharacterSetCreateMutable(alloc: CFAllocatorRef) -> CFMutableCharacterSetRef; pub fn CFCharacterSetCreateMutableCopy( alloc: CFAllocatorRef, theSet: CFCharacterSetRef, ) -> CFMutableCharacterSetRef; /* Adding Characters */ pub fn CFCharacterSetAddCharactersInRange(theSet: CFMutableCharacterSetRef, theRange: CFRange); pub fn CFCharacterSetAddCharactersInString( theSet: CFMutableCharacterSetRef, theString: CFStringRef, ); /* Removing Characters */ pub fn CFCharacterSetRemoveCharactersInRange( theSet: CFMutableCharacterSetRef, theRange: CFRange, ); pub fn CFCharacterSetRemoveCharactersInString( theSet: CFMutableCharacterSetRef, theString: CFStringRef, ); /* Logical Operations */ pub fn CFCharacterSetIntersect( theSet: CFMutableCharacterSetRef, theOtherSet: CFCharacterSetRef, ); pub fn CFCharacterSetInvert(theSet: CFMutableCharacterSetRef); pub fn CFCharacterSetUnion(theSet: CFMutableCharacterSetRef, theOtherSet: CFCharacterSetRef); }