Mercurial > projects > dstep
diff dstep/coreservices/carboncore/TextUtils.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/coreservices/carboncore/TextUtils.d Sat Aug 01 15:03:28 2009 +0200 @@ -0,0 +1,83 @@ +/** + * Copyright: Copyright (c) 2009 Jacob Carlborg. + * Authors: Jacob Carlborg + * Version: Initial created: Jul 21, 2009 + * License: $(LINK2 http://www.boost.org/LICENSE_1_0.txt, Boost Software License 1.0) + */ +module dstep.coreservices.carboncore.TextUtils; + +//import dstep.AvailabilityMacros; +import dstep.coreservices.carboncore.DateTimeUtils; +import dstep.coreservices.carboncore.IntlResources; +import dstep.coreservices.carboncore.MacTypes; +import dstep.coreservices.carboncore.NumberFormatting; +import dstep.coreservices.carboncore.StringCompare; +import dstep.internal.Types; +import dstep.internal.Version; + +extern (C) +{ + int Munger (Handle h, int offset, void* ptr1, int len1, void* ptr2, int len2); +} + +static if (!D_LP64) +{ + struct ScriptRunStatus + { + byte script; + byte runVariant; + } + + struct BreakTable + { + char[256] charTypes; + short tripleLength; + short[1] triples; + } + + alias BreakTable* BreakTablePtr; + + struct NBreakTable + { + byte flags1; + byte flags2; + short version_; + short classTableOff; + short auxCTableOff; + short backwdTableOff; + short forwdTableOff; + short doBackup; + short length; + char[256] charTypes; + short[1] tables; + } + + alias NBreakTable* NBreakTablePtr; + + extern (C) + { + StringHandle NewString (ConstStr255Param theString); + void SetString (StringHandle theString, ConstStr255Param); + StringHandle GetString (short stringID); + void GetIndString (Str255 theString, short strListID, short itemIndex); + void FindWordBreaks (Ptr textPtr, short textLength, short offset, bool leadingEdge, BreakTablePtr breaks, OffsetTable offsets, ScriptCode script); + void LowercaseText (Ptr textPtr, short len, ScriptCode script); + void UppercaseText (Ptr textPtr, short len, ScriptCode script); + void StripDiacritics (Ptr textPtr, short len, ScriptCode script); + void UppercaseStripDiacritics (Ptr textPtr, short len, ScriptCode script); + ScriptRunStatus FindScriptRun (Ptr textPtr, c_long textLen, c_long lenUsed); + void UpperString (Str255 theString, bool diacSensitive); + void upperstring (char* theString, bool diacSensitive); + void c2pstrcpy (Str255 dst, /*const*/ char* src); + void p2cstrcpy (char* dst, ConstStr255Param src); + void CopyPascalStringToC (ConstStr255Param src, char* dst); + void CopyCStringToPascal (/*const*/ char* src, Str255 dst); + StringPtr c2pstr (char* aStr); + StringPtr C2PStr (Ptr cString); + char* p2cstr (StringPtr aStr); + Ptr P2CStr (StringPtr pString); + } +} + +extern (C): +c_long Munger (Handle h, c_long offset, /*const*/ void* ptr1, c_long len1, /*const*/ void* ptr2, c_long len2); \ No newline at end of file