257 references to DirectionClass
PresentationCore (257)
MS\Internal\TextFormatting\Bidi.cs (225)
65CharProperty = new byte[6, (int) DirectionClass.ClassMax - 1] 76ClassToState = new StateMachineState[(int) DirectionClass.ClassMax] 107FastPathClass = new byte[(int) DirectionClass.ClassMax] 484ref DirectionClass strongClass, 485ref DirectionClass numberClass) 488DirectionClass currentClass; 506if (currentClass == DirectionClass.ParagraphSeparator) 513if (numberClass == DirectionClass.ClassInvalid ) 518if (currentClass != DirectionClass.EuropeanNumber) 542NumberClass = DirectionClass.Left; 543StrongCharClass = DirectionClass.Left; 552public virtual DirectionClass LastStrongClass 561public virtual DirectionClass LastNumberClass 601protected DirectionClass NumberClass; 605protected DirectionClass StrongCharClass; 631ref DirectionClass strongClass) 633DirectionClass currentClass = DirectionClass.ClassInvalid; 649if (CharProperty[0, (int) currentClass]==1 || currentClass == DirectionClass.ParagraphSeparator) 665IList<DirectionClass> characterClass, // [IN / OUT] 668DirectionClass startClass, // [IN] 669DirectionClass endClass, // [IN] 673DirectionClass startType; 674DirectionClass endType; 675DirectionClass resolutionType; 684Debug.Assert(CharProperty[1, (int) startClass]==1 || (startClass == DirectionClass.ArabicLetter), 689startType = ((startClass == DirectionClass.EuropeanNumber) || 690(startClass == DirectionClass.ArabicNumber) || 691(startClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : startClass; 693endType = ((endClass == DirectionClass.EuropeanNumber) || 694(endClass == DirectionClass.ArabicNumber) || 695(endClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : endClass; 703resolutionType = Helper.IsOdd(runLevel) ? DirectionClass.Right : DirectionClass.Left; 720IList<DirectionClass> characterClass, // [IN / OUT] 723DirectionClass newClass // [IN] 742IList<DirectionClass> characterClass, // [IN / OUT] 745DirectionClass sor, // [IN] 746DirectionClass eor, // [IN] 756DirectionClass lastClass = DirectionClass.ClassInvalid; 757DirectionClass lastStrongClass = DirectionClass.ClassInvalid; 758DirectionClass lastNumericClass = DirectionClass.ClassInvalid; 759DirectionClass startingClass = DirectionClass.ClassInvalid; 760DirectionClass currentClass = DirectionClass.ClassInvalid; 775if (stateIn.LastNumberClass != DirectionClass.ClassInvalid) 788startingClass = DirectionClass.ArabicLetter; 851if (currentClass == DirectionClass.ArabicLetter) 853characterClass[counter + classIndex] = DirectionClass.Right; 863ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 870if ((currentClass != DirectionClass.ArabicNumber) || 871((currentClass == DirectionClass.ArabicNumber) && 872(lastStrongClass == DirectionClass.Right))) 877if ((currentClass == DirectionClass.ArabicNumber) && 878(lastStrongClass == DirectionClass.Left)) 901if (currentClass == DirectionClass.ArabicLetter) 903characterClass[counter + classIndex] = DirectionClass.Right; 909ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 915if ((currentClass != DirectionClass.ArabicNumber) || 916((currentClass == DirectionClass.ArabicNumber) && 917(lastStrongClass == DirectionClass.Right))) 922if ((currentClass == DirectionClass.ArabicNumber) && 923(lastStrongClass == DirectionClass.Left)) 947if (currentClass == DirectionClass.ArabicLetter) 950characterClass[counter + classIndex] = DirectionClass.Right; 953if (((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic) && 954((currentClass == DirectionClass.EuropeanNumber && (flags & Flags.OverrideEuropeanNumberResolution) == 0) || 955(currentClass == DirectionClass.ArabicNumber))) 958characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 964if (characterClass[i + classIndex] != DirectionClass.CommonSeparator && 965characterClass[i + classIndex] != DirectionClass.BoundaryNeutral) 971if (characterClass[i + classIndex] == DirectionClass.CommonSeparator ) 988else if ((lastStrongClass == DirectionClass.Left) && 989(currentClass == DirectionClass.EuropeanNumber)) 992characterClass[counter + classIndex] = DirectionClass.Left; 1002ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1009if ((currentClass != DirectionClass.ArabicNumber) || 1010((currentClass == DirectionClass.ArabicNumber) && 1011(lastStrongClass == DirectionClass.Right))) 1013if (!(((lastStrongClass == DirectionClass.Left) || 1014(lastStrongClass == DirectionClass.ArabicLetter)) && 1015(currentClass == DirectionClass.EuropeanNumber))) 1021if ((currentClass == DirectionClass.ArabicNumber) && 1022(lastStrongClass == DirectionClass.Left)) 1033if (characterClass[counter + classIndex] == DirectionClass.ArabicNumber) 1035currentClass = DirectionClass.ArabicNumber; 1046if (currentClass == DirectionClass.ArabicLetter) 1048characterClass[counter + classIndex] = DirectionClass.Right; 1054ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1060if ((currentClass != DirectionClass.ArabicNumber) || 1061((currentClass == DirectionClass.ArabicNumber) && 1062(lastStrongClass == DirectionClass.Right))) 1067if ((currentClass == DirectionClass.ArabicNumber) && 1068(lastStrongClass == DirectionClass.Left)) 1086((lastStrongClass == DirectionClass.ArabicLetter) || 1091characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1092currentClass = DirectionClass.ArabicNumber; 1094else if (lastStrongClass == DirectionClass.Left) 1097characterClass[counter + classIndex] = DirectionClass.Left; 1103ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1154lastClass = DirectionClass.GenericNeutral; 1170lastClass = DirectionClass.GenericNeutral; 1197lastClass = DirectionClass.GenericNeutral; 1205Debug.Assert(lastClass == DirectionClass.EuropeanTerminator, 1233if (!((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic)) 1235if (lastStrongClass == DirectionClass.Left) 1237characterClass[counter + classIndex] = DirectionClass.Left; 1241characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1251lastClass = DirectionClass.EuropeanNumber; 1257(characterClass[counter + 1 + classIndex] == DirectionClass.EuropeanSeparator|| 1258characterClass[counter + 1 + classIndex] == DirectionClass.CommonSeparator)) 1260characterClass[counter + 1 + classIndex] = DirectionClass.GenericNeutral; 1290if ((lastStrongClass == DirectionClass.ArabicLetter) || 1295characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1298else if (lastStrongClass == DirectionClass.Left) 1300characterClass[counter + classIndex] = DirectionClass.Left; 1322if (lastStrongClass == DirectionClass.Left) 1324characterClass[counter + classIndex] = DirectionClass.Left; 1334ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1350(lastStrongClass == DirectionClass.ArabicLetter || previousClassIsArabic) 1354characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1355currentClass = DirectionClass.ArabicNumber; 1357else if (lastStrongClass == DirectionClass.Left) 1359characterClass[counter + classIndex] = DirectionClass.Left; 1369ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1376if ( (currentClass == DirectionClass.ArabicNumber) && 1377(lastStrongClass == DirectionClass.Left)) 1398characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1415ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1430if ((lastStrongClass == DirectionClass.ArabicLetter) || 1436characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1437currentClass = DirectionClass.ArabicNumber; 1445ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1454ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1459else if (lastStrongClass == DirectionClass.Left) 1461characterClass[counter + classIndex] = DirectionClass.Left; 1473ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1484DirectionClass.EuropeanNumber); 1491ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1510if ((lastStrongClass == DirectionClass.ArabicLetter)) 1512if (lastClass == DirectionClass.EuropeanNumber) 1519characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1524characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1527else if (lastClass != DirectionClass.ArabicNumber) 1530characterClass[counter + classIndex] = DirectionClass.Right; 1535characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1541|| lastClass == DirectionClass.ArabicNumber ? 1542DirectionClass.ArabicNumber : 1543lastClass==DirectionClass.EuropeanNumber && 1544lastStrongClass != DirectionClass.Left 1545? DirectionClass.EuropeanNumber : lastStrongClass; 1633ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1642IList<DirectionClass> characterClass, // [IN / OUT] 1674DirectionClass directionClass; 1677if (directionClass == DirectionClass.ParagraphSeparator || 1678directionClass == DirectionClass.SegmentSeparator) 1714DirectionClass[] characterClass = new DirectionClass[cchText]; 1726new PartialArray<DirectionClass>(characterClass), 1739IList<DirectionClass> characterClass, // [IN/OUT] direction class of each char 1743DirectionClass tempClass; 1855if (DirectionClass.ParagraphSeparator != Classification.CharAttributeOf((int) Classification.GetUnicodeClass(codePoint)).BiDi) 1880case DirectionClass.Left: 1881case DirectionClass.Right: 1882case DirectionClass.ArabicNumber: 1883case DirectionClass.ArabicLetter: 1888case DirectionClass.EuropeanNumber: 1925DirectionClass firstStrong = DirectionClass.ClassInvalid; 1929if (firstStrong != DirectionClass.Left) 1958DirectionClass lastStrongClass; 1968lastStrongClass = DirectionClass.Right; 1978lastStrongClass = DirectionClass.Left; 1995DirectionClass hiddenCharClass = DirectionClass.GenericNeutral; 2013if ( hiddenCharClass == DirectionClass.EuropeanNumber 2045if (tempClass != DirectionClass.EuropeanSeparator && tempClass != DirectionClass.CommonSeparator) 2046characterClass[counter] = DirectionClass.GenericNeutral; 2153DirectionClass currentClass; 2166case DirectionClass.ParagraphSeparator: 2181goto case DirectionClass.OtherNeutral; 2187case DirectionClass.SegmentSeparator: 2188case DirectionClass.WhiteSpace: 2189case DirectionClass.OtherNeutral: 2190characterClass[counter] = DirectionClass.GenericNeutral; 2192if (counter>0 && characterClass[counter-1] == DirectionClass.BoundaryNeutral) 2203case DirectionClass.LeftToRightEmbedding: 2204case DirectionClass.RightToLeftEmbedding: 2205characterClass[counter] = DirectionClass.BoundaryNeutral; 2213if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightEmbedding ? true : false)) 2232case DirectionClass.LeftToRightOverride: 2233case DirectionClass.RightToLeftOverride: 2234characterClass[counter] = DirectionClass.BoundaryNeutral; 2239if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightOverride ? true : false)) 2249overrideClass = (currentClass == DirectionClass.LeftToRightOverride) ? 2262case DirectionClass.PopDirectionalFormat: 2263characterClass[counter] = DirectionClass.BoundaryNeutral; 2307if ( currentClass == DirectionClass.EuropeanNumber 2313Invariant.Assert(characterClass[counter] == DirectionClass.ArabicNumber || characterClass[counter] == DirectionClass.EuropeanNumber); 2324DirectionClass.Left : DirectionClass.Right; 2327if (counter>0 && characterClass[counter-1]==DirectionClass.BoundaryNeutral) 2374DirectionClass sor; 2375DirectionClass eor; 2405DirectionClass.Right : DirectionClass.Left; 2410DirectionClass.Right : DirectionClass.Left; 2420DirectionClass.Right : DirectionClass.Left; 2429characterClass[runLimits[runNumber]] == DirectionClass.BoundaryNeutral) 2435DirectionClass.Right : DirectionClass.Left; 2492state.LastStrongClass = DirectionClass.Right; 2493state.LastNumberClass = DirectionClass.Right; 2498state.LastStrongClass = DirectionClass.Left; 2499state.LastNumberClass = DirectionClass.Left;
MS\Internal\TextFormatting\SimpleTextLine.cs (1)
1943return Classification.CharAttributeOf(charClass).BiDi == DirectionClass.WhiteSpace;
MS\Internal\TextFormatting\TextStore.cs (30)
889DirectionClass[] directionClasses = new DirectionClass[stringLength]; 916DirectionClass europeanNumberOverride = _bidiState.GetEuropeanNumberClassOverride(culture); 963new PartialArray<DirectionClass>(directionClasses, resolvedLength, ich - resolvedLength), 2509NumberClass = DirectionClass.ClassInvalid; 2510StrongCharClass = DirectionClass.ClassInvalid; 2545LastStrongClass = DirectionClass.Left; 2546LastNumberClass = DirectionClass.Left; 2550LastStrongClass = DirectionClass.ArabicLetter; 2551LastNumberClass = DirectionClass.ArabicNumber; 2564public override DirectionClass LastNumberClass 2568if (this.NumberClass == DirectionClass.ClassInvalid ) 2583public override DirectionClass LastStrongClass 2587if (this.StrongCharClass == DirectionClass.ClassInvalid) 2607DirectionClass strongClass = DirectionClass.ClassInvalid; 2608DirectionClass numberClass = DirectionClass.ClassInvalid; 2634if (strongClass != DirectionClass.ClassInvalid) 2638if (this.NumberClass == DirectionClass.ClassInvalid) 2640if (numberClass == DirectionClass.EuropeanNumber) 2665if(strongClass == DirectionClass.ClassInvalid) 2667this.StrongCharClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicLetter; 2670if(numberClass == DirectionClass.ClassInvalid) 2672this.NumberClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicNumber; 2718internal DirectionClass GetEuropeanNumberClassOverride(CultureInfo cultureInfo) 2727return DirectionClass.ArabicNumber; 2730return DirectionClass.EuropeanNumber;
MS\Internal\UnicodeClasses.cs (1)
182internal DirectionClass BiDi;