257 references to DirectionClass
PresentationCore (257)
Core\CSharp\MS\Internal\TextFormatting\Bidi.cs (225)
84CharProperty = new byte[6, (int) DirectionClass.ClassMax - 1] 95ClassToState = new StateMachineState[(int) DirectionClass.ClassMax] 126FastPathClass = new byte[(int) DirectionClass.ClassMax] 504ref DirectionClass strongClass, 505ref DirectionClass numberClass) 508DirectionClass currentClass; 526if (currentClass == DirectionClass.ParagraphSeparator) 533if (numberClass == DirectionClass.ClassInvalid ) 538if (currentClass != DirectionClass.EuropeanNumber) 563NumberClass = DirectionClass.Left; 564StrongCharClass = DirectionClass.Left; 573public virtual DirectionClass LastStrongClass 582public virtual DirectionClass LastNumberClass 622protected DirectionClass NumberClass; 626protected DirectionClass StrongCharClass; 652ref DirectionClass strongClass) 654DirectionClass currentClass = DirectionClass.ClassInvalid; 670if (CharProperty[0, (int) currentClass]==1 || currentClass == DirectionClass.ParagraphSeparator) 686IList<DirectionClass> characterClass, // [IN / OUT] 689DirectionClass startClass, // [IN] 690DirectionClass endClass, // [IN] 694DirectionClass startType; 695DirectionClass endType; 696DirectionClass resolutionType; 705Debug.Assert(CharProperty[1, (int) startClass]==1 || (startClass == DirectionClass.ArabicLetter), 710startType = ((startClass == DirectionClass.EuropeanNumber) || 711(startClass == DirectionClass.ArabicNumber) || 712(startClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : startClass; 714endType = ((endClass == DirectionClass.EuropeanNumber) || 715(endClass == DirectionClass.ArabicNumber) || 716(endClass == DirectionClass.ArabicLetter)) ? DirectionClass.Right : endClass; 724resolutionType = Helper.IsOdd(runLevel) ? DirectionClass.Right : DirectionClass.Left; 741IList<DirectionClass> characterClass, // [IN / OUT] 744DirectionClass newClass // [IN] 763IList<DirectionClass> characterClass, // [IN / OUT] 766DirectionClass sor, // [IN] 767DirectionClass eor, // [IN] 777DirectionClass lastClass = DirectionClass.ClassInvalid; 778DirectionClass lastStrongClass = DirectionClass.ClassInvalid; 779DirectionClass lastNumericClass = DirectionClass.ClassInvalid; 780DirectionClass startingClass = DirectionClass.ClassInvalid; 781DirectionClass currentClass = DirectionClass.ClassInvalid; 796if (stateIn.LastNumberClass != DirectionClass.ClassInvalid) 810startingClass = DirectionClass.ArabicLetter; 873if (currentClass == DirectionClass.ArabicLetter) 875characterClass[counter + classIndex] = DirectionClass.Right; 885ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 892if ((currentClass != DirectionClass.ArabicNumber) || 893((currentClass == DirectionClass.ArabicNumber) && 894(lastStrongClass == DirectionClass.Right))) 899if ((currentClass == DirectionClass.ArabicNumber) && 900(lastStrongClass == DirectionClass.Left)) 923if (currentClass == DirectionClass.ArabicLetter) 925characterClass[counter + classIndex] = DirectionClass.Right; 931ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 937if ((currentClass != DirectionClass.ArabicNumber) || 938((currentClass == DirectionClass.ArabicNumber) && 939(lastStrongClass == DirectionClass.Right))) 944if ((currentClass == DirectionClass.ArabicNumber) && 945(lastStrongClass == DirectionClass.Left)) 969if (currentClass == DirectionClass.ArabicLetter) 972characterClass[counter + classIndex] = DirectionClass.Right; 975if (((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic) && 976((currentClass == DirectionClass.EuropeanNumber && (flags & Flags.OverrideEuropeanNumberResolution) == 0) || 977(currentClass == DirectionClass.ArabicNumber))) 980characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 986if (characterClass[i + classIndex] != DirectionClass.CommonSeparator && 987characterClass[i + classIndex] != DirectionClass.BoundaryNeutral) 993if (characterClass[i + classIndex] == DirectionClass.CommonSeparator ) 1011else if ((lastStrongClass == DirectionClass.Left) && 1012(currentClass == DirectionClass.EuropeanNumber)) 1015characterClass[counter + classIndex] = DirectionClass.Left; 1025ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1032if ((currentClass != DirectionClass.ArabicNumber) || 1033((currentClass == DirectionClass.ArabicNumber) && 1034(lastStrongClass == DirectionClass.Right))) 1036if (!(((lastStrongClass == DirectionClass.Left) || 1037(lastStrongClass == DirectionClass.ArabicLetter)) && 1038(currentClass == DirectionClass.EuropeanNumber))) 1044if ((currentClass == DirectionClass.ArabicNumber) && 1045(lastStrongClass == DirectionClass.Left)) 1056if (characterClass[counter + classIndex] == DirectionClass.ArabicNumber) 1058currentClass = DirectionClass.ArabicNumber; 1069if (currentClass == DirectionClass.ArabicLetter) 1071characterClass[counter + classIndex] = DirectionClass.Right; 1077ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1083if ((currentClass != DirectionClass.ArabicNumber) || 1084((currentClass == DirectionClass.ArabicNumber) && 1085(lastStrongClass == DirectionClass.Right))) 1090if ((currentClass == DirectionClass.ArabicNumber) && 1091(lastStrongClass == DirectionClass.Left)) 1109((lastStrongClass == DirectionClass.ArabicLetter) || 1114characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1115currentClass = DirectionClass.ArabicNumber; 1117else if (lastStrongClass == DirectionClass.Left) 1120characterClass[counter + classIndex] = DirectionClass.Left; 1126ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1177lastClass = DirectionClass.GenericNeutral; 1193lastClass = DirectionClass.GenericNeutral; 1220lastClass = DirectionClass.GenericNeutral; 1228Debug.Assert(lastClass == DirectionClass.EuropeanTerminator, 1256if (!((lastStrongClass == DirectionClass.ArabicLetter) || previousClassIsArabic)) 1258if (lastStrongClass == DirectionClass.Left) 1260characterClass[counter + classIndex] = DirectionClass.Left; 1264characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1274lastClass = DirectionClass.EuropeanNumber; 1280(characterClass[counter + 1 + classIndex] == DirectionClass.EuropeanSeparator|| 1281characterClass[counter + 1 + classIndex] == DirectionClass.CommonSeparator)) 1283characterClass[counter + 1 + classIndex] = DirectionClass.GenericNeutral; 1313if ((lastStrongClass == DirectionClass.ArabicLetter) || 1318characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1321else if (lastStrongClass == DirectionClass.Left) 1323characterClass[counter + classIndex] = DirectionClass.Left; 1345if (lastStrongClass == DirectionClass.Left) 1347characterClass[counter + classIndex] = DirectionClass.Left; 1357ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1373(lastStrongClass == DirectionClass.ArabicLetter || previousClassIsArabic) 1377characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1378currentClass = DirectionClass.ArabicNumber; 1380else if (lastStrongClass == DirectionClass.Left) 1382characterClass[counter + classIndex] = DirectionClass.Left; 1392ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1399if ( (currentClass == DirectionClass.ArabicNumber) && 1400(lastStrongClass == DirectionClass.Left)) 1421characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1438ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1453if ((lastStrongClass == DirectionClass.ArabicLetter) || 1459characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1460currentClass = DirectionClass.ArabicNumber; 1468ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1477ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1482else if (lastStrongClass == DirectionClass.Left) 1484characterClass[counter + classIndex] = DirectionClass.Left; 1496ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1507DirectionClass.EuropeanNumber); 1514ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1533if ((lastStrongClass == DirectionClass.ArabicLetter)) 1535if (lastClass == DirectionClass.EuropeanNumber) 1542characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1547characterClass[counter + classIndex] = DirectionClass.EuropeanNumber; 1550else if (lastClass != DirectionClass.ArabicNumber) 1553characterClass[counter + classIndex] = DirectionClass.Right; 1558characterClass[counter + classIndex] = DirectionClass.ArabicNumber; 1564|| lastClass == DirectionClass.ArabicNumber ? 1565DirectionClass.ArabicNumber : 1566lastClass==DirectionClass.EuropeanNumber && 1567lastStrongClass != DirectionClass.Left 1568? DirectionClass.EuropeanNumber : lastStrongClass; 1657ArabicNumberAfterLeft ? DirectionClass.ArabicNumber : lastStrongClass, 1666IList<DirectionClass> characterClass, // [IN / OUT] 1698DirectionClass directionClass; 1701if (directionClass == DirectionClass.ParagraphSeparator || 1702directionClass == DirectionClass.SegmentSeparator) 1738DirectionClass[] characterClass = new DirectionClass[cchText]; 1750new PartialArray<DirectionClass>(characterClass), 1763IList<DirectionClass> characterClass, // [IN/OUT] direction class of each char 1767DirectionClass tempClass; 1879if (DirectionClass.ParagraphSeparator != Classification.CharAttributeOf((int) Classification.GetUnicodeClass(codePoint)).BiDi) 1905case DirectionClass.Left: 1906case DirectionClass.Right: 1907case DirectionClass.ArabicNumber: 1908case DirectionClass.ArabicLetter: 1913case DirectionClass.EuropeanNumber: 1950DirectionClass firstStrong = DirectionClass.ClassInvalid; 1954if (firstStrong != DirectionClass.Left) 1983DirectionClass lastStrongClass; 1993lastStrongClass = DirectionClass.Right; 2003lastStrongClass = DirectionClass.Left; 2020DirectionClass hiddenCharClass = DirectionClass.GenericNeutral; 2038if ( hiddenCharClass == DirectionClass.EuropeanNumber 2070if (tempClass != DirectionClass.EuropeanSeparator && tempClass != DirectionClass.CommonSeparator) 2071characterClass[counter] = DirectionClass.GenericNeutral; 2179DirectionClass currentClass; 2192case DirectionClass.ParagraphSeparator: 2207goto case DirectionClass.OtherNeutral; 2213case DirectionClass.SegmentSeparator: 2214case DirectionClass.WhiteSpace: 2215case DirectionClass.OtherNeutral: 2216characterClass[counter] = DirectionClass.GenericNeutral; 2218if (counter>0 && characterClass[counter-1] == DirectionClass.BoundaryNeutral) 2229case DirectionClass.LeftToRightEmbedding: 2230case DirectionClass.RightToLeftEmbedding: 2231characterClass[counter] = DirectionClass.BoundaryNeutral; 2239if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightEmbedding ? true : false)) 2258case DirectionClass.LeftToRightOverride: 2259case DirectionClass.RightToLeftOverride: 2260characterClass[counter] = DirectionClass.BoundaryNeutral; 2265if(!levelsStack.Push(currentClass == DirectionClass.LeftToRightOverride ? true : false)) 2275overrideClass = (currentClass == DirectionClass.LeftToRightOverride) ? 2288case DirectionClass.PopDirectionalFormat: 2289characterClass[counter] = DirectionClass.BoundaryNeutral; 2333if ( currentClass == DirectionClass.EuropeanNumber 2339Invariant.Assert(characterClass[counter] == DirectionClass.ArabicNumber || characterClass[counter] == DirectionClass.EuropeanNumber); 2350DirectionClass.Left : DirectionClass.Right; 2353if (counter>0 && characterClass[counter-1]==DirectionClass.BoundaryNeutral) 2400DirectionClass sor; 2401DirectionClass eor; 2431DirectionClass.Right : DirectionClass.Left; 2436DirectionClass.Right : DirectionClass.Left; 2446DirectionClass.Right : DirectionClass.Left; 2455characterClass[runLimits[runNumber]] == DirectionClass.BoundaryNeutral) 2461DirectionClass.Right : DirectionClass.Left; 2519state.LastStrongClass = DirectionClass.Right; 2520state.LastNumberClass = DirectionClass.Right; 2525state.LastStrongClass = DirectionClass.Left; 2526state.LastNumberClass = DirectionClass.Left;
Core\CSharp\MS\Internal\TextFormatting\SimpleTextLine.cs (1)
1975return Classification.CharAttributeOf(charClass).BiDi == DirectionClass.WhiteSpace;
Core\CSharp\MS\Internal\TextFormatting\TextStore.cs (30)
916DirectionClass[] directionClasses = new DirectionClass[stringLength]; 943DirectionClass europeanNumberOverride = _bidiState.GetEuropeanNumberClassOverride(culture); 990new PartialArray<DirectionClass>(directionClasses, resolvedLength, ich - resolvedLength), 2535NumberClass = DirectionClass.ClassInvalid; 2536StrongCharClass = DirectionClass.ClassInvalid; 2571LastStrongClass = DirectionClass.Left; 2572LastNumberClass = DirectionClass.Left; 2576LastStrongClass = DirectionClass.ArabicLetter; 2577LastNumberClass = DirectionClass.ArabicNumber; 2590public override DirectionClass LastNumberClass 2594if (this.NumberClass == DirectionClass.ClassInvalid ) 2609public override DirectionClass LastStrongClass 2613if (this.StrongCharClass == DirectionClass.ClassInvalid) 2633DirectionClass strongClass = DirectionClass.ClassInvalid; 2634DirectionClass numberClass = DirectionClass.ClassInvalid; 2660if (strongClass != DirectionClass.ClassInvalid) 2664if (this.NumberClass == DirectionClass.ClassInvalid) 2666if (numberClass == DirectionClass.EuropeanNumber) 2691if(strongClass == DirectionClass.ClassInvalid) 2693this.StrongCharClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicLetter; 2696if(numberClass == DirectionClass.ClassInvalid) 2698this.NumberClass = ((CurrentLevel & 1) == 0) ? DirectionClass.Left : DirectionClass.ArabicNumber; 2745internal DirectionClass GetEuropeanNumberClassOverride(CultureInfo cultureInfo) 2754return DirectionClass.ArabicNumber; 2757return DirectionClass.EuropeanNumber;
Core\CSharp\MS\Internal\UnicodeClasses.cs (1)
179internal DirectionClass BiDi;