Mercurial > projects > dstep
diff dstep/corefoundation/CFNumberFormatter.d @ 11:07194b026fa4
Added bindings to a couple of frameworks, new license + some other things
author | Jacob Carlborg <doob@me.com> |
---|---|
date | Sat, 01 Aug 2009 15:03:28 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dstep/corefoundation/CFNumberFormatter.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,116 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Jul 12, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.corefoundation.CFNumberFormatter; + +import dstep.corefoundation.CFBase; +import dstep.corefoundation.CFLocale; +import dstep.corefoundation.CFNumber; +import dstep.objc.bridge.Bridge; +import dstep.objc.objc : id; + +struct __CFNumberFormatter; +alias __CFNumberFormatter* CFNumberFormatterRef; +alias int CFNumberFormatterStyle; +alias uint CFNumberFormatterOptionFlags; +alias int CFNumberFormatterRoundingMode; +alias int CFNumberFormatterPadPosition; + +extern (C) +{ + extern + { + const CFStringRef kCFNumberFormatterCurrencyCode; + const CFStringRef kCFNumberFormatterDecimalSeparator; + const CFStringRef kCFNumberFormatterCurrencyDecimalSeparator; + const CFStringRef kCFNumberFormatterAlwaysShowDecimalSeparator; + const CFStringRef kCFNumberFormatterGroupingSeparator; + const CFStringRef kCFNumberFormatterUseGroupingSeparator; + const CFStringRef kCFNumberFormatterPercentSymbol; + const CFStringRef kCFNumberFormatterZeroSymbol; + const CFStringRef kCFNumberFormatterNaNSymbol; + const CFStringRef kCFNumberFormatterInfinitySymbol; + const CFStringRef kCFNumberFormatterMinusSign; + const CFStringRef kCFNumberFormatterPlusSign; + const CFStringRef kCFNumberFormatterCurrencySymbol; + const CFStringRef kCFNumberFormatterExponentSymbol; + const CFStringRef kCFNumberFormatterMinIntegerDigits; + const CFStringRef kCFNumberFormatterMaxIntegerDigits; + const CFStringRef kCFNumberFormatterMinFractionDigits; + const CFStringRef kCFNumberFormatterMaxFractionDigits; + const CFStringRef kCFNumberFormatterGroupingSize; + const CFStringRef kCFNumberFormatterSecondaryGroupingSize; + const CFStringRef kCFNumberFormatterRoundingMode; + const CFStringRef kCFNumberFormatterRoundingIncrement; + const CFStringRef kCFNumberFormatterFormatWidth; + const CFStringRef kCFNumberFormatterPaddingPosition; + const CFStringRef kCFNumberFormatterPaddingCharacter; + const CFStringRef kCFNumberFormatterDefaultFormat; + const CFStringRef kCFNumberFormatterMultiplier; + const CFStringRef kCFNumberFormatterPositivePrefix; + const CFStringRef kCFNumberFormatterPositiveSuffix; + const CFStringRef kCFNumberFormatterNegativePrefix; + const CFStringRef kCFNumberFormatterNegativeSuffix; + const CFStringRef kCFNumberFormatterPerMillSymbol; + const CFStringRef kCFNumberFormatterInternationalCurrencySymbol; + const CFStringRef kCFNumberFormatterCurrencyGroupingSeparator; + const CFStringRef kCFNumberFormatterIsLenient; + const CFStringRef kCFNumberFormatterUseSignificantDigits; + const CFStringRef kCFNumberFormatterMinSignificantDigits; + const CFStringRef kCFNumberFormatterMaxSignificantDigits; + } +} + +enum +{ + kCFNumberFormatterNoStyle = 0, + kCFNumberFormatterDecimalStyle = 1, + kCFNumberFormatterCurrencyStyle = 2, + kCFNumberFormatterPercentStyle = 3, + kCFNumberFormatterScientificStyle = 4, + kCFNumberFormatterSpellOutStyle = 5 +} + +enum +{ + kCFNumberFormatterParseIntegersOnly = 1 +} + +enum +{ + kCFNumberFormatterRoundCeiling = 0, + kCFNumberFormatterRoundFloor = 1, + kCFNumberFormatterRoundDown = 2, + kCFNumberFormatterRoundUp = 3, + kCFNumberFormatterRoundHalfEven = 4, + kCFNumberFormatterRoundHalfDown = 5, + kCFNumberFormatterRoundHalfUp = 6 +} + +enum +{ + kCFNumberFormatterPadBeforePrefix = 0, + kCFNumberFormatterPadAfterPrefix = 1, + kCFNumberFormatterPadBeforeSuffix = 2, + kCFNumberFormatterPadAfterSuffix = 3 +} + +extern (C) +{ + uint CFNumberFormatterGetTypeID (); + CFNumberFormatterRef CFNumberFormatterCreate (CFAllocatorRef allocator, CFLocaleRef locale, int style); + CFLocaleRef CFNumberFormatterGetLocale (CFNumberFormatterRef formatter); + int CFNumberFormatterGetStyle (CFNumberFormatterRef formatter); + CFStringRef CFNumberFormatterGetFormat (CFNumberFormatterRef formatter); + void CFNumberFormatterSetFormat (CFNumberFormatterRef formatter, CFStringRef formatString); + CFStringRef CFNumberFormatterCreateStringWithNumber (CFAllocatorRef allocator, CFNumberFormatterRef formatter, CFNumberRef number); + CFStringRef CFNumberFormatterCreateStringWithValue (CFAllocatorRef allocator, CFNumberFormatterRef formatter, int numberType, void* valuePtr); + CFNumberRef CFNumberFormatterCreateNumberFromString (CFAllocatorRef allocator, CFNumberFormatterRef formatter, CFStringRef string, CFRange* rangep, uint options); + ubyte CFNumberFormatterGetValueFromString (CFNumberFormatterRef formatter, CFStringRef string, CFRange* rangep, int numberType, void* valuePtr); + void CFNumberFormatterSetProperty (CFNumberFormatterRef formatter, CFStringRef key, void* value); + void* CFNumberFormatterCopyProperty (CFNumberFormatterRef formatter, CFStringRef key); + ubyte CFNumberFormatterGetDecimalInfoForCurrencyCode (CFStringRef currencyCode, int* defaultFractionDigits, double* roundingIncrement); +} \ No newline at end of file