Mercurial > projects > dstep
view dstep/coreservices/carboncore/Script.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 source
/** * 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.Script; //import dstep.AvailabilityMacros; import dstep.coreservices.carboncore.IntlResources; import dstep.coreservices.carboncore.MacTypes; import dstep.internal.Types; alias byte TokenResults; alias short ScriptTokenType; alias TokenRec* TokenRecPtr; alias TokenBlock* TokenBlockPtr; enum { smSystemScript = -1, smCurrentScript = -2, smAllScripts = -3 } enum { smRoman = 0, smJapanese = 1, smTradChinese = 2, smKorean = 3, smArabic = 4, smHebrew = 5, smGreek = 6, smCyrillic = 7, smRSymbol = 8, smDevanagari = 9, smGurmukhi = 10, smGujarati = 11, smOriya = 12, smBengali = 13, smTamil = 14, smTelugu = 15, smKannada = 16, smMalayalam = 17, smSinhalese = 18, smBurmese = 19, smKhmer = 20, smThai = 21, smLao = 22, smGeorgian = 23, smArmenian = 24, smSimpChinese = 25, smTibetan = 26, smMongolian = 27, smEthiopic = 28, smGeez = 28, smCentralEuroRoman = 29, smVietnamese = 30, smExtArabic = 31, smUninterp = 32 } enum { smUnicodeScript = 0x7E } enum { smChinese = 2, smRussian = 7, smLaotian = 22, smAmharic = 28, smSlavic = 29, smEastEurRoman = 29, smSindhi = 31, smKlingon = 32 } enum { langEnglish = 0, langFrench = 1, langGerman = 2, langItalian = 3, langDutch = 4, langSwedish = 5, langSpanish = 6, langDanish = 7, langPortuguese = 8, langNorwegian = 9, langHebrew = 10, langJapanese = 11, langArabic = 12, langFinnish = 13, langGreek = 14, langIcelandic = 15, langMaltese = 16, langTurkish = 17, langCroatian = 18, langTradChinese = 19, langUrdu = 20, langHindi = 21, langThai = 22, langKorean = 23 } enum { langLithuanian = 24, langPolish = 25, langHungarian = 26, langEstonian = 27, langLatvian = 28, langSami = 29, langFaroese = 30, langFarsi = 31, langPersian = 31, langRussian = 32, langSimpChinese = 33, langFlemish = 34, langIrishGaelic = 35, langAlbanian = 36, langRomanian = 37, langCzech = 38, langSlovak = 39, langSlovenian = 40, langYiddish = 41, langSerbian = 42, langMacedonian = 43, langBulgarian = 44, langUkrainian = 45, langByelorussian = 46, langBelorussian = 46 } enum { langUzbek = 47, langKazakh = 48, langAzerbaijani = 49, langAzerbaijanAr = 50, langArmenian = 51, langGeorgian = 52, langMoldavian = 53, langKirghiz = 54, langTajiki = 55, langTurkmen = 56, langMongolian = 57, langMongolianCyr = 58, langPashto = 59, langKurdish = 60, langKashmiri = 61, langSindhi = 62, langTibetan = 63, langNepali = 64, langSanskrit = 65, langMarathi = 66, langBengali = 67, langAssamese = 68, langGujarati = 69, langPunjabi = 70 } enum { langOriya = 71, langMalayalam = 72, langKannada = 73, langTamil = 74, langTelugu = 75, langSinhalese = 76, langBurmese = 77, langKhmer = 78, langLao = 79, langVietnamese = 80, langIndonesian = 81, langTagalog = 82, langMalayRoman = 83, langMalayArabic = 84, langAmharic = 85, langTigrinya = 86, langOromo = 87, langSomali = 88, langSwahili = 89, langKinyarwanda = 90, langRuanda = 90, langRundi = 91, langNyanja = 92, langChewa = 92, langMalagasy = 93, langEsperanto = 94 } enum { langWelsh = 128, langBasque = 129, langCatalan = 130, langLatin = 131, langQuechua = 132, langGuarani = 133, langAymara = 134, langTatar = 135, langUighur = 136, langDzongkha = 137, langJavaneseRom = 138, langSundaneseRom = 139, langGalician = 140, langAfrikaans = 141 } enum { langBreton = 142, langInuktitut = 143, langScottishGaelic = 144, langManxGaelic = 145, langIrishGaelicScript = 146, langTongan = 147, langGreekAncient = 148, langGreenlandic = 149, langAzerbaijanRoman = 150, langNynorsk = 151 } enum { langUnspecified = 32767 } enum { langPortugese = 8, langMalta = 16, langYugoslavian = 18, langChinese = 19, langLettish = 28, langLapponian = 29, langLappish = 29, langSaamisk = 29, langFaeroese = 30, langIrish = 35, langGalla = 87, langAfricaans = 141, langGreekPoly = 148 } enum { verUS = 0, verFrance = 1, verBritain = 2, verGermany = 3, verItaly = 4, verNetherlands = 5, verFlemish = 6, verSweden = 7, verSpain = 8, verDenmark = 9, verPortugal = 10, verFrCanada = 11, verNorway = 12, verIsrael = 13, verJapan = 14, verAustralia = 15, verArabic = 16, verFinland = 17, verFrSwiss = 18, verGrSwiss = 19, verGreece = 20, verIceland = 21, verMalta = 22, verCyprus = 23, verTurkey = 24, verYugoCroatian = 25 } enum { verNetherlandsComma = 26, verFlemishPoint = 27, verCanadaComma = 28, verCanadaPoint = 29, vervariantPortugal = 30, vervariantNorway = 31, vervariantDenmark = 32 } enum { verIndiaHindi = 33, verPakistanUrdu = 34, verTurkishModified = 35, verItalianSwiss = 36, verInternational = 37, verRomania = 39, verGreekAncient = 40, verLithuania = 41, verPoland = 42, verHungary = 43, verEstonia = 44, verLatvia = 45, verSami = 46, verFaroeIsl = 47, verIran = 48, verRussia = 49, verIreland = 50, verKorea = 51, verChina = 52, verTaiwan = 53, verThailand = 54, verScriptGeneric = 55, verCzech = 56, verSlovak = 57, verEastAsiaGeneric = 58, verMagyar = 59, verBengali = 60, verBelarus = 61 } enum { verUkraine = 62, verGreeceAlt = 64, verSerbian = 65, verSlovenian = 66, verMacedonian = 67, verCroatia = 68, verGermanReformed = 70, verBrazil = 71, verBulgaria = 72, verCatalonia = 73, verMultilingual = 74, verScottishGaelic = 75, verManxGaelic = 76, verBreton = 77, verNunavut = 78, verWelsh = 79, verIrishGaelicScript = 81, verEngCanada = 82, verBhutan = 83, verArmenian = 84, verGeorgian = 85, verSpLatinAmerica = 86, verTonga = 88, verFrenchUniversal = 91, verAustria = 92, verGujarati = 94, verPunjabi = 95, verIndiaUrdu = 96, verVietnam = 97 } enum { verFrBelgium = 98, verUzbek = 99, verSingapore = 100, verNynorsk = 101, verAfrikaans = 102, verEsperanto = 103, verMarathi = 104, verTibetan = 105, verNepal = 106, verGreenland = 107, verIrelandEnglish = 108 } enum { verFrBelgiumLux = 6, verBelgiumLux = 6, verArabia = 16, verYugoslavia = 25, verBelgiumLuxPoint = 27, verIndia = 33, verPakistan = 34, verRumania = 39, verGreecePoly = 40, verLapland = 46, verFaeroeIsl = 47, verGenericFE = 58, verFarEastGeneric = 58, verByeloRussian = 61, verUkrania = 62, verAlternateGr = 64, verSerbia = 65, verSlovenia = 66, verMacedonia = 67, verBrittany = 77, verWales = 79, verArmenia = 84, verGeorgia = 85, verAustriaGerman = 92, verTibet = 105 } enum { minCountry = verUS, maxCountry = verIrelandEnglish } enum { calGregorian = 0, calArabicCivil = 1, calArabicLunar = 2, calJapanese = 3, calJewish = 4, calCoptic = 5, calPersian = 6 } enum { intWestern = 0, intArabic = 1, intRoman = 2, intJapanese = 3, intEuropean = 4, intOutputMask = 0x8000 } enum { smSingleByte = 0, smFirstByte = -1, smLastByte = 1, smMiddleByte = 2 } enum { smcTypeMask = 0x000F, smcReserved = 0x00F0, smcClassMask = 0x0F00, smcOrientationMask = 0x1000, smcRightMask = 0x2000, smcUpperMask = 0x4000, smcDoubleMask = 0x8000 } enum { smCharPunct = 0x0000, smCharAscii = 0x0001, smCharEuro = 0x0007, smCharExtAscii = 0x0007, smCharKatakana = 0x0002, smCharHiragana = 0x0003, smCharIdeographic = 0x0004, smCharTwoByteGreek = 0x0005, smCharTwoByteRussian = 0x0006, smCharBidirect = 0x0008, smCharContextualLR = 0x0009, smCharNonContextualLR = 0x000A, smCharHangul = 0x000C, smCharJamo = 0x000D, smCharBopomofo = 0x000E, smCharGanaKana = 0x000F, smCharFISKana = 0x0002, smCharFISGana = 0x0003, smCharFISIdeo = 0x0004 } enum { smCharFISGreek = 0x0005, smCharFISRussian = 0x0006, smPunctNormal = 0x0000, smPunctNumber = 0x0100, smPunctSymbol = 0x0200, smPunctBlank = 0x0300, smPunctRepeat = 0x0400, smPunctGraphic = 0x0500, smKanaSmall = 0x0100, smKanaHardOK = 0x0200, smKanaSoftOK = 0x0300, smIdeographicLevel1 = 0x0000, smIdeographicLevel2 = 0x0100, smIdeographicUser = 0x0200, smFISClassLvl1 = 0x0000, smFISClassLvl2 = 0x0100, smFISClassUser = 0x0200, smJamoJaeum = 0x0000, smJamoBogJaeum = 0x0100, smJamoMoeum = 0x0200, smJamoBogMoeum = 0x0300 } enum { smCharHorizontal = 0x0000, smCharVertical = 0x1000, smCharLeft = 0x0000, smCharRight = 0x2000, smCharLower = 0x0000, smCharUpper = 0x4000, smChar1byte = 0x0000, smChar2byte = 0x8000 } enum { smTransAscii = 0, smTransNative = 1, smTransCase = 0xFE, smTransSystem = 0xFF, smTransAscii1 = 2, smTransAscii2 = 3, smTransKana1 = 4, smTransKana2 = 5 } enum { smTransGana2 = 7, smTransHangul2 = 8, smTransJamo2 = 9, smTransBopomofo2 = 10, smTransLower = 0x4000, smTransUpper = 0x8000, smTransRuleBaseFormat = 1, smTransHangulFormat = 2, smTransPreDoubleByting = 1, smTransPreLowerCasing = 2 } enum { smMaskAll = cast(c_long)0xFFFFFFFF, smMaskAscii = 0x00000001, smMaskNative = 0x00000002, smMaskAscii1 = 0x00000004, smMaskAscii2 = 0x00000008, smMaskKana1 = 0x00000010, smMaskKana2 = 0x00000020, smMaskGana2 = 0x00000080, smMaskHangul2 = 0x00000100, smMaskJamo2 = 0x00000200, smMaskBopomofo2 = 0x00000400 } enum { iuSystemScript = -1, iuCurrentScript = -2 } enum { smKeyNextScript = -1, smKeySysScript = -2, smKeySwapScript = -3, smKeyNextKybd = -4, smKeySwapKybd = -5, smKeyDisableKybds = -6, smKeyEnableKybds = -7, smKeyToggleInline = -8, smKeyToggleDirection = -9, smKeyNextInputMethod = -10, smKeySwapInputMethod = -11, smKeyDisableKybdSwitch = -12, smKeySetDirLeftRight = -15, smKeySetDirRightLeft = -16, smKeyRoman = -17 } enum { smKeyForceKeyScriptBit = 7, smKeyForceKeyScriptMask = 1 << smKeyForceKeyScriptBit } enum { romanSysFond = 0x3FFF, romanAppFond = 3, romanFlags = 0x0007, smFondStart = 0x4000, smFondEnd = 0xC000, smUprHalfCharSet = 0x80 } enum { diaeresisUprY = 0xD9, fraction = 0xDA, intlCurrency = 0xDB, leftSingGuillemet = 0xDC, rightSingGuillemet = 0xDD, fiLigature = 0xDE, flLigature = 0xDF, dblDagger = 0xE0, centeredDot = 0xE1, baseSingQuote = 0xE2, baseDblQuote = 0xE3, perThousand = 0xE4, circumflexUprA = 0xE5, circumflexUprE = 0xE6, acuteUprA = 0xE7, diaeresisUprE = 0xE8, graveUprE = 0xE9, acuteUprI = 0xEA, circumflexUprI = 0xEB, diaeresisUprI = 0xEC, graveUprI = 0xED, acuteUprO = 0xEE, circumflexUprO = 0xEF, appleLogo = 0xF0, graveUprO = 0xF1, acuteUprU = 0xF2, circumflexUprU = 0xF3, graveUprU = 0xF4, dotlessLwrI = 0xF5, circumflex = 0xF6, tilde = 0xF7, macron = 0xF8, breveMark = 0xF9, overDot = 0xFA, ringMark = 0xFB, cedilla = 0xFC, doubleAcute = 0xFD, ogonek = 0xFE, hachek = 0xFF } enum { tokenIntl = 4, tokenEmpty = -1 } enum { tokenUnknown = 0, tokenWhite = 1, tokenLeftLit = 2, tokenRightLit = 3, tokenAlpha = 4, tokenNumeric = 5, tokenNewLine = 6, tokenLeftComment = 7, tokenRightComment = 8, tokenLiteral = 9, tokenEscape = 10, tokenAltNum = 11, tokenRealNum = 12, tokenAltReal = 13, tokenReserve1 = 14, tokenReserve2 = 15, tokenLeftParen = 16, tokenRightParen = 17, tokenLeftBracket = 18, tokenRightBracket = 19 } enum { tokenLeftCurly = 20, tokenRightCurly = 21, tokenLeftEnclose = 22, tokenRightEnclose = 23, tokenPlus = 24, tokenMinus = 25, tokenAsterisk = 26, tokenDivide = 27, tokenPlusMinus = 28, tokenSlash = 29, tokenBackSlash = 30, tokenLess = 31, tokenGreat = 32, tokenEqual = 33, tokenLessEqual2 = 34, tokenLessEqual1 = 35, tokenGreatEqual2 = 36, tokenGreatEqual1 = 37, token2Equal = 38, tokenColonEqual = 39 } enum { tokenNotEqual = 40, tokenLessGreat = 41, tokenExclamEqual = 42, tokenExclam = 43, tokenTilde = 44, tokenComma = 45, tokenPeriod = 46, tokenLeft2Quote = 47, tokenRight2Quote = 48, tokenLeft1Quote = 49, tokenRight1Quote = 50, token2Quote = 51, token1Quote = 52, tokenSemicolon = 53, tokenPercent = 54, tokenCaret = 55, tokenUnderline = 56, tokenAmpersand = 57, tokenAtSign = 58, tokenBar = 59 } enum { tokenQuestion = 60, tokenPi = 61, tokenRoot = 62, tokenSigma = 63, tokenIntegral = 64, tokenMicro = 65, tokenCapPi = 66, tokenInfinity = 67, tokenColon = 68, tokenHash = 69, tokenDollar = 70, tokenNoBreakSpace = 71, tokenFraction = 72, tokenIntlCurrency = 73, tokenLeftSingGuillemet = 74, tokenRightSingGuillemet = 75, tokenPerThousand = 76, tokenEllipsis = 77, tokenCenterDot = 78, tokenNil = 127 } enum { delimPad = -2, tokenTilda = 44, tokenCarat = 55 } enum { smWordSelectTable = 0, smWordWrapTable = 1, smNumberPartsTable = 2, smUnTokenTable = 3, smWhiteSpaceList = 4, iuWordSelectTable = 0, iuWordWrapTable = 1, iuNumberPartsTable = 2, iuUnTokenTable = 3, iuWhiteSpaceList = 4 } enum { tokenOK = 0, tokenOverflow = 1, stringOverflow = 2, badDelim = 3, badEnding = 4, crash = 5 } enum { smNotInstalled = 0, smBadVerb = -1, smBadScript = -2 } enum { smfShowIcon = 31, smfDualCaret = 30, smfNameTagEnab = 29, smfUseAssocFontInfo = 28, smfDisableKeyScriptSync = 27 } enum { smfDisableKeyScriptSyncMask = 1L << smfDisableKeyScriptSync } enum { smSysScript = 18, smKeyScript = 22, smKCHRCache = 38, smRegionCode = 40 } enum { smsfIntellCP = 0, smsfSingByte = 1, smsfNatCase = 2, smsfContext = 3, smsfNoForceFont = 4, smsfB0Digits = 5, smsfAutoInit = 6, smsfUnivExt = 7, smsfSynchUnstyledTE = 8, smsfForms = 13, smsfLigatures = 14, smsfReverse = 15 } struct TokenRec { short theToken; char* position; int length; char* stringPosition; } struct TokenBlock { char* source; int sourceLength; char* tokenList; int tokenLength; int tokenCount; char* stringList; int stringLength; int stringCount; ubyte doString; ubyte doAppend; ubyte doAlphanumeric; ubyte doNest; ScriptTokenType* leftDelims; ScriptTokenType* rightDelims; ScriptTokenType* leftComment; ScriptTokenType* rightComment; short escapeCode; short decimalCode; Handle itlResource; long* reserved; } extern (C) { int GetScriptManagerVariable (short selector); short SetScriptManagerVariable (short selector, int param); }