Platforms to show: All Mac Windows Linux Cross-Platform

FAQ.The type translation between CoreFoundation/Foundation and Xojo data types.

Answer: The plugin does conversion between Cocoa/Carbon data types and native Xojo data types. The following list help you knowing what the current plugins support:

Cocoa NSObject to Variant:

nil -> nil
NSDictionary -> Dictionary
NSData -> MemoryBlock
NSString -> String
NSAttributedString -> NSAttributedStringMBS
NSDate -> Date
NSNumber -> double/integer/Int64/UInt64/UInt32/Boolean
NSURL -> String
NSValue with NSRect -> NSRectMBS
NSValue with NSPoint -> NSPointMBS
NSValue with NSSize -> NSSizeMBS
NSValue with NSRange -> NSRangeMBS
NSValue with QTTime -> QTTimeMBS
NSValue with QTTimeRange -> QTTimeRangeMBS
NSArray -> Array of Variant
QuartzFilter -> QuartzFilterMBS

  • -> *MBS

  • Variant to Cocoa NSObject:

    nil -> nil
    Dictionary -> NSDictionary
    Boolean -> NSNumber
    Integer -> NSNumber
    Color -> NSColor
    Int64 -> NSNumber
    Single -> NSNumber
    Double -> NSNumber
    Date -> NSDate
    MemoryBlock -> NSData
    String -> NSString
    NSImageMBS -> NSImage
    NSAttributedStringMBS ->NSAttributedString
    NSColorMBS -> NSColor
    NSRectMBS -> NSValue with NSRect
    NSSizeMBS -> NSValue with NSSize
    NSPointMBS -> NSValue with NSPoint
    NSRangeMBS -> NSValue with NSRange
    NSBurnMBS -> NSBurn
    NSViewMBS -> NSView
    NSFontMBS -> NSFont
    NSParagraphStyleMBS -> NSParagraphStyle
    NSAttributedStringMBS -> NSAttributedString
    WebPolicyDelegateMBS -> WebPolicyDelegate
    WebUIDelegateMBS -> WebUIDelegate
    WebFrameLoadDelegateMBS -> WebFrameLoadDelegate
    WebResourceLoadDelegateMBS -> WebResourceLoadDelegate
    NSIndexSetMBS -> NSIndexSet
    QTTimeMBS -> QTTime
    QTTimeRangeMBS -> QTTimeRange
    Array of Variant -> NSArray
    Array of String -> NSArray
    CFStringMBS -> NSString
    CFNumberMBS -> NSNumber
    CFDataMBS -> NSData
    CFURLMBS -> NSURL
    CFArrayMBS -> NSArray
    CFDictionaryMBS -> NSDictionary
    CFBinaryDataMBS -> NSDate

    Carbon CFTypeRef to Variant:

    CFDictionaryRef -> Dictionary
    CFStringRef -> String
    CFDataRef -> String
    CFURL -> String
    CFNumber -> Integer/Double/Int64
    CFArray -> Array
    CFDate -> date
    nil -> nil
    CGColorSpace -> CGColorSpaceMBS
    CGColor -> CGColorMBS
    CGImage -> CGImageMBS
    CF* -> CF*MBS


    Variant to Carbon CFTypeRef:

    Dictionary -> CFDictionaryRef
    Boolean -> CFBooleanRef
    Color -> CFNumberRef
    Integer -> CFNumberRef
    Int64 -> CFNumberRef
    Single -> CFNumberRef
    Double -> CFNumberRef
    String -> CFStringRef
    Color -> CGColorRef
    Date -> CFDateRef
    nil -> nil
    Memoryblock -> CFDataRef
    FolderItem -> CFURLRef
    Dictionary -> CFDictionaryRef
    Array of Variant/String/Date/Double/Single/Int64/Integer -> CFArray
    CGRectMBS -> CGRect as CFDataRef
    CGSizeMBS -> CGSize as CFDataRef
    CGPointMBS -> CGPoint as CFDataRef
    CGColorMBS -> CGColor
    CGColorSpaceMBS -> CGColorSpace
    CGImageMBS -> CGImage
    CGDataConsumerMBS -> CGDataConsumer
    CGDataProviderMBS -> CGDataProvider
    CF*MBS -> CF*

    Strings without encodings should be put into dictionaries as memoryblocks.


    The biggest plugin in space...